aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/ip-neighbor/ip_neighbor_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/ip-neighbor/ip_neighbor_types.h')
-rw-r--r--src/vnet/ip-neighbor/ip_neighbor_types.h35
1 files changed, 18 insertions, 17 deletions
diff --git a/src/vnet/ip-neighbor/ip_neighbor_types.h b/src/vnet/ip-neighbor/ip_neighbor_types.h
index 82c54177e80..de31705cf9e 100644
--- a/src/vnet/ip-neighbor/ip_neighbor_types.h
+++ b/src/vnet/ip-neighbor/ip_neighbor_types.h
@@ -22,21 +22,6 @@
#include <vnet/ethernet/mac_address.h>
#include <vnet/fib/fib_types.h>
-#define IP_SCAN_DISABLED 0
-#define IP_SCAN_V4_NEIGHBORS (1 << 0)
-#define IP_SCAN_V6_NEIGHBORS (1 << 1)
-#define IP_SCAN_V46_NEIGHBORS (IP_SCAN_V4_NEIGHBORS | IP_SCAN_V6_NEIGHBORS)
-
-typedef struct
-{
- u8 mode; /* 0: disable, 1: ip4, 2: ip6, 3: both */
- u8 scan_interval; /* neighbor scan interval in minutes */
- u8 max_proc_time; /* max processing time per run, in usecs */
- u8 max_update; /* max probe/delete operations per run */
- u8 scan_int_delay; /* delay in msecs, to resume scan on max */
- u8 stale_threshold; /* Threshold in minutes to delete nei entry */
-} ip_neighbor_scan_arg_t;
-
#define foreach_ip_neighbor_flag \
_(STATIC, 1 << 0, "static", "S") \
_(DYNAMIC, 1 << 1, "dynamic", "D") \
@@ -50,12 +35,13 @@ typedef enum ip_neighbor_flags_t_
#define _(a,b,c,d) IP_NEIGHBOR_FLAG_##a = b,
foreach_ip_neighbor_flag
#undef _
-} __attribute__ ((packed)) ip_neighbor_flags_t;
+} __clib_packed ip_neighbor_flags_t;
typedef struct ip_neighbor_watcher_t_
{
u32 ipw_pid;
u32 ipw_client;
+ int ipw_api_version;
} ip_neighbor_watcher_t;
extern u8 *format_ip_neighbor_watcher (u8 * s, va_list * args);
@@ -116,12 +102,27 @@ typedef struct ip_neighbor_learn_t_
u32 sw_if_index;
} ip_neighbor_learn_t;
+
+typedef enum ip_neighbor_event_flags_t_
+{
+ IP_NEIGHBOR_EVENT_ADDED = (1 << 0),
+ IP_NEIGHBOR_EVENT_REMOVED = (1 << 1),
+} ip_neighbor_event_flags_t;
+
typedef struct ip_neighbor_event_t_
{
ip_neighbor_watcher_t ipne_watch;
- index_t ipne_index;
+ ip_neighbor_event_flags_t ipne_flags;
+ ip_neighbor_t ipne_nbr;
} ip_neighbor_event_t;
+extern void ip_neighbor_clone (const ip_neighbor_t * ipn,
+ ip_neighbor_t * clone);
+
+extern void ip_neighbor_free (ip_neighbor_t * ipn);
+
+
+
#endif /* __INCLUDE_IP_NEIGHBOR_H__ */
/*