summaryrefslogtreecommitdiffstats
path: root/nest/iface.h
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>2000-01-19 12:52:32 +0100
committerMartin Mares <mj@ucw.cz>2000-01-19 12:52:32 +0100
commitf5ad9f87a389c1167a8468d0190bcf6d3cc33cf6 (patch)
tree30f8f843d3767ac567bd0e22dd8dae6ae513b537 /nest/iface.h
parent3ea1ba632b3cdb5005a9339fd5e74d5f93631a48 (diff)
downloadbird-f5ad9f87a389c1167a8468d0190bcf6d3cc33cf6.tar
bird-f5ad9f87a389c1167a8468d0190bcf6d3cc33cf6.zip
Killed a couple of bugs in the neighbor cache.
Manual disable/enable/restart/shutdown/reconfiguration of protocols no longer hangs on loops in neighbor lists :)
Diffstat (limited to 'nest/iface.h')
-rw-r--r--nest/iface.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/nest/iface.h b/nest/iface.h
index 64bc6b4..b13ec71 100644
--- a/nest/iface.h
+++ b/nest/iface.h
@@ -35,7 +35,7 @@ struct iface {
unsigned index; /* OS-dependent interface index */
list addrs; /* Addresses assigned to this interface */
struct ifa *addr; /* Primary address */
- struct neighbor *neigh; /* List of neighbors on this interface */
+ list neighbors; /* All neighbors on this interface */
};
#define IF_UP 1 /* IF_LINK_UP and IP address known */
@@ -94,9 +94,9 @@ struct iface *if_find_by_name(char *);
typedef struct neighbor {
node n; /* Node in global neighbor list */
+ node if_n; /* Node in per-interface neighbor list */
ip_addr addr; /* Address of the neighbor */
struct iface *iface; /* Interface it's connected to */
- struct neighbor *sibling; /* Next in per-device chain */
struct proto *proto; /* Protocol this belongs to */
void *data; /* Protocol-specific data */
unsigned aux; /* Protocol-specific data */