@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;
manual_java manual_print manual_endian define vnet_ip4_fib_counters {
u32 vrf_id;
u32 count;
- vl_api_ip4_fib_counter_t c[0];
+ vl_api_ip4_fib_counter_t c[count];
};
typeonly manual_print manual_endian define ip6_fib_counter {
manual_java manual_print manual_endian define vnet_ip6_fib_counters {
u32 vrf_id;
u32 count;
- vl_api_ip6_fib_counter_t c[0];
+ vl_api_ip6_fib_counter_t c[count];
};
/** \brief Request for a single block of summary stats
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
u8 build_directory[256];
};
-define nsh_gre_add_del_tunnel {
- u32 client_index;
- u32 context;
- u32 src;
- u32 dst;
- u32 encap_vrf_id;
- u32 decap_vrf_id;
- u32 decap_next_index;
- u8 tlv_len_in_words;
- u8 is_add;
- u8 ver_o_c;
- u8 length;
- u8 md_type;
- u8 next_protocol;
- /* in network byte order */
- u32 spi_si;
- u32 c1;
- u32 c2;
- u32 c3;
- u32 c4;
- u32 tlvs[0];
-};
-
-define nsh_gre_add_del_tunnel_reply {
- u32 context;
- i32 retval;
- u32 sw_if_index;
-};
-
/** \brief Vhost-user interface details structure (fix this)
@param sw_if_index - index of the interface
@param interface_name - name of interface
@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;
+ u8 is_ipv6;
+ u8 local[16];
+ u8 remote[16];
u32 encap_vrf_id;
u32 decap_vrf_id;
- u32 decap_next_index;
+ u8 protocol;
u32 vni;
- u8 tlv_len_in_words;
u8 is_add;
- u8 ver_o_c;
- u8 length;
- u8 md_type;
- u8 next_protocol;
- /* in network byte order */
- u32 spi_si;
- u32 c1;
- u32 c2;
- u32 c3;
- u32 c4;
- u32 tlvs[0];
};
-define nsh_vxlan_gpe_add_del_tunnel_reply {
+define vxlan_gpe_add_del_tunnel_reply {
u32 context;
i32 retval;
u32 sw_if_index;
};
-define lisp_gpe_add_del_tunnel {
+manual_java define vxlan_gpe_tunnel_dump {
u32 client_index;
u32 context;
- u32 src;
- u32 dst;
+ u32 sw_if_index;
+};
+
+manual_java define vxlan_gpe_tunnel_details {
+ u32 context;
+ u32 sw_if_index;
+ u8 local[16];
+ u8 remote[16];
+ u32 vni;
+ u8 protocol;
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_ipv6;
+};
+
+/** \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;
+ 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
+ @param vni - vitual network instance
*/
-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];
+ u32 vni;
};
-/** \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
-*/
-manual_java define bridge_domain_details {
- u32 context;
- u32 bd_id;
- u8 flood;
- u8 uu_flood;
- u8 forward;
- u8 learn;
- u8 arp_term;
- u32 bvi_sw_if_index;
- u32 n_sw_ifs;
-};
-
-/** \brief L2 bridge domain sw interface operational state response
- @param bd_id - the bridge domain id
- @param sw_if_index - sw_if_index in the domain
- @param shg - split horizon group for the interface
+/** \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_sw_if_details {
+define lisp_gpe_enable_disable_reply {
u32 context;
- u32 bd_id;
- u32 sw_if_index;
- u8 shg;
+ i32 retval;
};
-/** \brief DHCP Client config add / del request
+/** \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 sw_if_index - index of the interface for DHCP client
- @param hostname - hostname
- @param is_add - add the config if non-zero, else delete
- @param want_dhcp_event - DHCP event sent to the sender
- via dhcp_compl_event API message if non-zero
- @param pid - sender's pid
+ @param is_en - enable protocol if non-zero, else disable
*/
-define dhcp_client_config {
+define lisp_enable_disable {
u32 client_index;
u32 context;
- u32 sw_if_index;
- u8 hostname[64];
- u8 is_add;
- u8 want_dhcp_event;
- u32 pid;
+ u8 is_en;
};
-/** \brief DHCP Client config response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
+/** \brief Reply for gpe enable/disable
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
*/
-define dhcp_client_config_reply {
+define lisp_enable_disable_reply {
u32 context;
i32 retval;
};
-/** \brief Set/unset input ACL interface
+/** \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 sw_if_index - interface to set/unset input ACL
- @param ip4_table_index - ip4 classify table index (~0 for skip)
- @param ip6_table_index - ip6 classify table index (~0 for skip)
- @param l2_table_index - l2 classify table index (~0 for skip)
- @param is_add - Set input ACL if non-zero, else unset
- Note: User is recommeneded to use just one valid table_index per call.
- (ip4_table_index, ip6_table_index, or l2_table_index)
+ @param is_add - add address if non-zero, else delete
*/
-define input_acl_set_interface {
+define lisp_gpe_add_del_iface {
u32 client_index;
u32 context;
- u32 sw_if_index;
- u32 ip4_table_index;
- u32 ip6_table_index;
- u32 l2_table_index;
u8 is_add;
+ u32 table_id;
+ u32 vni;
};
-/** \brief Set/unset input ACL interface response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
+/** \brief Reply for gpe_iface add/del
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
*/
-define input_acl_set_interface_reply {
+define lisp_gpe_add_del_iface_reply {
u32 context;
i32 retval;
};
-/** \brief IPsec: Add/delete Security Policy Database
+/** \brief configure or disable LISP PITR node
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param is_add - add SPD if non-zero, else delete
- @param spd_id - SPD instance id (control plane allocated)
+ @param ls_name - locator set name
+ @param is_add - add locator set if non-zero, else disable pitr
*/
-
-define ipsec_spd_add_del {
+define lisp_pitr_set_locator_set {
u32 client_index;
u32 context;
u8 is_add;
- u32 spd_id;
+ u8 ls_name[64];
};
-/** \brief Reply for IPsec: Add/delete Security Policy Database entry
+/** \brief Reply for lisp_pitr_set_locator_set
@param context - returned sender context, to match reply w/ request
@param retval - return code
*/
-
-define ipsec_spd_add_del_reply {
+define lisp_pitr_set_locator_set_reply {
u32 context;
i32 retval;
};
-/** \brief IPsec: Add/delete SPD from interface
-
+/** \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 is_add - add security mode if non-zero, else delete
- @param sw_if_index - index of the interface
- @param spd_id - SPD instance id to use for lookups
+ @param is_add - add address if non-zero, else delete
+ @param del_all - if set, delete all remote mappings
+ @param vni - virtual network instance
+ @param action - negative map-reply action
+ @param eid_is_ip4 - ipv4/6 of source and destination EIDs
+ @param deid - destination EID
+ @param seid - source EID
+ @param rloc_num - number of remote locators
+ @param rlocs - remote locator data
*/
-
-
-define ipsec_interface_add_del_spd {
+define lisp_add_del_remote_mapping {
u32 client_index;
u32 context;
-
- u8 is_add;
- u32 sw_if_index;
- u32 spd_id;
+ u8 is_add;
+ u8 del_all;
+ u32 vni;
+ u8 action;
+ u8 eid_is_ip4;
+ u8 deid[16];
+ u8 seid[16];
+ u8 deid_len;
+ u8 seid_len;
+ u32 rloc_num;
+ u8 rlocs[0];
};
-/** \brief Reply for IPsec: Add/delete SPD from interface
+/** \brief Reply for lisp_add_del_remote_mapping
@param context - returned sender context, to match reply w/ request
@param retval - return code
*/
-define ipsec_interface_add_del_spd_reply {
+define lisp_add_del_remote_mapping_reply {
u32 context;
i32 retval;
};
-/** \brief IPsec: Add/delete Security Policy Database entry
-
- See RFC 4301, 4.4.1.1 on how to match packet to selectors
-
+/** \brief add or delete map request itr rlocs
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param is_add - add SPD if non-zero, else delete
- @param spd_id - SPD instance id (control plane allocated)
- @param priority - priority of SPD entry (non-unique value). Used to order SPD matching - higher priorities match before lower
- @param is_outbound - entry applies to outbound traffic if non-zero, otherwise applies to inbound traffic
- @param is_ipv6 - remote/local address are IPv6 if non-zero, else IPv4
- @param remote_address_start - start of remote address range to match
- @param remote_address_stop - end of remote address range to match
- @param local_address_start - start of local address range to match
- @param local_address_stop - end of local address range to match
- @param protocol - protocol type to match [0 means any]
- @param remote_port_start - start of remote port range to match ...
- @param remote_port_stop - end of remote port range to match [0 to 65535 means ANY, 65535 to 0 means OPAQUE]
- @param local_port_start - start of local port range to match ...
- @param local_port_stop - end of remote port range to match [0 to 65535 means ANY, 65535 to 0 means OPAQUE]
- @param policy - 0 = bypass (no IPsec processing), 1 = discard (discard packet with ICMP processing), 2 = resolve (send request to control plane for SA resolving, and discard without ICMP processing), 3 = protect (apply IPsec policy using following parameters)
- @param sa_id - SAD instance id (control plane allocated)
-
+ @param is_add - add address if non-zero, else delete
+ @param locator_set_name - locator set name
*/
-
-define ipsec_spd_add_del_entry {
+define lisp_add_del_map_request_itr_rlocs {
u32 client_index;
u32 context;
u8 is_add;
-
- u32 spd_id;
- i32 priority;
- u8 is_outbound;
-
- // Selector
- u8 is_ipv6;
- u8 is_ip_any;
- u8 remote_address_start[16];
- u8 remote_address_stop[16];
- u8 local_address_start[16];
- u8 local_address_stop[16];
-
- u8 protocol;
-
- u16 remote_port_start;
- u16 remote_port_stop;
- u16 local_port_start;
- u16 local_port_stop;
-
- // Policy
- u8 policy;
- u32 sa_id;
+ u8 locator_set_name[64];
};
-/** \brief Reply for IPsec: Add/delete Security Policy Database entry
+/** \brief Reply for lisp_add_del_map_request_itr_rlocs
@param context - returned sender context, to match reply w/ request
@param retval - return code
*/
-define ipsec_spd_add_del_entry_reply {
+define lisp_add_del_map_request_itr_rlocs_reply {
u32 context;
i32 retval;
};
-/** \brief IPsec: Add/delete Security Association Database entry
+/** \brief map/unmap vni to vrf
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param is_add - add SAD entry if non-zero, else delete
-
- @param sad_id - sad id
-
- @param spi - security parameter index
-
- @param protocol - 0 = AH, 1 = ESP
-
- @param crypto_algorithm - 0 = Null, 1 = AES-CBC-128, 2 = AES-CBC-192, 3 = AES-CBC-256, 4 = 3DES-CBC
- @param crypto_key_length - length of crypto_key in bytes
- @param crypto_key - crypto keying material
-
- @param integrity_algorithm - 0 = None, 1 = MD5-96, 2 = SHA1-96, 3 = SHA-256, 4 = SHA-384, 5=SHA-512
- @param integrity_key_length - length of integrity_key in bytes
- @param integrity_key - integrity keying material
-
- @param use_extended_sequence_number - use ESN when non-zero
-
- @param is_tunnel - IPsec tunnel mode if non-zero, else transport mode
- @param is_tunnel_ipv6 - IPsec tunnel mode is IPv6 if non-zero, else IPv4 tunnel only valid if is_tunnel is non-zero
- @param tunnel_src_address - IPsec tunnel source address IPv6 if is_tunnel_ipv6 is non-zero, else IPv4. Only valid if is_tunnel is non-zero
- @param tunnel_dst_address - IPsec tunnel destination address IPv6 if is_tunnel_ipv6 is non-zero, else IPv4. Only valid if is_tunnel is non-zero
-
- To be added:
- Anti-replay
- IPsec tunnel address copy mode (to support GDOI)
- */
-
-define ipsec_sad_add_del_entry {
+ @param is_add - add or delete mapping
+ @param vni - virtual network id
+ @param vrf - vrf
+*/
+define lisp_eid_table_add_del_map {
u32 client_index;
u32 context;
u8 is_add;
-
- u32 sad_id;
-
- u32 spi;
-
- u8 protocol;
-
- u8 crypto_algorithm;
- u8 crypto_key_length;
- u8 crypto_key[128];
-
- u8 integrity_algorithm;
- u8 integrity_key_length;
- u8 integrity_key[128];
-
- u8 use_extended_sequence_number;
-
- u8 is_tunnel;
- u8 is_tunnel_ipv6;
- u8 tunnel_src_address[16];
- u8 tunnel_dst_address[16];
+ u32 vni;
+ u32 vrf;
};
-/** \brief Reply for IPsec: Add/delete Security Association Database entry
+/** \brief Reply for lisp_eid_table_add_del_map
@param context - returned sender context, to match reply w/ request
@param retval - return code
*/
-
-define ipsec_sad_add_del_entry_reply {
+define lisp_eid_table_add_del_map_reply {
u32 context;
i32 retval;
};
-/** \brief IPsec: Update Security Association keys
+/** \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
-
- @param sa_id - sa id
-
- @param crypto_key_length - length of crypto_key in bytes
- @param crypto_key - crypto keying material
-
- @param integrity_key_length - length of integrity_key in bytes
- @param integrity_key - integrity keying material
-*/
-
-define ipsec_sa_set_key {
+ */
+define lisp_locator_set_dump {
u32 client_index;
u32 context;
+};
- u32 sa_id;
+/** \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;
+ u32 vni;
+ u8 eid_ip_address[16];
+ u8 eid_prefix_len;
+};
- u8 crypto_key_length;
- u8 crypto_key[128];
+/** \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;
+};
- u8 integrity_key_length;
- u8 integrity_key[128];
+/** \brief Shows relationship between vni and vrf
+ @param vrf - VRF index
+ @param vni - vitual network instance
+ */
+manual_java define lisp_eid_table_map_details {
+ u32 context;
+ u32 vni;
+ u32 vrf;
};
-/** \brief Reply for IPsec: Update Security Association keys
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
+/** \brief Request for lisp_eid_table_map_details
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ */
+define lisp_eid_table_map_dump {
+ u32 client_index;
+ u32 context;
+};
-define ipsec_sa_set_key_reply {
+manual_java define lisp_gpe_tunnel_details {
u32 context;
- i32 retval;
+ 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 Tell client about a DHCP completion event
+/** \brief Request for gpe tunnel summary status
@param client_index - opaque cookie to identify the sender
- @param pid - client pid registered to receive notification
- @param is_ipv6 - if non-zero the address is ipv6, else ipv4
- @param host_address - Host IP address
+ @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;
+};
+
+/** \brief Get LISP map request itr rlocs status
+ @param context - sender context, to match reply w/ request
+ @param locator_set_name - name of the locator_set
+ */
+define lisp_get_map_request_itr_rlocs {
+ u32 client_index;
+ u32 context;
+};
+
+/** \brief Request for map request itr rlocs summary status
+ */
+define lisp_get_map_request_itr_rlocs_reply {
+ u32 context;
+ i32 retval;
+ u8 locator_set_name[64];
+};
+
+/* 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;
+ u8 uu_flood;
+ u8 forward;
+ u8 learn;
+ u8 arp_term;
+ u32 bvi_sw_if_index;
+ u32 n_sw_ifs;
+};
+
+/** \brief L2 bridge domain sw interface operational state response
+ @param bd_id - the bridge domain id
+ @param sw_if_index - sw_if_index in the domain
+ @param shg - split horizon group for the interface
+*/
+manual_java define bridge_domain_sw_if_details {
+ u32 context;
+ u32 bd_id;
+ u32 sw_if_index;
+ u8 shg;
+};
+
+/** \brief DHCP Client config add / del request
+ @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 for DHCP client
+ @param hostname - hostname
+ @param is_add - add the config if non-zero, else delete
+ @param want_dhcp_event - DHCP event sent to the sender
+ via dhcp_compl_event API message if non-zero
+ @param pid - sender's pid
+*/
+define dhcp_client_config {
+ u32 client_index;
+ u32 context;
+ u32 sw_if_index;
+ u8 hostname[64];
+ u8 is_add;
+ u8 want_dhcp_event;
+ u32 pid;
+};
+
+/** \brief DHCP Client config response
+ @param context - sender context, to match reply w/ request
+ @param retval - return code for the request
+*/
+define dhcp_client_config_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief Set/unset input ACL interface
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param sw_if_index - interface to set/unset input ACL
+ @param ip4_table_index - ip4 classify table index (~0 for skip)
+ @param ip6_table_index - ip6 classify table index (~0 for skip)
+ @param l2_table_index - l2 classify table index (~0 for skip)
+ @param is_add - Set input ACL if non-zero, else unset
+ Note: User is recommeneded to use just one valid table_index per call.
+ (ip4_table_index, ip6_table_index, or l2_table_index)
+*/
+define input_acl_set_interface {
+ u32 client_index;
+ u32 context;
+ u32 sw_if_index;
+ u32 ip4_table_index;
+ u32 ip6_table_index;
+ u32 l2_table_index;
+ u8 is_add;
+};
+
+/** \brief Set/unset input ACL interface response
+ @param context - sender context, to match reply w/ request
+ @param retval - return code for the request
+*/
+define input_acl_set_interface_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief IPsec: Add/delete Security Policy Database
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_add - add SPD if non-zero, else delete
+ @param spd_id - SPD instance id (control plane allocated)
+*/
+
+define ipsec_spd_add_del {
+ u32 client_index;
+ u32 context;
+ u8 is_add;
+ u32 spd_id;
+};
+
+/** \brief Reply for IPsec: Add/delete Security Policy Database entry
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+
+define ipsec_spd_add_del_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief IPsec: Add/delete SPD from interface
+
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_add - add security mode if non-zero, else delete
+ @param sw_if_index - index of the interface
+ @param spd_id - SPD instance id to use for lookups
+*/
+
+
+define ipsec_interface_add_del_spd {
+ u32 client_index;
+ u32 context;
+
+ u8 is_add;
+ u32 sw_if_index;
+ u32 spd_id;
+};
+
+/** \brief Reply for IPsec: Add/delete SPD from interface
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+
+define ipsec_interface_add_del_spd_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief IPsec: Add/delete Security Policy Database entry
+
+ See RFC 4301, 4.4.1.1 on how to match packet to selectors
+
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_add - add SPD if non-zero, else delete
+ @param spd_id - SPD instance id (control plane allocated)
+ @param priority - priority of SPD entry (non-unique value). Used to order SPD matching - higher priorities match before lower
+ @param is_outbound - entry applies to outbound traffic if non-zero, otherwise applies to inbound traffic
+ @param is_ipv6 - remote/local address are IPv6 if non-zero, else IPv4
+ @param remote_address_start - start of remote address range to match
+ @param remote_address_stop - end of remote address range to match
+ @param local_address_start - start of local address range to match
+ @param local_address_stop - end of local address range to match
+ @param protocol - protocol type to match [0 means any]
+ @param remote_port_start - start of remote port range to match ...
+ @param remote_port_stop - end of remote port range to match [0 to 65535 means ANY, 65535 to 0 means OPAQUE]
+ @param local_port_start - start of local port range to match ...
+ @param local_port_stop - end of remote port range to match [0 to 65535 means ANY, 65535 to 0 means OPAQUE]
+ @param policy - 0 = bypass (no IPsec processing), 1 = discard (discard packet with ICMP processing), 2 = resolve (send request to control plane for SA resolving, and discard without ICMP processing), 3 = protect (apply IPsec policy using following parameters)
+ @param sa_id - SAD instance id (control plane allocated)
+
+*/
+
+define ipsec_spd_add_del_entry {
+ u32 client_index;
+ u32 context;
+ u8 is_add;
+
+ u32 spd_id;
+ i32 priority;
+ u8 is_outbound;
+
+ // Selector
+ u8 is_ipv6;
+ u8 is_ip_any;
+ u8 remote_address_start[16];
+ u8 remote_address_stop[16];
+ u8 local_address_start[16];
+ u8 local_address_stop[16];
+
+ u8 protocol;
+
+ u16 remote_port_start;
+ u16 remote_port_stop;
+ u16 local_port_start;
+ u16 local_port_stop;
+
+ // Policy
+ u8 policy;
+ u32 sa_id;
+};
+
+/** \brief Reply for IPsec: Add/delete Security Policy Database entry
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+
+define ipsec_spd_add_del_entry_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief IPsec: Add/delete Security Association Database entry
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_add - add SAD entry if non-zero, else delete
+
+ @param sad_id - sad id
+
+ @param spi - security parameter index
+
+ @param protocol - 0 = AH, 1 = ESP
+
+ @param crypto_algorithm - 0 = Null, 1 = AES-CBC-128, 2 = AES-CBC-192, 3 = AES-CBC-256, 4 = 3DES-CBC
+ @param crypto_key_length - length of crypto_key in bytes
+ @param crypto_key - crypto keying material
+
+ @param integrity_algorithm - 0 = None, 1 = MD5-96, 2 = SHA1-96, 3 = SHA-256, 4 = SHA-384, 5=SHA-512
+ @param integrity_key_length - length of integrity_key in bytes
+ @param integrity_key - integrity keying material
+
+ @param use_extended_sequence_number - use ESN when non-zero
+
+ @param is_tunnel - IPsec tunnel mode if non-zero, else transport mode
+ @param is_tunnel_ipv6 - IPsec tunnel mode is IPv6 if non-zero, else IPv4 tunnel only valid if is_tunnel is non-zero
+ @param tunnel_src_address - IPsec tunnel source address IPv6 if is_tunnel_ipv6 is non-zero, else IPv4. Only valid if is_tunnel is non-zero
+ @param tunnel_dst_address - IPsec tunnel destination address IPv6 if is_tunnel_ipv6 is non-zero, else IPv4. Only valid if is_tunnel is non-zero
+
+ To be added:
+ Anti-replay
+ IPsec tunnel address copy mode (to support GDOI)
+ */
+
+define ipsec_sad_add_del_entry {
+ u32 client_index;
+ u32 context;
+ u8 is_add;
+
+ u32 sad_id;
+
+ u32 spi;
+
+ u8 protocol;
+
+ u8 crypto_algorithm;
+ u8 crypto_key_length;
+ u8 crypto_key[128];
+
+ u8 integrity_algorithm;
+ u8 integrity_key_length;
+ u8 integrity_key[128];
+
+ u8 use_extended_sequence_number;
+
+ u8 is_tunnel;
+ u8 is_tunnel_ipv6;
+ u8 tunnel_src_address[16];
+ u8 tunnel_dst_address[16];
+};
+
+/** \brief Reply for IPsec: Add/delete Security Association Database entry
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+
+define ipsec_sad_add_del_entry_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief IPsec: Update Security Association keys
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+
+ @param sa_id - sa id
+
+ @param crypto_key_length - length of crypto_key in bytes
+ @param crypto_key - crypto keying material
+
+ @param integrity_key_length - length of integrity_key in bytes
+ @param integrity_key - integrity keying material
+*/
+
+define ipsec_sa_set_key {
+ u32 client_index;
+ u32 context;
+
+ u32 sa_id;
+
+ u8 crypto_key_length;
+ u8 crypto_key[128];
+
+ u8 integrity_key_length;
+ u8 integrity_key[128];
+};
+
+/** \brief Reply for IPsec: Update Security Association keys
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+
+define ipsec_sa_set_key_reply {
+ u32 context;
+ 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
+ @param is_ipv6 - if non-zero the address is ipv6, else ipv4
+ @param host_address - Host IP address
@param router_address - Router IP address
@param host_mac - Host MAC address
*/
u16 mtu;
};
-/** \brief Reply for MAP domain add
- @param context - returned sender context, to match reply w/ request
- @param index - MAP domain index
- @param retval - return code
+/** \brief Reply for MAP domain add
+ @param context - returned sender context, to match reply w/ request
+ @param index - MAP domain index
+ @param retval - return code
+*/
+define map_add_domain_reply {
+ u32 context;
+ u32 index;
+ i32 retval;
+};
+
+/** \brief Delete MAP domain
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param index - MAP Domain index
+*/
+define map_del_domain {
+ u32 client_index;
+ u32 context;
+ u32 index;
+};
+
+/** \brief Reply for MAP domain del
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define map_del_domain_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief Add or Delete MAP rule from a domain (Only used for shared IPv4 per subscriber)
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param index - MAP Domain index
+ @param is_add - If 1 add rule, if 0 delete rule
+ @param ip6_dst - MAP CE IPv6 address
+ @param psid - Rule PSID
+*/
+define map_add_del_rule {
+ u32 client_index;
+ u32 context;
+ u32 index;
+ u32 is_add;
+ u8 ip6_dst[16];
+ u16 psid;
+};
+
+/** \brief Reply for MAP rule add/del
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+define map_add_del_rule_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief Get list of map domains
+ @param client_index - opaque cookie to identify the sender
+*/
+define map_domain_dump {
+ u32 client_index;
+ u32 context;
+};
+
+manual_java define map_domain_details {
+ u32 context;
+ u32 domain_index;
+ u8 ip6_prefix[16];
+ u8 ip4_prefix[4];
+ u8 ip6_src[16];
+ u8 ip6_prefix_len;
+ u8 ip4_prefix_len;
+ u8 ip6_src_len;
+ u8 ea_bits_len;
+ u8 psid_offset;
+ u8 psid_length;
+ u8 flags;
+ u16 mtu;
+ u8 is_translation;
+};
+
+define map_rule_dump {
+ u32 client_index;
+ u32 context;
+ u32 domain_index;
+};
+
+manual_java define map_rule_details {
+ u32 context;
+ u8 ip6_dst[16];
+ u16 psid;
+};
+
+/** \brief Request for a single block of summary stats
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+*/
+define map_summary_stats {
+ u32 client_index;
+ u32 context;
+};
+
+/** \brief Reply for map_summary_stats request
+ @param context - sender context, to match reply w/ request
+ @param retval - return code for request
+ @param total_bindings -
+ @param total_pkts -
+ @param total_ip4_fragments -
+ @param total_security_check -
+*/
+define map_summary_stats_reply {
+ u32 context;
+ i32 retval;
+ u64 total_bindings;
+ u64 total_pkts[2];
+ u64 total_bytes[2];
+ u64 total_ip4_fragments;
+ u64 total_security_check[2];
+};
+
+/** \brief cop: enable/disable junk filtration features on an interface
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param sw_if_inded - desired interface
+ @param enable_disable - 1 => enable, 0 => disable
+*/
+
+define cop_interface_enable_disable {
+ u32 client_index;
+ u32 context;
+ u32 sw_if_index;
+ u8 enable_disable;
+};
+
+/** \brief cop: interface enable/disable junk filtration reply
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+
+define cop_interface_enable_disable_reply {
+ u32 context;
+ i32 retval;
+};
+
+/** \brief cop: enable/disable whitelist filtration features on an interface
+ Note: the supplied fib_id must match in order to remove the feature!
+
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param sw_if_index - interface handle, physical interfaces only
+ @param fib_id - fib identifier for the whitelist / blacklist fib
+ @param ip4 - 1 => enable ip4 filtration, 0=> disable ip4 filtration
+ @param ip6 - 1 => enable ip6 filtration, 0=> disable ip6 filtration
+ @param default_cop - 1 => enable non-ip4, non-ip6 filtration 0=> disable it
+*/
+
+define cop_whitelist_enable_disable {
+ u32 client_index;
+ u32 context;
+ u32 sw_if_index;
+ u32 fib_id;
+ u8 ip4;
+ u8 ip6;
+ u8 default_cop;
+};
+
+/** \brief cop: interface enable/disable junk filtration reply
+ @param context - returned sender context, to match reply w/ request
+ @param retval - return code
+*/
+
+define cop_whitelist_enable_disable_reply {
+ u32 context;
+ 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 map_add_domain_reply {
+define trace_profile_apply_reply {
u32 context;
- u32 index;
i32 retval;
};
-/** \brief Delete MAP domain
+/** \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 map_del_domain {
+define trace_profile_del {
u32 client_index;
u32 context;
- u32 index;
+ u16 id;
};
-/** \brief Reply for MAP domain del
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
+/** \brief Trace profile add / del response
+ @param context - sender context, to match reply w/ request
+ @param retval - return value for request
*/
-define map_del_domain_reply {
- u32 context;
- i32 retval;
+define trace_profile_del_reply {
+ u32 context;
+ i32 retval;
};
-/** \brief Add or Delete MAP rule from a domain (Only used for shared IPv4 per subscriber)
+/** \brief Create host-interface
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param index - MAP Domain index
- @param is_add - If 1 add rule, if 0 delete rule
- @param ip6_dst - MAP CE IPv6 address
- @param psid - Rule PSID
+ @param host_if_name - interface name
+ @param hw_addr - interface MAC
+ @param use_random_hw_addr - use random generated MAC
*/
-define map_add_del_rule {
- u32 client_index;
- u32 context;
- u32 index;
- u32 is_add;
- u8 ip6_dst[16];
- u16 psid;
+define af_packet_create {
+ u32 client_index;
+ u32 context;
+
+ u8 host_if_name[64];
+ u8 hw_addr[6];
+ u8 use_random_hw_addr;
};
-/** \brief Reply for MAP rule add/del
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
+/** \brief Create host-interface response
+ @param context - sender context, to match reply w/ request
+ @param retval - return value for request
*/
-define map_add_del_rule_reply {
- u32 context;
- i32 retval;
+define af_packet_create_reply {
+ u32 context;
+ i32 retval;
+ u32 sw_if_index;
};
-/** \brief Get list of map domains
+/** \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 map_domain_dump {
- u32 client_index;
- u32 context;
+define af_packet_delete {
+ u32 client_index;
+ u32 context;
+
+ u8 host_if_name[64];
};
-manual_java define map_domain_details {
- u32 domain_index;
- u8 ip6_prefix[16];
- u8 ip4_prefix[4];
- u8 ip6_src[16];
- u8 ip6_prefix_len;
- u8 ip4_prefix_len;
- u8 ip6_src_len;
- u8 ea_bits_len;
- u8 psid_offset;
- u8 psid_length;
- u8 flags;
- u16 mtu;
- u8 is_translation;
+/** \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;
};
-define map_rule_dump {
- u32 client_index;
- u32 context;
- u32 domain_index;
+/** \brief Add/del policer
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_add - add policer if non-zero, else delete
+ @param name - policer name
+ @param cir - CIR
+ @param eir - EIR
+ @param cb - Committed Burst
+ @param eb - Excess or Peak Burst
+ @param rate_type - rate type
+ @param round_type - rounding type
+ @param type - policer algorithm
+*/
+define policer_add_del {
+ u32 client_index;
+ u32 context;
+
+ u8 is_add;
+ u8 name[64];
+ u32 cir;
+ u32 eir;
+ u64 cb;
+ u64 eb;
+ u8 rate_type;
+ u8 round_type;
+ u8 type;
};
-manual_java define map_rule_details {
- u8 ip6_dst[16];
- u16 psid;
+/** \brief Add/del policer response
+ @param context - sender context, to match reply w/ request
+ @param retval - return value for request
+*/
+define policer_add_del_reply {
+ u32 context;
+ i32 retval;
};
-/** \brief Request for a single block of summary stats
+/** \brief Get list of policers
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
+ @param match_name_valid - if 0 request all policers otherwise use match_name
+ @param match_name - policer name
*/
-define map_summary_stats {
+define policer_dump {
+ u32 client_index;
+ u32 context;
+
+ u8 match_name_valid;
+ u8 match_name[64];
+};
+
+/** \brief Policer operational state response.
+ @param context - sender context, to match reply w/ request
+ @param name - policer name
+ @param cir - CIR
+ @param eir - EIR
+ @param cb - Committed Burst
+ @param eb - Excess or Peak Burst
+ @param rate_type - rate type
+ @param round_type - rounding type
+ @param type - policer algorithm
+ @param single_rate - 1 = single rate policer, 0 = two rate policer
+ @param color_aware - for hierarchical policing
+ @param scale - power-of-2 shift amount for lower rates
+ @param cir_tokens_per_period - number of tokens for each period
+ @param pir_tokens_per_period - number of tokens for each period for 2-rate policer
+ @param current_limit - current limit
+ @param current_bucket - current bucket
+ @param extended_limit - extended limit
+ @param extended_bucket - extended bucket
+ @param last_update_time - last update time
+*/
+manual_java define policer_details {
+ u32 context;
+
+ u8 name[64];
+ u32 cir;
+ u32 eir;
+ u64 cb;
+ u64 eb;
+ u8 rate_type;
+ u8 round_type;
+ u8 type;
+ u8 single_rate;
+ u8 color_aware;
+ u32 scale;
+ u32 cir_tokens_per_period;
+ u32 pir_tokens_per_period;
+ u32 current_limit;
+ u32 current_bucket;
+ u32 extended_limit;
+ u32 extended_bucket;
+ u64 last_update_time;
+};
+
+/** \brief Create netmap
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param netmap_if_name - interface name
+ @param hw_addr - interface MAC
+ @param use_random_hw_addr - use random generated MAC
+ @param is_pipe - is pipe
+ @param is_master - 0=slave, 1=master
+*/
+define netmap_create {
u32 client_index;
u32 context;
+
+ u8 netmap_if_name[64];
+ u8 hw_addr[6];
+ u8 use_random_hw_addr;
+ u8 is_pipe;
+ u8 is_master;
};
-/** \brief Reply for map_summary_stats request
+/** \brief Create netmap response
@param context - sender context, to match reply w/ request
- @param retval - return code for request
- @param total_bindings -
- @param total_pkts -
- @param total_ip4_fragments -
- @param total_security_check -
+ @param retval - return value for request
*/
-define map_summary_stats_reply {
+define netmap_create_reply {
u32 context;
i32 retval;
- u64 total_bindings;
- u64 total_pkts[2];
- u64 total_bytes[2];
- u64 total_ip4_fragments;
- u64 total_security_check[2];
};
-/** \brief cop: enable/disable junk filtration features on an interface
+/** \brief Delete netmap
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param sw_if_inded - desired interface
- @param enable_disable - 1 => enable, 0 => disable
+ @param netmap_if_name - interface name
+*/
+define netmap_delete {
+ u32 client_index;
+ u32 context;
+
+ u8 netmap_if_name[64];
+};
+
+/** \brief Delete netmap response
+ @param context - sender context, to match reply w/ request
+ @param retval - return value for request
*/
+define netmap_delete_reply {
+ u32 context;
+ i32 retval;
+};
-define cop_interface_enable_disable {
+/** \brief Dump mpls gre tunnel table
+ @param client_index - opaque cookie to identify the sender
+ @param tunnel_index - gre tunnel identifier or -1 in case of all tunnels
+*/
+define mpls_gre_tunnel_dump {
u32 client_index;
u32 context;
- u32 sw_if_index;
- u8 enable_disable;
+ i32 tunnel_index;
};
-/** \brief cop: interface enable/disable junk filtration reply
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
+/** \brief mpls gre tunnel operational state response
+ @param tunnel_index - gre tunnel identifier
+ @param intfc_address - interface ipv4 addr
+ @param mask_width - interface ipv4 addr mask
+ @param hw_if_index - interface id
+ @param l2_only -
+ @param tunnel_src - tunnel source ipv4 addr
+ @param tunnel_dst - tunnel destination ipv4 addr
+ @param outer_fib_index - gre tunnel identifier
+ @param encap_index - reference to mpls label table
+ @param nlabels - number of resolved labels
+ @param labels - resolved labels
*/
+manual_java define mpls_gre_tunnel_details {
+ u32 context;
+ u32 tunnel_index;
-define cop_interface_enable_disable_reply {
+ u32 intfc_address;
+ u32 inner_fib_index;
+ u32 mask_width;
+ u32 encap_index;
+ u32 hw_if_index;
+ u8 l2_only;
+ u32 tunnel_src;
+ u32 tunnel_dst;
+ u32 outer_fib_index;
+ u32 nlabels;
+ u32 labels[0];
+};
+
+/** \brief Dump mpls eth tunnel table
+ @param client_index - opaque cookie to identify the sender
+ @param tunnel_index - eth tunnel identifier or -1 in case of all tunnels
+*/
+define mpls_eth_tunnel_dump {
+ u32 client_index;
u32 context;
- i32 retval;
+ i32 tunnel_index;
};
-/** \brief cop: enable/disable whitelist filtration features on an interface
- Note: the supplied fib_id must match in order to remove the feature!
-
+/** \brief mpls eth tunnel operational state response
+ @param tunnel_index - eth tunnel identifier
+ @param intfc_address - interface ipv4 addr
+ @param mask_width - interface ipv4 addr mask
+ @param hw_if_index - interface id
+ @param l2_only -
+ @param tunnel_dst_mac -
+ @param tx_sw_if_index -
+ @param encap_index - reference to mpls label table
+ @param nlabels - number of resolved labels
+ @param labels - resolved labels
+*/
+manual_java define mpls_eth_tunnel_details {
+ u32 context;
+ u32 tunnel_index;
+
+ u32 intfc_address;
+ u32 inner_fib_index;
+ u32 mask_width;
+ u32 encap_index;
+ u32 hw_if_index;
+ u8 l2_only;
+ u8 tunnel_dst_mac[6];
+ u32 tx_sw_if_index;
+ u32 nlabels;
+ u32 labels[0];
+};
+
+/** \brief Dump mpls fib table
+ @param client_index - opaque cookie to identify the sender
+ @param fib_index - mpls fib entry identifier or -1 in case of all entries
+*/
+define mpls_fib_encap_dump {
+ u32 client_index;
+ u32 context;
+};
+
+/** \brief mpls fib encap table response
+ @param fib_index - fib table id
+ @param dest - destination ipv4 addr
+ @param s_bit -
+ @param entry_index - reference to mpls label table
+ @param nlabels - number of resolved labels
+ @param labels - resolved labels
+*/
+manual_java define mpls_fib_encap_details {
+ u32 context;
+
+ u32 fib_index;
+ u32 entry_index;
+ u32 dest;
+ u32 s_bit;
+ u32 nlabels;
+ u32 labels[0];
+};
+
+/** \brief Dump mpls fib decap table
+ @param client_index - opaque cookie to identify the sender
+ @param fib_index - mpls fib entry identifier or -1 in case of all entries
+*/
+define mpls_fib_decap_dump {
+ u32 client_index;
+ u32 context;
+};
+
+/** \brief mpls fib decap table response
+ @param fib_index - fib table id
+ @param entry_index - reference to mpls label table
+ @param dest - destination ipv4 addr
+ @param s_bit -
+ @param label - mpls labels
+ @param rx_table_id - rx fib id
+ @param tx_table_id - tx fib id
+ @param swif_tag -
+*/
+manual_java define mpls_fib_decap_details {
+ u32 context;
+
+ u32 fib_index;
+ u32 entry_index;
+ u32 dest;
+ u32 s_bit;
+ u32 label;
+ u32 rx_table_id;
+ u32 tx_table_id;
+ u8 swif_tag[8];
+};
+
+/** \brief Classify get table IDs request
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param sw_if_index - interface handle, physical interfaces only
- @param fib_id - fib identifier for the whitelist / blacklist fib
- @param ip4 - 1 => enable ip4 filtration, 0=> disable ip4 filtration
- @param ip6 - 1 => enable ip6 filtration, 0=> disable ip6 filtration
- @param default_cop - 1 => enable non-ip4, non-ip6 filtration 0=> disable it
*/
+define classify_table_ids {
+ u32 client_index;
+ u32 context;
+};
-define cop_whitelist_enable_disable {
+/** \brief Reply for classify get table IDs request
+ @param context - sender context which was passed in the request
+ @param count - number of ids returned in response
+ @param ids - array of classify table ids
+*/
+manual_java define classify_table_ids_reply {
+ u32 context;
+ u32 retval;
+ u32 count;
+ u32 ids[0];
+};
+
+/** \brief Classify table ids by interface index request
+ @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
+*/
+define classify_table_by_interface {
u32 client_index;
u32 context;
u32 sw_if_index;
- u32 fib_id;
- u8 ip4;
- u8 ip6;
- u8 default_cop;
};
-/** \brief cop: interface enable/disable junk filtration reply
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
+/** \brief Reply for classify table id by interface index request
+ @param context - sender context which was passed in the request
+ @param count - number of ids returned in response
+ @param sw_if_index - index of the interface
+ @param l2_table_id - l2 classify table index
+ @param ip4_table_id - ip4 classify table index
+ @param ip6_table_id - ip6 classify table index
*/
+manual_java define classify_table_by_interface_reply {
+ u32 context;
+ u32 retval;
+ u32 sw_if_index;
+ u32 l2_table_id;
+ u32 ip4_table_id;
+ u32 ip6_table_id;
+};
-define cop_whitelist_enable_disable_reply {
+/** \brief Classify table info
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param table_id - classify table index
+*/
+define classify_table_info {
+ u32 client_index;
+ u32 context;
+ u32 table_id;
+};
+
+/** \brief Reply for classify table info request
+ @param context - sender context which was passed in the request
+ @param count - number of ids returned in response
+ @param table_id - classify table index
+ @param nbuckets - number of buckets when adding a table
+ @param match_n_vectors - number of match vectors
+ @param skip_n_vectors - number of skip_n_vectors
+ @param active_sessions - number of sessions (active entries)
+ @param next_table_index - index of next table
+ @param miss_next_index - index of miss table
+ @param mask[] - match mask
+*/
+manual_java define classify_table_info_reply {
u32 context;
i32 retval;
+ u32 table_id;
+ u32 nbuckets;
+ u32 match_n_vectors;
+ u32 skip_n_vectors;
+ u32 active_sessions;
+ u32 next_table_index;
+ u32 miss_next_index;
+ u32 mask_length;
+ u8 mask[0];
+};
+
+/** \brief Classify sessions dump request
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param table_id - classify table index
+*/
+define classify_session_dump {
+ u32 client_index;
+ u32 context;
+ u32 table_id;
};
+/** \brief Reply for classify table session dump request
+ @param context - sender context which was passed in the request
+ @param count - number of ids returned in response
+ @param table_id - classify table index
+ @param hit_next_index - hit_next_index of session
+ @param opaque_index - for add, opaque_index of session
+ @param advance - advance value of session
+ @param match[] - match value for session
+*/
+manual_java define classify_session_details {
+ u32 context;
+ i32 retval;
+ u32 table_id;
+ u32 hit_next_index;
+ i32 advance;
+ u32 opaque_index;
+ u32 match_length;
+ u8 match[0];
+};