aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFilip Tehlar <ftehlar@cisco.com>2017-09-04 18:54:33 +0200
committerFlorin Coras <florin.coras@gmail.com>2017-09-07 15:56:34 +0000
commitd630713d733718701f38176f98d563fd32679d06 (patch)
tree6720a3c005dd834da9e9349241d18bc73878604d
parent111a5cea6f1318ffe7aa2847e8d0f6d07e51f0ff (diff)
LISP: add neighbor discovery and CP protocol separation APIs
Change-Id: Ia2fc4621f0e199b0d02ac4d2104b54bdb49c14dd Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
-rw-r--r--src/vnet/lisp-cp/one.api81
-rw-r--r--src/vnet/lisp-cp/one_api.c5
2 files changed, 86 insertions, 0 deletions
diff --git a/src/vnet/lisp-cp/one.api b/src/vnet/lisp-cp/one.api
index ad10ab68918..39f2802da29 100644
--- a/src/vnet/lisp-cp/one.api
+++ b/src/vnet/lisp-cp/one.api
@@ -452,6 +452,87 @@ manual_print manual_endian define one_l2_arp_entries_get_reply
vl_api_one_l2_arp_entry_t entries[count];
};
+autoreply define one_add_del_ndp_entry
+{
+ u32 client_index;
+ u32 context;
+ u8 is_add;
+ u8 mac[6];
+ u32 bd;
+ u8 ip6[16];
+};
+
+define one_ndp_entries_get
+{
+ u32 client_index;
+ u32 context;
+ u32 bd;
+};
+
+typeonly manual_print manual_endian define one_ndp_entry
+{
+ u8 mac[6];
+ u8 ip6[16];
+};
+
+manual_print manual_endian define one_ndp_entries_get_reply
+{
+ u32 context;
+ i32 retval;
+ u32 count;
+ vl_api_one_ndp_entry_t entries[count];
+};
+
+/** \brief Set ONE transport protocol
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param protocol - supported vaules:
+ 1: UDP based LISP (default)
+ 2: binary API
+*/
+autoreply define one_set_transport_protocol
+{
+ u32 client_index;
+ u32 context;
+ u8 protocol;
+};
+
+define one_get_transport_protocol
+{
+ u32 client_index;
+ u32 context;
+};
+
+define one_get_transport_protocol_reply
+{
+ u32 context;
+ i32 retval;
+ u8 protocol;
+};
+
+/** \brief Request for list of bridge domains used by neighbor discovery
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+*/
+define one_ndp_bd_get
+{
+ u32 client_index;
+ u32 context;
+};
+
+/** \brief Reply with list of bridge domains used by neighbor discovery
+ @param context - sender context, to match reply w/ request
+ @param count - number of elements in the list
+ @param bridge_domains - list of BDs
+*/
+manual_print manual_endian define one_ndp_bd_get_reply
+{
+ u32 context;
+ i32 retval;
+ u32 count;
+ u32 bridge_domains[count];
+};
+
/** \brief Request for list of bridge domains used by L2 ARP table
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
diff --git a/src/vnet/lisp-cp/one_api.c b/src/vnet/lisp-cp/one_api.c
index b8e3f7045a6..7c8ba63f90e 100644
--- a/src/vnet/lisp-cp/one_api.c
+++ b/src/vnet/lisp-cp/one_api.c
@@ -47,6 +47,11 @@
#define vl_api_one_add_del_l2_arp_entry vl_noop_handler
#define vl_api_one_l2_arp_bd_get vl_noop_handler
+#define vl_api_one_ndp_entry_t_endian vl_noop_handler
+#define vl_api_one_ndp_entry_t_print vl_noop_handler
+#define vl_api_one_ndp_entries_get_reply_t_endian vl_noop_handler
+#define vl_api_one_ndp_entries_get_reply_t_print vl_noop_handler
+
#define vl_typedefs /* define message structures */
#include <vnet/vnet_all_api_h.h>
#undef vl_typedefs