ip: Protocol Independent IP Neighbors
Type: feature
- ip-neighbour: generic neighbour handling; APIs, DBs, event handling,
aging
- arp: ARP protocol implementation
- ip6-nd; IPv6 neighbor discovery implementation; separate ND,
MLD, RA
- ip6-link; manage link-local addresses
- l2-arp-term; events separated from IP neighbours, since they are not
the same.
vnet retains just enough education to perform ND/ARP packet
construction.
arp and ip6-nd to be moved to plugins soon.
Change-Id: I88dedd0006b299344f4c7024a0aa5baa6b9a8bbe
Signed-off-by: Neale Ranns <nranns@cisco.com>
diff --git a/src/vlibapi/api_helper_macros.h b/src/vlibapi/api_helper_macros.h
index 2662df8..b4e69b4 100644
--- a/src/vlibapi/api_helper_macros.h
+++ b/src/vlibapi/api_helper_macros.h
@@ -250,8 +250,7 @@
_(from_netconf_client) \
_(oam_events) \
_(bfd_events) \
-_(wc_ip6_nd_events) \
-_(wc_ip4_arp_events) \
+_(l2_arp_term_events) \
_(ip6_ra_events) \
_(dhcp6_pd_reply_events) \
_(dhcp6_reply_events)
@@ -262,24 +261,16 @@
u32 client_pid;
} vpe_client_registration_t;
-struct _vl_api_ip4_arp_event;
-struct _vl_api_ip6_nd_event;
-
typedef struct
{
-#define _(a) uword *a##_registration_hash; \
- vpe_client_registration_t * a##_registrations;
+#define _(a) \
+ uword *a##_registration_hash; \
+ vpe_client_registration_t * a##_registrations;
foreach_registration_hash
#undef _
/* notifications happen really early in the game */
u8 link_state_process_up;
- /* ip4 arp event registration pool */
- struct _vl_api_ip4_arp_event *arp_events;
-
- /* ip6 nd event registration pool */
- struct _vl_api_ip6_nd_event *nd_events;
-
/* convenience */
vlib_main_t *vlib_main;
vnet_main_t *vnet_main;