* limitations under the License.
*/
-option version = "1.0.0";
+option version = "2.0.1";
+import "vnet/interface_types.api";
+import "vnet/ip/ip_types.api";
-/** \brief Set or delete an GTPU tunnel
+/** \brief Create or delete a GTPU tunnel
@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 is_ipv6 - src_address and dst_address is ipv6 or not
@param src_address - GTPU tunnel's source address.
@param dst_address - GTPU tunnel's destination address.
@param mcast_sw_if_index - version, O-bit and C-bit (see nsh_packet.h)
@param encap_vrf_id - fib identifier used for outgoing encapsulated packets
@param decap_next_index - the index of the next node if success
- @param teid - Local Tunnel Endpoint Identifier
+ @param teid - Local (rx) Tunnel Endpoint Identifier
+ @param tteid - Remote (tx) Tunnel Endpoint Identifier
*/
define gtpu_add_del_tunnel
{
u32 client_index;
u32 context;
- u8 is_add;
- u8 is_ipv6;
- u8 src_address[16];
- u8 dst_address[16];
- u32 mcast_sw_if_index;
+ bool is_add;
+ vl_api_address_t src_address;
+ vl_api_address_t dst_address;
+ vl_api_interface_index_t mcast_sw_if_index;
u32 encap_vrf_id;
u32 decap_next_index;
u32 teid;
- option vat_help = "src <ip-addr> { dst <ip-addr> | group <mcast-ip-addr> { <intfc> | mcast_sw_if_index <nn> } } teid <teid> [encap-vrf-id <nn>] [decap-next <l2|nn>] [del]";
+ u32 tteid;
+ option vat_help = "src <ip-addr> {dst <ip-addr> | group <mcast-ip-addr> {<intfc> | mcast_sw_if_index <nn>}} teid <nn> [tteid <nn>] [encap-vrf-id <nn>] [decap-next <l2|nn>] [del]";
};
/** \brief reply for set or delete an GTPU tunnel
{
u32 context;
i32 retval;
- u32 sw_if_index;
+ vl_api_interface_index_t sw_if_index;
+};
+
+/** \brief Update GTPU tunnel TX TEID
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param dst_address - GTPU tunnel's destination address.
+ @param encap_vrf_id - fib identifier used for outgoing encapsulated packets
+ @param teid - Local (rx) Tunnel Endpoint Identifier
+ @param tteid - remote (tx) Tunnel Endpoint Identifier
+*/
+autoreply define gtpu_tunnel_update_tteid
+{
+ u32 client_index;
+ u32 context;
+ vl_api_address_t dst_address;
+ u32 encap_vrf_id;
+ u32 teid;
+ u32 tteid;
+ option vat_help = "dst <ip-addr> teid <nn> tteid <nn> [encap-vrf-id <nn>]";
};
/** \brief Dump GTPU tunnel
{
u32 client_index;
u32 context;
- u32 sw_if_index;
+ vl_api_interface_index_t sw_if_index;
option vat_help = "[<intfc> | sw_if_index <nn>]";
};
/** \brief dump details of an GTPU tunnel
@param context - sender context, to match reply w/ request
@param sw_if_index - software index of the interface
- @param is_ipv6 - src_address and dst_address is ipv6 or not
@param src_address - GTPU tunnel's source address.
@param dst_address - GTPU tunnel's destination address.
@param mcast_sw_if_index - version, O-bit and C-bit (see nsh_packet.h)
@param encap_vrf_id - fib identifier used for outgoing encapsulated packets
@param decap_next_index - the index of the next node if success
- @param teid - Local Tunnel Endpoint Identifier
+ @param teid - Local (rx) Tunnel Endpoint Identifier
+ @param tteid - Remote (tx) Tunnel Endpoint Identifier
*/
define gtpu_tunnel_details
{
u32 context;
- u32 sw_if_index;
- u8 is_ipv6;
- u8 src_address[16];
- u8 dst_address[16];
- u32 mcast_sw_if_index;
+ vl_api_interface_index_t sw_if_index;
+ vl_api_address_t src_address;
+ vl_api_address_t dst_address;
+ vl_api_interface_index_t mcast_sw_if_index;
u32 encap_vrf_id;
u32 decap_next_index;
u32 teid;
+ u32 tteid;
};
/** \brief Interface set gtpu-bypass request
{
u32 client_index;
u32 context;
+ vl_api_interface_index_t sw_if_index;
+ bool is_ipv6;
+ bool enable;
+ option vat_help = "<intfc> | sw_if_index <id> [ip4 | ip6] [enable | disable]";
+};
+
+/** \brief Offload gtpu rx request
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param hw_if_index - rx hw interface
+ @param sw_if_index - gtpu interface to offload
+ @param enable - if non-zero enable, else disable
+*/
+autoreply define gtpu_offload_rx
+{
+ u32 client_index;
+ u32 context;
+ u32 hw_if_index;
u32 sw_if_index;
- u8 is_ipv6;
u8 enable;
- option vat_help = "<intfc> | sw_if_index <id> [ip4 | ip6] [enable | disable]";
+ option vat_help = "hw <intfc> rx <tunnel-name> [del]";
};
/*