From 4cc78c5082344f0d237a5cdfb05e53dfd04ffd8b Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Mon, 1 Jun 1998 21:41:11 +0000 Subject: - Rewrote whole interface logic. Removed support for multiple addresses per interface since it makes much trouble everywhere. Instead, we understand secondary addresses as subinterfaces. - In case interface addresses or basic flags change, we simply convert it to a down/up sequence. - Implemented the universal neighbour cache. (Just forget what did previous includes say of neighbour caching, this one is brand new.) --- nest/route.h | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) (limited to 'nest/route.h') diff --git a/nest/route.h b/nest/route.h index 255d31a..f00dded 100644 --- a/nest/route.h +++ b/nest/route.h @@ -13,6 +13,7 @@ #include "lib/timer.h" struct protocol; +struct proto; /* * Generic data structure for storing network prefixes. Also used @@ -60,25 +61,6 @@ void fib_free(struct fib *); /* Destroy the fib */ } \ } while (0) -/* - * Neighbor Cache. We hold (direct neighbor, protocol) pairs we've seen - * along with pointer to protocol-specific data. - * - * The primary goal of this cache is to quickly validate all incoming - * packets if their have been sent by our neighbors and to notify - * protocols about lost neighbors when an interface goes down. - */ - -typedef struct neighbor { - ip_addr addr; /* Address of the neighbor */ - struct next *next; /* Next in hashed chain */ - struct next *sibling; /* Next in per-device chain */ - struct proto *proto; /* Protocol this belongs to */ - void *data; /* Protocol-specific data */ -} neighbor; - -neighbor *neigh_find(ip_addr *); /* NULL if not a neighbor */ - /* * Master Routing Tables. Generally speaking, each of them is a list * of FIB (one per TOS) with each entry pointing to a list of route entries -- cgit v1.2.3