@param interface_name - name of the interface
@param link_duplex - 1 if half duplex, 2 if full duplex
@param link_speed - 1 = 10M, 2 = 100M, 4 = 1G, 8 = 10G, 16 = 40G, 32 = 100G
+ @param link_MTU - max. transmittion unit
@param sub_if_id - A number 0-N to uniquely identify this subif on super if
@param sub_dot1ad - 0 = dot1q, 1=dot1ad
@param sub_number_of_tags - Number of tags (0 - 2)
@param vtr_tag2
*/
manual_java define sw_interface_details {
+ u32 context;
u32 sw_if_index;
/* index of sup interface (e.g. hw interface).
/* 1 = 10M, 2 = 100M, 4 = 1G, 8 = 10G, 16 = 40G, 32 = 100G */
u8 link_speed;
+
+ /* MTU */
+ u16 link_mtu;
/* Subinterface ID. A number 0-N to uniquely identify this subinterface under the super interface*/
u32 sub_id;
i32 retval;
};
-/*
- * These messages bounce off the dataplane and are not otherwise
- * interpreted; each has its own publish / subscribe API.
- * If the dataplane receives one of these and doesn't have an
- * active subscription for it, the message will be silently freed.
- */
-
-define from_netconf_server {
- u32 client_index;
- u32 context;
- u8 data[0];
-};
-
-define want_from_netconf_server {
- u32 client_index;
- u32 context;
- u32 enable_disable;
- u32 pid;
-};
-
-define want_from_netconf_server_reply {
- u32 context;
- i32 retval;
-};
-
-define to_netconf_server {
- u32 client_index;
- u32 context;
- u8 data[0];
-};
-
-define want_to_netconf_server {
- u32 client_index;
- u32 context;
- u32 enable_disable;
- u32 pid;
-};
-
-define want_to_netconf_server_reply {
- u32 context;
- i32 retval;
-};
-
-define from_netconf_client {
- u32 client_index;
- u32 context;
- u8 data[0];
-};
-
-define want_from_netconf_client {
- u32 client_index;
- u32 context;
- u32 enable_disable;
- u32 pid;
-};
-
-define want_from_netconf_client_reply {
- u32 context;
- i32 retval;
-};
-
-define to_netconf_client {
- u32 client_index;
- u32 context;
- u8 data[0];
-};
-
-define want_to_netconf_client {
- u32 client_index;
- u32 context;
- u32 enable_disable;
- u32 pid;
-};
-
-define want_to_netconf_client_reply {
- u32 context;
- i32 retval;
-};
-
/** \brief Set the ip flow hash config for a fib request
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param is_add - add the tunnel if non-zero, else delete it
+ @param name[] - tunnel name (len. 64)
@param src_address[] -
@param dst_address[] -
@param dst_mask_width -
@param n_segments -
@param n_tags -
@param segs_and_tags[] -
+ @param policy_name[] - name of policy to associate this tunnel to (len. 64)
*/
define sr_tunnel_add_del {
u32 client_index;
u32 context;
u8 is_add;
+ u8 name[64];
u8 src_address[16];
u8 dst_address[16];
u8 dst_mask_width;
u8 n_segments;
u8 n_tags;
u8 segs_and_tags[0];
+ u8 policy_name[64];
};
/** \brief IPv6 segment routing tunnel add / del response
i32 retval;
};
+/** \brief IPv6 segment routing policy add / del request
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_add - add the tunnel if non-zero, else delete it
+ @param name[] - policy name (len. 64)
+ @param tunnel_names[] -
+*/
+define sr_policy_add_del {
+ u32 client_index;
+ u32 context;
+ u8 is_add;
+ u8 name[64];
+ u8 tunnel_names[0];
+};
+
+/** \brief IPv6 segment routing policy add / del response
+ @param context - sender context, to match reply w/ request
+ @param retval - return value for request
+*/
+define sr_policy_add_del_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief IPv6 segment routing multicast map to policy add / del request
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_add - add the tunnel if non-zero, else delete it
+ @param multicast_address[] - IP6 multicast address
+ @param policy_name[] = policy name (len.64)
+*/
+define sr_multicast_map_add_del {
+ u32 client_index;
+ u32 context;
+ u8 is_add;
+ u8 multicast_address[16];
+ u8 policy_name[64];
+};
+
+/** \brief IPv6 segment routing multicast map to policy add / del response
+ @param context - sender context, to match reply w/ request
+ @param retval - return value for request
+*/
+define sr_multicast_map_add_del_reply {
+ u32 context;
+ i32 retval;
+};
+
/** \brief Interface set vpath request
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
};
manual_java define sw_if_l2tpv3_tunnel_details {
+ u32 context;
u32 sw_if_index;
u8 interface_name[64];
u8 client_address [16];
u32 client_index;
u32 context;
u8 is_add;
- u32 src_address;
- u32 dst_address;
+ u8 is_ipv6;
+ u8 src_address[16];
+ u8 dst_address[16];
u32 encap_vrf_id;
u32 decap_next_index;
u32 vni;
manual_java define vxlan_tunnel_details {
u32 context;
u32 sw_if_index;
- u32 src_address;
- u32 dst_address;
+ u8 src_address[16];
+ u8 dst_address[16];
u32 encap_vrf_id;
u32 decap_next_index;
u32 vni;
+ u8 is_ipv6;
+};
+
+define gre_add_del_tunnel {
+ u32 client_index;
+ u32 context;
+ u8 is_add;
+ u32 src_address;
+ u32 dst_address;
+ u32 outer_table_id;
+};
+
+define gre_add_del_tunnel_reply {
+ u32 context;
+ i32 retval;
+ u32 sw_if_index;
+};
+
+manual_java define gre_tunnel_dump {
+ u32 client_index;
+ u32 context;
+ u32 sw_if_index;
+};
+
+manual_java define gre_tunnel_details {
+ u32 context;
+ u32 sw_if_index;
+ u32 src_address;
+ u32 dst_address;
+ u32 outer_table_id;
};
/** \brief L2 interface vlan tag rewrite configure request
@param client_index - opaque cookie to identify the sender
@param is_server - our side is socket server
@param sock_filename - unix socket filename, used to speak with frontend
+ @param use_custom_mac - enable or disable the use of the provided hardware address
+ @param mac_address - hardware address to use if 'use_custom_mac' is set
*/
define create_vhost_user_if {
u32 client_index;
u8 sock_filename[256];
u8 renumber;
u32 custom_dev_instance;
+ u8 use_custom_mac;
+ u8 mac_address[6];
};
/** \brief vhost-user interface create response
@param num_regions - number of used memory regions
*/
manual_java define sw_interface_vhost_user_details {
+ u32 context;
u32 sw_if_index;
u8 interface_name[64];
u32 virtio_net_hdr_sz;
@param bvi_mac - the mac address is a bridge virtual interface
*/
manual_java define l2_fib_table_entry {
+ u32 context;
u32 bd_id;
u64 mac;
u32 sw_if_index;
u32 bd_id;
};
-define nsh_vxlan_gpe_add_del_tunnel {
+define vxlan_gpe_add_del_tunnel {
u32 client_index;
u32 context;
- u32 src;
- u32 dst;
+ u32 local;
+ u32 remote;
u32 encap_vrf_id;
u32 decap_vrf_id;
- u32 decap_next_index;
+ u8 protocol;
u32 vni;
+ u8 is_add;
+};
+
+define vxlan_gpe_add_del_tunnel_reply {
+ u32 context;
+ i32 retval;
+ u32 sw_if_index;
+};
+
+define nsh_add_del_entry {
+ u32 client_index;
+ u32 context;
u8 tlv_len_in_words;
u8 is_add;
u8 ver_o_c;
u8 md_type;
u8 next_protocol;
/* in network byte order */
- u32 spi_si;
+ u32 nsp_nsi;
u32 c1;
u32 c2;
u32 c3;
u32 tlvs[0];
};
-define nsh_vxlan_gpe_add_del_tunnel_reply {
+define nsh_add_del_entry_reply {
u32 context;
i32 retval;
u32 sw_if_index;
};
-define lisp_gpe_add_del_tunnel {
+/** \brief add or delete locator_set
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_add - add address if non-zero, else delete
+ @param locator_set_name - locator name
+*/
+define lisp_add_del_locator_set {
u32 client_index;
u32 context;
- u32 src;
- u32 dst;
- u32 encap_vrf_id;
- u32 decap_vrf_id;
- u32 decap_next_index;
- u8 is_add;
- u8 flags;
- u8 ver_res;
- u8 res;
- u8 next_protocol;
- /* in network byte order */
- u32 iid;
+ u8 is_add;
+ u8 locator_set_name[64];
};
-define lisp_gpe_add_del_tunnel_reply {
+/** \brief Reply for locator_set add/del
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define lisp_add_del_locator_set_reply {
u32 context;
i32 retval;
- u32 sw_if_index;
};
-/* Gross kludge, DGMS */
-define interface_name_renumber {
+/** \brief add or delete locator for locator_set
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_add - add address if non-zero, else delete
+ @param locator_set_name - name of locator_set to add/del locator
+ @param sw_if_index - index of the interface
+ @param priority - priority of the lisp locator
+ @param weight - weight of the lisp locator
+*/
+define lisp_add_del_locator {
u32 client_index;
u32 context;
+ u8 is_add;
+ u8 locator_set_name[64];
u32 sw_if_index;
- u32 new_show_dev_instance;
+ u8 priority;
+ u8 weight;
};
-define interface_name_renumber_reply {
+/** \brief Reply for locator add/del
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define lisp_add_del_locator_reply {
u32 context;
i32 retval;
};
-/** \brief Register for ip4 arp resolution events
+/** \brief add or delete lisp eid-table
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param enable_disable - 1 => register for events, 0 => cancel registration
- @param pid - sender's pid
- @param address - the exact ip4 address of interest
+ @param is_add - add address if non-zero, else delete
+ @param is_ipv6 - if non-zero the address is ipv6, else ipv4
+ @param ip_address - array of address bytes
+ @param prefix_len - prefix len
+ @param locator_set_name - name of locator_set to add/del eid-table
*/
-define want_ip4_arp_events {
+define lisp_add_del_local_eid {
u32 client_index;
u32 context;
- u8 enable_disable;
- u32 pid;
- u32 address;
+ u8 is_add;
+ u8 is_ipv6;
+ u8 ip_address[16];
+ u8 prefix_len;
+ u8 locator_set_name[64];
};
-/** \brief Reply for interface events registration
+/** \brief Reply for local_eid add/del
@param context - returned sender context, to match reply w/ request
@param retval - return code
*/
-define want_ip4_arp_events_reply {
+define lisp_add_del_local_eid_reply {
u32 context;
i32 retval;
};
-/** \brief Tell client about an ip4 arp resolution event
+/** \brief add or delete lisp gpe maptunel
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param address - the exact ip4 address of interest
- @param pid - client pid registered to receive notification
- @param sw_if_index - interface which received ARP packet
- @param new_mac - the new mac address
+ @param is_add - add address if non-zero, else delete
+ @param eid_is_ipv6 - if non-zero the address is ipv6, else ipv4
+ @param eid_ip_address - array of address bytes
+ @param eid_prefix_len - prefix len
+ @param address_is_ipv6 - if non-zero the address is ipv6, else ipv4
+ @param source_ip_address - array of address bytes
+ @param destination_ip_address - array of address bytes
*/
-define ip4_arp_event {
+define lisp_gpe_add_del_fwd_entry {
u32 client_index;
u32 context;
- u32 address;
- u32 pid;
- u32 sw_if_index;
- u8 new_mac[6];
+ u8 is_add;
+ u8 eid_is_ipv6;
+ u8 eid_ip_address[16];
+ u8 eid_prefix_len;
+ u8 address_is_ipv6;
+ u8 source_ip_address[16];
+ u8 destination_ip_address[16];
};
-
-/** \brief L2 bridge domain add or delete request
+
+/** \brief Reply for gpe_fwd_entry add/del
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define lisp_gpe_add_del_fwd_entry_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief add or delete map-resolver
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param bd_id - the bridge domain to create
- @param flood - enable/disable bcast/mcast flooding in the bd
- @param uu_flood - enable/disable uknown unicast flood in the bd
- @param forward - enable/disable forwarding on all interfaces in the bd
- @param learn - enable/disable learning on all interfaces in the bd
- @param arp_term - enable/disable arp termination in the bd
- @param is_add - add or delete flag
+ @param is_add - add address if non-zero, else delete
+ @param is_ipv6 - if non-zero the address is ipv6, else ipv4
+ @param ip_address - array of address bytes
*/
-define bridge_domain_add_del {
+define lisp_add_del_map_resolver {
u32 client_index;
u32 context;
- u32 bd_id;
- u8 flood;
- u8 uu_flood;
- u8 forward;
- u8 learn;
- u8 arp_term;
- u8 is_add;
+ u8 is_add;
+ u8 is_ipv6;
+ u8 ip_address[16];
};
-/** \brief L2 bridge domain add or delete response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the set bridge flags request
+/** \brief Reply for map_resolver add/del
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
*/
-define bridge_domain_add_del_reply {
+define lisp_add_del_map_resolver_reply {
u32 context;
- u32 retval;
+ i32 retval;
};
-/** \brief L2 bridge domain request operational state details
+/** \brief enable or disable lisp-gpe protocol
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param bd_id - the bridge domain id desired or ~0 to request all bds
+ @param is_en - enable protocol if non-zero, else disable
*/
-manual_java define bridge_domain_dump {
+define lisp_gpe_enable_disable {
u32 client_index;
u32 context;
- u32 bd_id;
+ u8 is_en;
};
-/** \brief L2 bridge domain operational state response
- @param bd_id - the bridge domain id
- @param flood - bcast/mcast flooding state on all interfaces in the bd
- @param uu_flood - uknown unicast flooding state on all interfaces in the bd
- @param forward - forwarding state on all interfaces in the bd
- @param learn - learning state on all interfaces in the bd
- @param arp_term - arp termination state on all interfaces in the bd
- @param n_sw_ifs - number of sw_if_index's in the domain
+/** \brief Reply for gpe enable/disable
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
*/
-manual_java define bridge_domain_details {
+define lisp_gpe_enable_disable_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief enable or disable LISP feature
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_en - enable protocol if non-zero, else disable
+*/
+define lisp_enable_disable {
+ u32 client_index;
+ u32 context;
+ u8 is_en;
+};
+
+/** \brief Reply for gpe enable/disable
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define lisp_enable_disable_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief add or delete gpe_iface
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_add - add address if non-zero, else delete
+*/
+define lisp_gpe_add_del_iface {
+ u32 client_index;
+ u32 context;
+ u8 is_add;
+ u32 table_id;
+ u32 vni;
+};
+
+/** \brief Reply for gpe_iface add/del
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define lisp_gpe_add_del_iface_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief LISP locator_set status
+ @param locator_set_name - name of the locator_set
+ @param sw_if_index - sw_if_index of the locator
+ @param priority - locator priority
+ @param weight - locator weight
+ */
+manual_java define lisp_locator_set_details {
+ u32 context;
+ u8 local;
+ u8 locator_set_name[64];
+ u32 sw_if_index;
+ u8 is_ipv6;
+ u8 ip_address[16];
+ u8 prefix_len;
+ u8 priority;
+ u8 weight;
+};
+
+/** \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
+ */
+define lisp_locator_set_dump {
+ u32 client_index;
+ u32 context;
+};
+
+/** \brief LISP local eid table status
+ @param locator_set_name - name of the locator_set
+ @param eid_is_ipv6 - if non-zero the address is ipv6, else ipv4
+ @param eid_ip_address - array of address bytes
+ @param eid_prefix_len - prefix len
+ */
+manual_java define lisp_local_eid_table_details {
+ u32 context;
+ u8 locator_set_name[64];
+ u8 eid_is_ipv6;
+ u8 eid_ip_address[16];
+ u8 eid_prefix_len;
+};
+
+/** \brief Request for local eid table summary status
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ */
+define lisp_local_eid_table_dump {
+ u32 client_index;
+ u32 context;
+};
+
+manual_java define lisp_gpe_tunnel_details {
+ u32 context;
+ u32 tunnels;
+ u8 is_ipv6;
+ u8 source_ip[16];
+ u8 destination_ip[16];
+ u32 encap_fib_id;
+ u32 decap_fib_id;
+ u32 dcap_next;
+ u8 lisp_ver;
+ u8 next_protocol;
+ u8 flags;
+ u8 ver_res;
+ u8 res;
+ u32 iid;
+};
+
+/** \brief Request for gpe tunnel summary status
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ */
+define lisp_gpe_tunnel_dump {
+ u32 client_index;
+ u32 context;
+};
+
+/** \brief LISP map resolver status
+ @param locator_set_name - name of the locator_set
+ @param is_ipv6 - if non-zero the address is ipv6, else ipv4
+ @param ip_address - array of address bytes
+ */
+manual_java define lisp_map_resolver_details {
+ u32 context;
+ u8 is_ipv6;
+ u8 ip_address[16];
+};
+
+/** \brief Request for map resolver summary status
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ */
+define lisp_map_resolver_dump {
+ u32 client_index;
+ u32 context;
+};
+
+/** \brief Status of lisp-gpe protocol, enable or disable
+ @param context - sender context, to match reply w/ request
+ @param is_en - enable protocol if non-zero, else disable
+*/
+manual_java define lisp_enable_disable_status_details {
+ u32 context;
+ u8 feature_status;
+ u8 gpe_status;
+};
+
+/** \brief Request for lisp-gpe protocol status
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+*/
+define lisp_enable_disable_status_dump {
+ u32 client_index;
+ u32 context;
+};
+
+/* Gross kludge, DGMS */
+define interface_name_renumber {
+ u32 client_index;
+ u32 context;
+ u32 sw_if_index;
+ u32 new_show_dev_instance;
+};
+
+define interface_name_renumber_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief Register for ip4 arp resolution events
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param enable_disable - 1 => register for events, 0 => cancel registration
+ @param pid - sender's pid
+ @param address - the exact ip4 address of interest
+*/
+define want_ip4_arp_events {
+ u32 client_index;
+ u32 context;
+ u8 enable_disable;
+ u32 pid;
+ u32 address;
+};
+
+/** \brief Reply for interface events registration
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define want_ip4_arp_events_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief Tell client about an ip4 arp resolution event
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param address - the exact ip4 address of interest
+ @param pid - client pid registered to receive notification
+ @param sw_if_index - interface which received ARP packet
+ @param new_mac - the new mac address
+*/
+define ip4_arp_event {
+ u32 client_index;
+ u32 context;
+ u32 address;
+ u32 pid;
+ u32 sw_if_index;
+ u8 new_mac[6];
+};
+
+/** \brief L2 bridge domain add or delete request
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param bd_id - the bridge domain to create
+ @param flood - enable/disable bcast/mcast flooding in the bd
+ @param uu_flood - enable/disable uknown unicast flood in the bd
+ @param forward - enable/disable forwarding on all interfaces in the bd
+ @param learn - enable/disable learning on all interfaces in the bd
+ @param arp_term - enable/disable arp termination in the bd
+ @param is_add - add or delete flag
+*/
+define bridge_domain_add_del {
+ u32 client_index;
+ u32 context;
+ u32 bd_id;
+ u8 flood;
+ u8 uu_flood;
+ u8 forward;
+ u8 learn;
+ u8 arp_term;
+ u8 is_add;
+};
+
+/** \brief L2 bridge domain add or delete response
+ @param context - sender context, to match reply w/ request
+ @param retval - return code for the set bridge flags request
+*/
+define bridge_domain_add_del_reply {
+ u32 context;
+ u32 retval;
+};
+
+/** \brief L2 bridge domain request operational state details
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param bd_id - the bridge domain id desired or ~0 to request all bds
+*/
+manual_java define bridge_domain_dump {
+ u32 client_index;
+ u32 context;
+ u32 bd_id;
+};
+
+/** \brief L2 bridge domain operational state response
+ @param bd_id - the bridge domain id
+ @param flood - bcast/mcast flooding state on all interfaces in the bd
+ @param uu_flood - uknown unicast flooding state on all interfaces in the bd
+ @param forward - forwarding state on all interfaces in the bd
+ @param learn - learning state on all interfaces in the bd
+ @param arp_term - arp termination state on all interfaces in the bd
+ @param n_sw_ifs - number of sw_if_index's in the domain
+*/
+manual_java define bridge_domain_details {
u32 context;
u32 bd_id;
u8 flood;
i32 retval;
};
+/** \brief IKEv2: Add/delete profile
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+
+ @param name - IKEv2 profile name
+ @param is_add - Add IKEv2 profile if non-zero, else delete
+*/
+define ikev2_profile_add_del {
+ u32 client_index;
+ u32 context;
+
+ u8 name[64];
+ u8 is_add;
+};
+
+/** \brief Reply for IKEv2: Add/delete profile
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define ikev2_profile_add_del_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief IKEv2: Set IKEv2 profile authentication method
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+
+ @param name - IKEv2 profile name
+ @param auth_method - IKEv2 authentication method (shared-key-mic/rsa-sig)
+ @param is_hex - Authentication data in hex format if non-zero, else string
+ @param data_len - Authentication data length
+ @param data - Authentication data (for rsa-sig cert file path)
+*/
+define ikev2_profile_set_auth {
+ u32 client_index;
+ u32 context;
+
+ u8 name[64];
+ u8 auth_method;
+ u8 is_hex;
+ u32 data_len;
+ u8 data[0];
+};
+
+/** \brief Reply for IKEv2: Set IKEv2 profile authentication method
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define ikev2_profile_set_auth_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief IKEv2: Set IKEv2 profile local/remote identification
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+
+ @param name - IKEv2 profile name
+ @param is_local - Identification is local if non-zero, else remote
+ @param id_type - Identification type
+ @param data_len - Identification data length
+ @param data - Identification data
+*/
+define ikev2_profile_set_id {
+ u32 client_index;
+ u32 context;
+
+ u8 name[64];
+ u8 is_local;
+ u8 id_type;
+ u32 data_len;
+ u8 data[0];
+};
+
+/** \brief Reply for IKEv2:
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define ikev2_profile_set_id_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief IKEv2: Set IKEv2 profile traffic selector parameters
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+
+ @param name - IKEv2 profile name
+ @param is_local - Traffic selector is local if non-zero, else remote
+ @param proto - Traffic selector IP protocol (if zero not relevant)
+ @param start_port - The smallest port number allowed by traffic selector
+ @param end_port - The largest port number allowed by traffic selector
+ @param start_addr - The smallest address included in traffic selector
+ @param end_addr - The largest address included in traffic selector
+*/
+define ikev2_profile_set_ts {
+ u32 client_index;
+ u32 context;
+
+ u8 name[64];
+ u8 is_local;
+ u8 proto;
+ u16 start_port;
+ u16 end_port;
+ u32 start_addr;
+ u32 end_addr;
+};
+
+/** \brief Reply for IKEv2: Set IKEv2 profile traffic selector parameters
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define ikev2_profile_set_ts_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief IKEv2: Set IKEv2 local RSA private key
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+
+ @param key_file - Key file absolute path
+*/
+define ikev2_set_local_key {
+ u32 client_index;
+ u32 context;
+
+ u8 key_file[256];
+};
+
+/** \brief Reply for IKEv2: Set IKEv2 local key
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define ikev2_set_local_key_reply {
+ u32 context;
+ i32 retval;
+};
+
/** \brief Tell client about a DHCP completion event
@param client_index - opaque cookie to identify the sender
@param pid - client pid registered to receive notification
};
manual_java define map_domain_details {
+ u32 context;
u32 domain_index;
u8 ip6_prefix[16];
u8 ip4_prefix[4];
};
manual_java define map_rule_details {
+ u32 context;
u8 ip6_dst[16];
u16 psid;
};
i32 retval;
};
+/** \brief get_node_graph - get a copy of the vpp node graph
+ including the current set of graph arcs.
+
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+*/
+
+define get_node_graph {
+ u32 client_index;
+ u32 context;
+};
+
+/** \brief get_node_graph_reply
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+ @param reply_in_shmem - result from vlib_node_serialize, in shared
+ memory. Process with vlib_node_unserialize, remember to switch
+ heaps and free the result.
+*/
+
+define get_node_graph_reply {
+ u32 context;
+ i32 retval;
+ u64 reply_in_shmem;
+};
+
+/** \brief Clear interface statistics
+ @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 to clear statistics
+*/
+define sw_interface_clear_stats {
+ u32 client_index;
+ u32 context;
+ u32 sw_if_index;
+};
+
+/** \brief Reply to sw_interface_clear_stats
+ @param context - sender context which was passed in the request
+ @param retval - return code of the set flags request
+*/
+define sw_interface_clear_stats_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief IOAM Trace : Set TRACE profile
+ @param id - profile id
+ @param trace_type - Trace type
+ @param trace_num_elt - Number of nodes in trace path
+ @param trace_ppc - Trace PPC (none/encap/decap)
+ @param trace_tsp - Trace timestamp precision (0-sec,1-ms,2-us,3-ns)
+ @param trace_app_data - Trace application data, can be any 4 bytes
+ @param pow_enable - Proof of Work enabled or not flag
+ @param node_id - Id of this node
+*/
+define trace_profile_add {
+ u32 client_index;
+ u32 context;
+ u16 id;
+ u8 trace_type;
+ u8 trace_num_elt;
+ u8 trace_ppc;
+ u8 trace_tsp;
+ u32 trace_app_data;
+ u8 pow_enable;
+ u32 node_id;
+};
+
+/** \brief Trace profile add / del response
+ @param context - sender context, to match reply w/ request
+ @param retval - return value for request
+*/
+define trace_profile_add_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief IOAM Trace enable trace profile for a flow
+ @param id - id of the trace profile to be applied
+ @param dest_ipv6 - Destination IPv6 address
+ @param prefix_length - prefix mask
+ @param vrf_id - VRF ID
+ @param trace_op - Trace operation (add/mod/del)
+ @param enable - apply/remove the trace profile for the flow
+*/
+define trace_profile_apply {
+ u32 client_index;
+ u32 context;
+ u16 id;
+ u8 dest_ipv6[16];
+ u32 prefix_length;
+ u32 vrf_id;
+ u8 trace_op;
+ u8 enable;
+};
+
+/** \brief Trace profile apply response
+ @param context - sender context, to match reply w/ request
+ @param retval - return value for request
+*/
+define trace_profile_apply_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief Delete Trace Profile
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param index - MAP Domain index
+*/
+define trace_profile_del {
+ u32 client_index;
+ u32 context;
+ u16 id;
+};
+
+/** \brief Trace profile add / del response
+ @param context - sender context, to match reply w/ request
+ @param retval - return value for request
+*/
+define trace_profile_del_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief Create host-interface
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param host_if_name - interface name
+ @param hw_addr - interface MAC
+ @param use_random_hw_addr - use random generated MAC
+*/
+define af_packet_create {
+ u32 client_index;
+ u32 context;
+
+ u8 host_if_name[64];
+ u8 hw_addr[6];
+ u8 use_random_hw_addr;
+};
+
+/** \brief Create host-interface response
+ @param context - sender context, to match reply w/ request
+ @param retval - return value for request
+*/
+define af_packet_create_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief Delete host-interface
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param host_if_name - interface name
+*/
+define af_packet_delete {
+ u32 client_index;
+ u32 context;
+
+ u8 host_if_name[64];
+};
+
+/** \brief Delete host-interface response
+ @param context - sender context, to match reply w/ request
+ @param retval - return value for request
+*/
+define af_packet_delete_reply {
+ u32 context;
+ i32 retval;
+};