diff options
Diffstat (limited to 'lib/if.h')
-rw-r--r-- | lib/if.h | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -182,6 +182,9 @@ struct interface /* Connected address list. */ struct list *connected; + /* Neighbor connected address list. */ + struct list *nbr_connected; + /* Daemon specific interface data pointer. */ void *info; @@ -222,6 +225,7 @@ struct connected u_char flags; #define ZEBRA_IFA_SECONDARY (1 << 0) #define ZEBRA_IFA_PEER (1 << 1) +#define ZEBRA_IFA_UNNUMBERED (1 << 2) /* N.B. the ZEBRA_IFA_PEER flag should be set if and only if a peer address has been configured. If this flag is set, the destination field must contain the peer address. @@ -240,6 +244,16 @@ struct connected char *label; }; +/* Nbr Connected address structure. */ +struct nbr_connected +{ + /* Attached interface. */ + struct interface *ifp; + + /* Address of connected network. */ + struct prefix *address; +}; + /* Does the destination field contain a peer address? */ #define CONNECTED_PEER(C) CHECK_FLAG((C)->flags, ZEBRA_IFA_PEER) @@ -381,6 +395,9 @@ extern struct connected *connected_delete_by_prefix (struct interface *, struct prefix *); extern struct connected *connected_lookup_address (struct interface *, struct in_addr); +extern struct nbr_connected *nbr_connected_new (void); +extern void nbr_connected_free (struct nbr_connected *); +struct nbr_connected *nbr_connected_check (struct interface *, struct prefix *); #ifndef HAVE_IF_NAMETOINDEX extern ifindex_t if_nametoindex (const char *); |