aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/gtpu/gtpu.api
diff options
context:
space:
mode:
authorJohn Lo <loj@cisco.com>2020-06-11 00:20:45 -0400
committerFlorin Coras <florin.coras@gmail.com>2020-06-16 07:25:30 +0000
commit9ebbb5c41620066d45915020569db9e4316450a5 (patch)
tree8529b395f4063e7b20064e4d2cb89fc9a39395e4 /src/plugins/gtpu/gtpu.api
parenta0e8d9669e980c673f5302e7bff0c06b31d46b56 (diff)
gtpu: support separate rx-decap and encap-tx teid values
Support separate local and remote TEIDs, with local (or RX) one used for GTPU tunnel RX/decap and remote (or TX) one used encap/TX. Updated current gtpu API to support seperate RX/TX TEIDs and added new gtpu_tunnel_update_tteid API to allow changing TX-TEID of an existing GTPU tunnel. The current tunnel field "teid" is used for RX-TEID and a new field "tteid" is used for TX-TEID. Type: improvement Signed-off-by: John Lo <loj@cisco.com> Change-Id: I549d79750a34bb965036da298c0ca894d15c2c20
Diffstat (limited to 'src/plugins/gtpu/gtpu.api')
-rw-r--r--src/plugins/gtpu/gtpu.api33
1 files changed, 28 insertions, 5 deletions
diff --git a/src/plugins/gtpu/gtpu.api b/src/plugins/gtpu/gtpu.api
index f084cc84e19..ec4933af197 100644
--- a/src/plugins/gtpu/gtpu.api
+++ b/src/plugins/gtpu/gtpu.api
@@ -13,11 +13,11 @@
* limitations under the License.
*/
-option version = "2.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
@@ -26,7 +26,8 @@ import "vnet/ip/ip_types.api";
@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
{
@@ -39,7 +40,8 @@ define gtpu_add_del_tunnel
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
@@ -54,6 +56,25 @@ define gtpu_add_del_tunnel_reply
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
@@ -75,7 +96,8 @@ define gtpu_tunnel_dump
@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
{
@@ -87,6 +109,7 @@ define gtpu_tunnel_details
u32 encap_vrf_id;
u32 decap_next_index;
u32 teid;
+ u32 tteid;
};
/** \brief Interface set gtpu-bypass request