summaryrefslogtreecommitdiffstats
path: root/lib/if.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/if.h')
-rw-r--r--lib/if.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/if.h b/lib/if.h
index b3d14ba4..f71aa1e4 100644
--- a/lib/if.h
+++ b/lib/if.h
@@ -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 *);