summaryrefslogtreecommitdiff
path: root/nest/neighbor.c
AgeCommit message (Collapse)Author
2023-04-04Interface subsystem lockingMaria Matejka
2023-02-02Interface updates are asynchronousMaria Matejka
Instead of propagating interface updates as they are loaded from kernel, they are enqueued and all the notifications are called from a protocol-specific event. This change allows to break the locking loop between protocols and interfaces. Anyway, this change is based on v2 branch to keep the changes between v2 and v3 smaller.
2023-02-02Proto: Adding a list of associated neighborsMaria Matejka
This makes for safer and faster pruning and notifying as protocol now on its shutdown prunes only its neighbors and nothing else.
2023-01-25VRF setting reduced to one argument, using default dummy iface for default vrfMaria Matejka
2022-04-06Slab allocator can free the blocks without knowing the parent structureMaria Matejka
2020-11-24Some minor sl_allocz() cleanupsOndrej Zajicek (work)
2020-05-11Nest: Fix neighbor handling for colliding rangesOndrej Zajicek (work)
Resolve neighbors using longest prefix match. Although interface ranges should not generally collide, it may happen for unnumbered links. Thanks to Kenth Eriksson for the bugreport.
2019-07-24Nest: VRF of protocol can be explicitly specified as 'default'Ondrej Zajicek (work)
Protocol can have specified VRF, in such case it is restricted to a set of ifaces associated with the VRF, otherwise it can use all interfaces. The patch allows to specify VRF as 'default', in which case it is restricted to a set of iface not associated with any VRF.
2018-06-27Nest: Neighbor cache cleanupsOndrej Zajicek (work)
Simplify neighbor cache code, fix several minor bugs, and improve handling of ONLINK flag.
2018-02-07Nest: Trivial whitespace cleanupOndrej Zajicek (work)
2017-12-07Merge commit '7b2c5f3d2826e3175bf31b1c36056c9efc587a2b' into int-newOndrej Zajicek (work)
2017-09-12Nest: VRF support for neighbor cache and olock codeOndrej Zajicek (work)
Actually much simpler than expected.
2017-03-09Nest: Allow iface-only neighborsOndrej Zajicek (work)
2016-05-12Merge remote-tracking branch 'origin/master' into int-newOndrej Zajicek (work)
2016-05-12Prog Doc: Complete several missing parametersPavel Tvrdik
2016-02-01Channels - explicit links between protocols and tablesOndrej Zajicek (work)
The patch adds support for channels, structures connecting protocols and tables and handling most interactions between them. The documentation is missing yet.
2015-12-24Follow-up work on integrationOndrej Zajicek (work)
2015-12-19Removed BITS_PER_IP_ADDRESS, MAX_PREFIX_LENGTH, BIRD_AFJan Moskyto Matejka
Explicit setting of AF_INET(6|) in IP socket creation. BFD set to listen on v6, without setting the V6ONLY flag to catch both v4 and v6 traffic. Squashing and minor changes by Ondrej Santiago Zajicek
2015-12-18Netlink and BSD: Integrating IPv4 and IPv6Jan Moskyto Matejka
Squashing and minor changes by Ondrej Santiago Zajicek
2015-11-12Follow-up commit on integrated BIRDOndrej Zajicek (work)
Use net_addr for interface address prefixes, support net_addr in configuration parser.
2015-06-08unsigned [int] -> uintPavel TvrdĂ­k
2013-12-02Fixes problem with source address selection in BGP and BFD.Ondrej Zajicek
2013-09-26Fixes missing unregister of kernel table handling code.Ondrej Zajicek
And some minor fixes. Thanks to Sergey Popovich for the patch.
2012-08-16Fixes a bug with neighbor cache and overlapping IP prefixes.Ondrej Zajicek
When there are overlapping IP prefixes and one disappears, neighbors associated with it was removed even if there is another covering IP prefix.
2012-01-01Allows sticky link-local neighbors.Ondrej Zajicek
Allows using NEF_STICKY neighbors with link-local addresses. This is used for static route nexthops, they can be specified like fe80::1%eth0 .
2011-12-12Fixes problem with sticky neighbors and iface address changes.Ondrej Zajicek
Thanks Matthias Schiffer for the bugreport and the original patch.
2011-03-28Minor changes in addresses.Ondrej Zajicek
Mainly changes IA_UNNUMBERED to IA_PEER and adds IA_HOST. Also do not show broadcast addr in show interfaces. Nobody cares for that.
2011-01-08Fixes scope for sticky neighbors.Ondrej Zajicek
2010-11-11Adds support for iface link check to static protocol.Ondrej Zajicek
2010-04-28Better support for /31 networks.Ondrej Zajicek
2010-02-26Many changes in (mainly) kernel syncers.Ondrej Zajicek
- BSD kernel syncer is now self-conscious and can learn alien routes - important bugfix in BSD kernel syncer (crash after protocol restart) - many minor changes and bugfixes in kernel syncers and neighbor cache - direct protocol does not generate host and link local routes - min_scope check is removed, all routes have SCOPE_UNIVERSE by default - also fixes some remaining compiler warnings
2009-09-08Temporary OSPFv3 development commit.Ondrej Zajicek
Finally, it is working.
2009-08-28Temporary OSPFv3 development commitOndrej Zajicek
2009-08-27Temporary OSPFv3 development commitOndrej Zajicek
2008-12-08Fixes core state machine.Ondrej Zajicek
The core state machine was broken - it didn't free resources in START -> DOWN transition and might freed resources after UP -> STOP transition before protocol turned down. It leads to deadlock on olock acquisition when lock was not freed during previous stop. The current behavior is that resources, allocated during DOWN -> * transition, are freed in * -> DOWN transition, and flushing (scheduled in UP -> *) just counteract feeding (scheduled in * -> UP). Protocol fell down when both flushing is done (if needed) and protocol reports DOWN. BTW, is thera a reason why neighbour cache item acquired by protocol is not tracked by resource mechanism?
2000-06-07Fixes to the progdoc.Martin Mares
2000-06-01Documented.Martin Mares
2000-06-01Inactive sticky neighbors have no scope.Martin Mares
2000-06-01Modified the neighbor cache to remember local addresses as well.Martin Mares
neighbor->scope now contains proper address scope which is zero (SCOPE_HOST) for local addresses, higher (SCOPE_LINK, ..., SCOPE_UNIVERSE) for remote ones.
2000-05-08Debugged printing and pruning of neighbor cache entries.Martin Mares
2000-04-10Fix stupid bug in neighbor cache.Martin Mares
2000-03-27if_connected() is again private.Martin Mares
Introduced neigh_connected_to() to serve the same purpose efficiently.
2000-03-26if_connected is usefull outside of neighbour cache.Pavel Machek
2000-03-12Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,Martin Mares
several debug() calls converted to DBG().
2000-03-01Reimplemented neighbor cache. Now uses real hashing.Martin Mares