/* * Copyright (c) 2017 Intel and/or its affiliates. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ option version = "2.0.1"; import "vnet/interface_types.api"; import "vnet/ip/ip_types.api"; /** \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 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 (rx) Tunnel Endpoint Identifier @param tteid - Remote (tx) Tunnel Endpoint Identifier */ define gtpu_add_del_tunnel { u32 client_index; u32 context; 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; 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 @param context - sender context, to match reply w/ request @param retval - return code @param sw_if_index - software index of the interface */ define gtpu_add_del_tunnel_reply { u32 context; i32 retval; 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 @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param sw_if_index - software index of the interface */ define gtpu_tunnel_dump { u32 client_index; u32 context; 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 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 (rx) Tunnel Endpoint Identifier @param tteid - Remote (tx) Tunnel Endpoint Identifier */ define gtpu_tunnel_details { u32 context; 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 @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param sw_if_index - interface used to reach neighbor @param is_ipv6 - if non-zero, enable ipv6-gtpu-bypass, else ipv4-gtpu-bypass @param enable - if non-zero enable, else disable */ autoreply define sw_interface_set_gtpu_bypass { 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 enable; option vat_help = "hw <intfc> rx <tunnel-name> [del]"; }; /* * Local Variables: * eval: (c-set-style "gnu") * End: */