diff options
author | Timo Teräs <timo.teras@iki.fi> | 2016-03-30 13:44:03 +0300 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2016-03-30 14:29:40 +0300 |
commit | 8cb40c91cdfb00ddf04e88d3ecd40403890d90f7 (patch) | |
tree | 6d6a3de27525820abb740f1fa8347b6f03986bad /lib/if.h | |
parent | 86c5d2ee68f7b9c00ae4aeb5c8b3c5d82c5ebffc (diff) | |
download | quagga-8cb40c91cdfb00ddf04e88d3ecd40403890d90f7.tar.bz2 quagga-8cb40c91cdfb00ddf04e88d3ecd40403890d90f7.tar.xz |
cumulus take-3cumulus-take-3
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 *); |