1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

Nest: Fix neighbor handling for colliding ranges

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.
This commit is contained in:
Ondrej Zajicek (work)
2020-05-11 04:29:36 +02:00
parent f7c34aa227
commit b8bbbbaf56
3 changed files with 107 additions and 20 deletions

View File

@@ -123,7 +123,7 @@ void if_recalc_all_preferred_addresses(void);
/* The Neighbor Cache */
typedef struct neighbor {
node n; /* Node in global neighbor list */
node n; /* Node in neighbor hash table chain */
node if_n; /* Node in per-interface neighbor list */
ip_addr addr; /* Address of the neighbor */
struct ifa *ifa; /* Ifa on related iface */
@@ -150,7 +150,8 @@ void neigh_prune(void);
void neigh_if_up(struct iface *);
void neigh_if_down(struct iface *);
void neigh_if_link(struct iface *);
void neigh_ifa_update(struct ifa *);
void neigh_ifa_up(struct ifa *a);
void neigh_ifa_down(struct ifa *a);
void neigh_init(struct pool *);
/*