i32 retval;
};
+/** \brief Enable or Disable MPLS on and interface
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param sw_if_index - index of the interface
+ @param enable - if non-zero enable, else disable
+*/
+define sw_interface_set_mpls_enable
+{
+ u32 client_index;
+ u32 context;
+ u32 sw_if_index;
+ u8 enable;
+};
+
+/** \brief Reply for MPLS state on an interface
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define sw_interface_set_mpls_enable_reply
+{
+ u32 context;
+ i32 retval;
+};
+
/** \brief Initialize a new tap interface with the given paramters
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
u8 is_ipv6;
u8 is_local;
u8 is_classify;
- /* Is last/not-last message in group of multiple add/del messages. */
u8 is_multipath;
+ u8 is_resolve_host;
+ u8 is_resolve_attached;
+ /* Is last/not-last message in group of multiple add/del messages. */
u8 not_last;
u8 next_hop_weight;
u8 dst_address_length;
u32 vpe_pid;
};
-/** \brief Control ping from client to api server request, no print json output
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
-*/
-define noprint_control_ping
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief Control ping from the client to the server response
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
- @param vpe_pid - the pid of the vpe, returned by the server
-*/
-define noprint_control_ping_reply
-{
- u32 context;
- i32 retval;
- u32 client_index;
- u32 vpe_pid;
-};
-
/** \brief Process a vpe parser cli string request
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
u32 context;
u8 is_add;
u8 is_ipv6;
+ u8 teb;
u8 src_address[16];
u8 dst_address[16];
u32 outer_fib_id;
u32 context;
u32 sw_if_index;
u8 is_ipv6;
+ u8 teb;
u8 src_address[16];
u8 dst_address[16];
u32 outer_fib_id;
@param is_add - add address if non-zero, else delete
@param locator_set_name - locator name
@param locator_num - number of locators
- @param locators - Lisp locator data
+ @param locators - LISP locator records
+ Structure of one locator record is as follows:
+
+ define locator_t {
+ u32 sw_if_index;
+ u8 priority;
+ u8 weight;
+ }
*/
define lisp_add_del_locator_set
{
u8 is_add;
u8 locator_set_name[64];
u32 locator_num;
- u8 locators[locator_num];
+ u8 locators[0];
};
/** \brief Reply for locator_set add/del
i32 retval;
};
+/** \brief set LISP map-request mode. Based on configuration VPP will send
+ src/dest or just normal destination map requests.
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param mode - new map-request mode. Supported values are:
+ 0 - destination only
+ 1 - source/destaination
+*/
+define lisp_map_request_mode
+{
+ u32 client_index;
+ u32 context;
+ u8 mode;
+};
+
+/** \brief Reply for lisp_map_request_mode
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define lisp_map_request_mode_reply
+{
+ u32 context;
+ i32 retval;
+};
+
+/** \brief Request for LISP map-request mode
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+*/
+define show_lisp_map_request_mode
+{
+ u32 client_index;
+ u32 context;
+};
+
+/** \brief Reply for show_lisp_map_request_mode
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+ @param mode - map-request mode
+*/
+define show_lisp_map_request_mode_reply
+{
+ u32 context;
+ i32 retval;
+ u8 mode;
+};
+
/** \brief add or delete remote static mapping
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param deid - dst EID
@param seid - src EID, valid only if is_src_dst is enabled
@param rloc_num - number of remote locators
- @param rlocs - remote locator data
+ @param rlocs - remote locator records
+ Structure of remote locator:
+
+ define rloc_t {
+ u8 is_ip4;
+ u8 priority;
+ u8 weight;
+ u8 addr[16];
+ }
*/
define lisp_add_del_remote_mapping
{
u8 seid[16];
u8 seid_len;
u32 rloc_num;
- u8 rlocs[rloc_num];
+ u8 rlocs[0];
};
/** \brief Reply for lisp_add_del_remote_mapping
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param locator_set_index - index of locator_set
- @param filter - filter type;
- Support value:
- 0: all locator
- 1: local locator
- 2: remote locator
+ @param ls_name - locator set name
+ @param is_index_set - flag indicating whether ls_name or ls_index is set
*/
define lisp_locator_dump
{
u32 client_index;
u32 context;
- u32 locator_set_index;
- u8 filter;
+ u32 ls_index;
+ u8 ls_name[64];
+ u8 is_index_set;
};
/** \brief LISP locator_set status
};
/** \brief LISP locator_set status
- @param locator_set_name - name of the locator_set
- @param local - if is set, then locator_set is local
- @param locator_count - number of locator this stats block includes
- @param locator - locator data
+ @param context - sender context, to match reply w/ request
+ @param ls_index - locator set index
+ @param ls_name - name of the locator set
*/
define lisp_locator_set_details
{
u32 context;
- u8 local;
- u32 locator_set_index;
- u8 locator_set_name[64];
+ u32 ls_index;
+ u8 ls_name[64];
};
/** \brief Request for locator_set summary status
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param filter - filter type;
- Support value:
- 0: all locator_set
- 1: local locator_set
- 2: remote locator_set
+ @param filter - filter type
+ Supported values:
+ 0: all locator sets
+ 1: local locator sets
+ 2: remote locator sets
*/
define lisp_locator_set_dump
{
0 : ipv4
1 : ipv6
2 : mac
+ @param is_src_dst - EID is type of source/destination
@param eid - EID can be ip4, ip6 or mac
- @param prefix_len - prefix len
+ @param eid_prefix_len - prefix length
+ @param seid - source EID can be ip4, ip6 or mac
+ @param seid_prefix_len - source prefix length
@param vni - virtual network instance
@param ttl - time to live
@param authoritative - authoritative
u8 action;
u8 is_local;
u8 eid_type;
+ u8 is_src_dst;
u32 vni;
u8 eid[16];
u8 eid_prefix_len;
+ u8 seid[16];
+ u8 seid_prefix_len;
u32 ttl;
u8 authoritative;
};