+ vl_api_punt_redirect_t punt;
+ bool is_add [default=true];
+};
+
+define ip_punt_redirect_dump
+{
+ u32 client_index;
+ u32 context;
+ vl_api_interface_index_t sw_if_index;
+ bool is_ipv6;
+};
+
+define ip_punt_redirect_details
+{
+ u32 context;
+ vl_api_punt_redirect_t punt;
+};
+
+autoreply define ip_container_proxy_add_del
+{
+ u32 client_index;
+ u32 context;
+ vl_api_prefix_t pfx;
+ vl_api_interface_index_t sw_if_index;
+ bool is_add [default=true];
+};
+
+define ip_container_proxy_dump
+{
+ u32 client_index;
+ u32 context;
+};
+
+define ip_container_proxy_details
+{
+ u32 context;
+ vl_api_interface_index_t sw_if_index;
+ vl_api_prefix_t prefix;
+};
+
+/** \brief Configure IP source and L4 port-range check
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param is_ip6 - 1 if source address type is IPv6
+ @param is_add - 1 if add, 0 if delete
+ @param ip - prefix to match
+ @param number_of_ranges - length of low_port and high_port arrays (must match)
+ @param low_ports[32] - up to 32 low end of port range entries (must have corresponding high_ports entry)
+ @param high_ports[32] - up to 32 high end of port range entries (must have corresponding low_ports entry)
+ @param vrf_id - fib table/vrf id to associate the source and port-range check with
+ @note To specify a single port set low_port and high_port entry the same
+*/
+autoreply define ip_source_and_port_range_check_add_del
+{
+ u32 client_index;
+ u32 context;
+ bool is_add [default=true];
+ vl_api_prefix_t prefix;
+ u8 number_of_ranges;
+ u16 low_ports[32];
+ u16 high_ports[32];
+ u32 vrf_id;
+};
+
+/** \brief Set interface source and L4 port-range request
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param interface_id - interface index
+ @param tcp_vrf_id - VRF associated with source and TCP port-range check
+ @param udp_vrf_id - VRF associated with source and TCP port-range check
+*/
+autoreply define ip_source_and_port_range_check_interface_add_del
+{
+ u32 client_index;
+ u32 context;
+ bool is_add [default=true];
+ vl_api_interface_index_t sw_if_index;
+ u32 tcp_in_vrf_id;
+ u32 tcp_out_vrf_id;
+ u32 udp_in_vrf_id;
+ u32 udp_out_vrf_id;
+};
+
+/** \brief IPv6 set link local address on 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 link local on
+ @param ip - the new link local address
+*/
+autoreply define sw_interface_ip6_set_link_local_address
+{
+ u32 client_index;
+ u32 context;
+ vl_api_interface_index_t sw_if_index;
+ vl_api_ip6_address_t ip;
+};
+
+/** \brief IPv6 get link local address on 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 link local on
+*/
+define sw_interface_ip6_get_link_local_address
+{
+ u32 client_index;
+ u32 context;
+ vl_api_interface_index_t sw_if_index;
+};
+
+/** \brief IPv6 link local address detail
+ @param context - sender context, to match reply w/ request
+ @param ip - the link local address
+*/
+define sw_interface_ip6_get_link_local_address_reply
+{
+ u32 context;
+ i32 retval;
+ vl_api_ip6_address_t ip;
+};
+
+/** \brief IOAM enable : Enable in-band OAM
+ @param id - profile id
+ @param seqno - To enable Seqno Processing
+ @param analyse - Enabling analysis of iOAM at decap node
+ @param pow_enable - Proof of Work enabled or not flag
+ @param trace_enable - iOAM Trace enabled or not flag
+*/
+autoreply define ioam_enable
+{
+ u32 client_index;
+ u32 context;
+ u16 id;
+ bool seqno;
+ bool analyse;
+ bool pot_enable;
+ bool trace_enable;
+ u32 node_id;
+};
+
+/** \brief iOAM disable
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param index - MAP Domain index
+*/
+autoreply define ioam_disable
+{
+ u32 client_index;
+ u32 context;
+ u16 id;
+};
+
+enum ip_reass_type
+{
+ IP_REASS_TYPE_FULL = 0,
+ IP_REASS_TYPE_SHALLOW_VIRTUAL = 0x1,
+};
+
+autoreply define ip_reassembly_set
+{
+ u32 client_index;
+ u32 context;
+ u32 timeout_ms;
+ u32 max_reassemblies;
+ u32 max_reassembly_length;
+ u32 expire_walk_interval_ms;
+ bool is_ip6;
+ vl_api_ip_reass_type_t type;
+};
+
+define ip_reassembly_get
+{
+ u32 client_index;
+ u32 context;
+ bool is_ip6;
+ vl_api_ip_reass_type_t type;
+};
+
+define ip_reassembly_get_reply
+{
+ u32 context;
+ i32 retval;
+ u32 timeout_ms;
+ u32 max_reassemblies;
+ u32 max_reassembly_length;
+ u32 expire_walk_interval_ms;
+ bool is_ip6;
+};
+
+/** \brief Enable/disable reassembly feature
+ @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 feature on
+ @param enable_ip4 - enable ip4 reassembly if non-zero, disable if 0
+ @param enable_ip6 - enable ip6 reassembly if non-zero, disable if 0
+*/
+autoreply define ip_reassembly_enable_disable
+{
+ u32 client_index;
+ u32 context;
+ vl_api_interface_index_t sw_if_index;
+ bool enable_ip4;
+ bool enable_ip6;
+ vl_api_ip_reass_type_t type;