diff options
author | John Lo <loj@cisco.com> | 2020-06-11 00:20:45 -0400 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2020-06-16 07:25:30 +0000 |
commit | 9ebbb5c41620066d45915020569db9e4316450a5 (patch) | |
tree | 8529b395f4063e7b20064e4d2cb89fc9a39395e4 /src/plugins/gtpu/gtpu.api | |
parent | a0e8d9669e980c673f5302e7bff0c06b31d46b56 (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.api | 33 |
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 |