2 * Copyright (c) 2017 Intel and/or its affiliates.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at:
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
16 option version = "2.0.1";
17 import "vnet/interface_types.api";
18 import "vnet/ip/ip_types.api";
20 /** \brief Create or delete a GTPU tunnel
21 @param client_index - opaque cookie to identify the sender
22 @param context - sender context, to match reply w/ request
23 @param is_add - add address if non-zero, else delete
24 @param src_address - GTPU tunnel's source address.
25 @param dst_address - GTPU tunnel's destination address.
26 @param mcast_sw_if_index - version, O-bit and C-bit (see nsh_packet.h)
27 @param encap_vrf_id - fib identifier used for outgoing encapsulated packets
28 @param decap_next_index - the index of the next node if success
29 @param teid - Local (rx) Tunnel Endpoint Identifier
30 @param tteid - Remote (tx) Tunnel Endpoint Identifier
32 define gtpu_add_del_tunnel
37 vl_api_address_t src_address;
38 vl_api_address_t dst_address;
39 vl_api_interface_index_t mcast_sw_if_index;
44 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]";
47 /** \brief reply for set or delete an GTPU tunnel
48 @param context - sender context, to match reply w/ request
49 @param retval - return code
50 @param sw_if_index - software index of the interface
52 define gtpu_add_del_tunnel_reply
56 vl_api_interface_index_t sw_if_index;
59 /** \brief Update GTPU tunnel TX TEID
60 @param client_index - opaque cookie to identify the sender
61 @param context - sender context, to match reply w/ request
62 @param dst_address - GTPU tunnel's destination address.
63 @param encap_vrf_id - fib identifier used for outgoing encapsulated packets
64 @param teid - Local (rx) Tunnel Endpoint Identifier
65 @param tteid - remote (tx) Tunnel Endpoint Identifier
67 autoreply define gtpu_tunnel_update_tteid
71 vl_api_address_t dst_address;
75 option vat_help = "dst <ip-addr> teid <nn> tteid <nn> [encap-vrf-id <nn>]";
78 /** \brief Dump GTPU tunnel
79 @param client_index - opaque cookie to identify the sender
80 @param context - sender context, to match reply w/ request
81 @param sw_if_index - software index of the interface
83 define gtpu_tunnel_dump
87 vl_api_interface_index_t sw_if_index;
88 option vat_help = "[<intfc> | sw_if_index <nn>]";
91 /** \brief dump details of an GTPU tunnel
92 @param context - sender context, to match reply w/ request
93 @param sw_if_index - software index of the interface
94 @param src_address - GTPU tunnel's source address.
95 @param dst_address - GTPU tunnel's destination address.
96 @param mcast_sw_if_index - version, O-bit and C-bit (see nsh_packet.h)
97 @param encap_vrf_id - fib identifier used for outgoing encapsulated packets
98 @param decap_next_index - the index of the next node if success
99 @param teid - Local (rx) Tunnel Endpoint Identifier
100 @param tteid - Remote (tx) Tunnel Endpoint Identifier
102 define gtpu_tunnel_details
105 vl_api_interface_index_t sw_if_index;
106 vl_api_address_t src_address;
107 vl_api_address_t dst_address;
108 vl_api_interface_index_t mcast_sw_if_index;
110 u32 decap_next_index;
115 /** \brief Interface set gtpu-bypass request
116 @param client_index - opaque cookie to identify the sender
117 @param context - sender context, to match reply w/ request
118 @param sw_if_index - interface used to reach neighbor
119 @param is_ipv6 - if non-zero, enable ipv6-gtpu-bypass, else ipv4-gtpu-bypass
120 @param enable - if non-zero enable, else disable
122 autoreply define sw_interface_set_gtpu_bypass
126 vl_api_interface_index_t sw_if_index;
129 option vat_help = "<intfc> | sw_if_index <id> [ip4 | ip6] [enable | disable]";
132 /** \brief Offload gtpu rx request
133 @param client_index - opaque cookie to identify the sender
134 @param context - sender context, to match reply w/ request
135 @param hw_if_index - rx hw interface
136 @param sw_if_index - gtpu interface to offload
137 @param enable - if non-zero enable, else disable
139 autoreply define gtpu_offload_rx
146 option vat_help = "hw <intfc> rx <tunnel-name> [del]";
151 * eval: (c-set-style "gnu")