- i32 advance;
- u8 action;
- u32 metadata;
- u8 match[0];
-};
-
-/** \brief Classify add / del session response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the add/del session request
-*/
-define classify_add_del_session_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief Set/unset the classification table for an interface request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_ipv6 - ipv6 if non-zero, else ipv4
- @param sw_if_index - interface to associate with the table
- @param table_index - index of the table, if ~0 unset the table
-*/
-define classify_set_interface_ip_table
-{
- u32 client_index;
- u32 context;
- u8 is_ipv6;
- u32 sw_if_index;
- u32 table_index; /* ~0 => off */
-};
-
-/** \brief Set/unset interface classification table response
- @param context - sender context, to match reply w/ request
- @param retval - return code
-*/
-define classify_set_interface_ip_table_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief Set/unset l2 classification tables for an interface request
- @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 tables for
- @param ip4_table_index - ip4 index, use ~0 for all 3 indexes to unset
- @param ip6_table_index - ip6 index
- @param other_table_index - other index
-*/
-define classify_set_interface_l2_tables
-{
- u32 client_index;
- u32 context;
- u32 sw_if_index;
- /* 3 x ~0 => off */
- u32 ip4_table_index;
- u32 ip6_table_index;
- u32 other_table_index;
- u8 is_input;
-};
-
-/** \brief Set/unset l2 classification tables for an interface response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define classify_set_interface_l2_tables_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief Get node index using name request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param node_name[] - name of the node
-*/
-define get_node_index
-{
- u32 client_index;
- u32 context;
- u8 node_name[64];
-};
-
-/** \brief Get node index using name request
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
- @param node_index - index of the desired node if found, else ~0
-*/
-define get_node_index_reply
-{
- u32 context;
- i32 retval;
- u32 node_index;
-};
-
-/** \brief Set the next node for a given node request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param node_name[] - node to add the next node to
- @param next_name[] - node to add as the next node
-*/
-define add_node_next
-{
- u32 client_index;
- u32 context;
- u8 node_name[64];
- u8 next_name[64];
-};
-
-/** \brief IP Set the next node for a given node response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the add next node request
- @param next_index - the index of the next node if success, else ~0
-*/
-define add_node_next_reply
-{
- u32 context;
- i32 retval;
- u32 next_index;
-};
-
-/** \brief DHCP Proxy config 2 add / del request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param rx_vrf_id - receive vrf id
- @param server_vrf_id - server vrf id
- @param if_ipv6 - ipv6 if non-zero, else ipv4
- @param is_add - add the config if non-zero, else delete
- @param insert_circuit_id - option82 suboption 1 fib number
- @param dhcp_server[] - server address
- @param dhcp_src_address[] - <fix this, need details>
-*/
-define dhcp_proxy_config_2
-{
- u32 client_index;
- u32 context;
- u32 rx_vrf_id;
- u32 server_vrf_id;
- u8 is_ipv6;
- u8 is_add;
- u8 insert_circuit_id;
- u8 dhcp_server[16];
- u8 dhcp_src_address[16];
-};
-
-/** \brief DHCP Proxy config 2 add / del response
- @param context - sender context, to match reply w/ request
- @param retval - return code for request
-*/
-define dhcp_proxy_config_2_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief l2tpv3 tunnel interface create request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param client_address - remote client tunnel ip address
- @param client_address - local tunnel ip address
- @param is_ipv6 - ipv6 if non-zero, else ipv4
- @param local_session_id - local tunnel session id
- @param remote_session_id - remote tunnel session id
- @param local_cookie - local tunnel cookie
- @param l2_sublayer_present - l2 sublayer is present in packets if non-zero
- @param encap_vrf_id - fib identifier used for outgoing encapsulated packets
-*/
-define l2tpv3_create_tunnel
-{
- u32 client_index;
- u32 context;
- u8 client_address[16];
- u8 our_address[16];
- u8 is_ipv6;
- u32 local_session_id;
- u32 remote_session_id;
- u64 local_cookie;
- u64 remote_cookie;
- u8 l2_sublayer_present;
- u32 encap_vrf_id;
-};
-
-/** \brief l2tpv3 tunnel interface create response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
- @param sw_if_index - index of the new tunnel interface
-*/
-define l2tpv3_create_tunnel_reply
-{
- u32 context;
- i32 retval;
- u32 sw_if_index;
-};
-
-define l2tpv3_set_tunnel_cookies
-{
- u32 client_index;
- u32 context;
- u32 sw_if_index;
- u64 new_local_cookie;
- u64 new_remote_cookie;
-};
-
-/** \brief L2TP tunnel set cookies response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define l2tpv3_set_tunnel_cookies_reply
-{
- u32 context;
- i32 retval;
-};
-
-define sw_if_l2tpv3_tunnel_details
-{
- u32 context;
- u32 sw_if_index;
- u8 interface_name[64];
- u8 client_address[16];
- u8 our_address[16];
- u32 local_session_id;
- u32 remote_session_id;
- u64 local_cookie[2];
- u64 remote_cookie;
- u8 l2_sublayer_present;
-};
-
-define sw_if_l2tpv3_tunnel_dump
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief L2 fib clear table request, clear all mac entries in the l2 fib
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
-*/
-define l2_fib_clear_table
-{
- u32 client_index;
- u32 context;
-};
-
-/** \brief L2 fib clear table response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define l2_fib_clear_table_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief L2 interface ethernet flow point filtering enable/disable request
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param sw_if_index - interface to enable/disable filtering on
- @param enable_disable - if non-zero enable filtering, else disable
-*/
-define l2_interface_efp_filter
-{
- u32 client_index;
- u32 context;
- u32 sw_if_index;
- u32 enable_disable;
-};
-
-/** \brief L2 interface ethernet flow point filtering response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define l2_interface_efp_filter_reply
-{
- u32 context;
- i32 retval;
-};
-
-define l2tpv3_interface_enable_disable
-{
- u32 client_index;
- u32 context;
- u8 enable_disable;
- u32 sw_if_index;
-};
-
-define l2tpv3_interface_enable_disable_reply
-{
- u32 context;
- i32 retval;
-};
-
-define l2tpv3_set_lookup_key
-{
- u32 client_index;
- u32 context;
- /* 0 = ip6 src_address, 1 = ip6 dst_address, 2 = session_id */
- u8 key;