FD.io VPP  v20.05-21-gb1500e9ff
Vector Packet Processing
gtpu.api
Go to the documentation of this file.
1 /*
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:
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
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.
14  */
15 
16 option version = "2.0.0";
17 import "vnet/interface_types.api";
18 import "vnet/ip/ip_types.api";
19 
20 /** \brief Set or delete an 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 Tunnel Endpoint Identifier
30 */
31 define gtpu_add_del_tunnel
32 {
35  bool is_add;
36  vl_api_address_t src_address;
37  vl_api_address_t dst_address;
38  vl_api_interface_index_t mcast_sw_if_index;
42  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]";
43 };
44 
45 /** \brief reply for set or delete an GTPU tunnel
46  @param context - sender context, to match reply w/ request
47  @param retval - return code
48  @param sw_if_index - software index of the interface
49 */
50 define gtpu_add_del_tunnel_reply
51 {
54  vl_api_interface_index_t sw_if_index;
55 };
56 
57 /** \brief Dump GTPU tunnel
58  @param client_index - opaque cookie to identify the sender
59  @param context - sender context, to match reply w/ request
60  @param sw_if_index - software index of the interface
61 */
62 define gtpu_tunnel_dump
63 {
66  vl_api_interface_index_t sw_if_index;
67  option vat_help = "[<intfc> | sw_if_index <nn>]";
68 };
69 
70 /** \brief dump details of an GTPU tunnel
71  @param context - sender context, to match reply w/ request
72  @param sw_if_index - software index of the interface
73  @param src_address - GTPU tunnel's source address.
74  @param dst_address - GTPU tunnel's destination address.
75  @param mcast_sw_if_index - version, O-bit and C-bit (see nsh_packet.h)
76  @param encap_vrf_id - fib identifier used for outgoing encapsulated packets
77  @param decap_next_index - the index of the next node if success
78  @param teid - Local Tunnel Endpoint Identifier
79 */
80 define gtpu_tunnel_details
81 {
83  vl_api_interface_index_t sw_if_index;
84  vl_api_address_t src_address;
85  vl_api_address_t dst_address;
86  vl_api_interface_index_t mcast_sw_if_index;
90 };
91 
92 /** \brief Interface set gtpu-bypass request
93  @param client_index - opaque cookie to identify the sender
94  @param context - sender context, to match reply w/ request
95  @param sw_if_index - interface used to reach neighbor
96  @param is_ipv6 - if non-zero, enable ipv6-gtpu-bypass, else ipv4-gtpu-bypass
97  @param enable - if non-zero enable, else disable
98 */
99 autoreply define sw_interface_set_gtpu_bypass
100 {
103  vl_api_interface_index_t sw_if_index;
104  bool is_ipv6;
105  bool enable;
106  option vat_help = "<intfc> | sw_if_index <id> [ip4 | ip6] [enable | disable]";
107 };
108 
109 /** \brief Offload gtpu rx request
110  @param client_index - opaque cookie to identify the sender
111  @param context - sender context, to match reply w/ request
112  @param hw_if_index - rx hw interface
113  @param sw_if_index - gtpu interface to offload
114  @param enable - if non-zero enable, else disable
115 */
116 autoreply define gtpu_offload_rx
117 {
123  option vat_help = "hw <intfc> rx <tunnel-name> [del]";
124 };
125 
126 /*
127  * Local Variables:
128  * eval: (c-set-style "gnu")
129  * End:
130  */
vl_api_interface_index_t sw_if_index
Definition: gtpu.api:54
vl_api_address_t src_address
Definition: gtpu.api:36
vl_api_address_t src_address
Definition: gtpu.api:84
unsigned char u8
Definition: types.h:56
unsigned int u32
Definition: types.h:88
vl_api_interface_index_t sw_if_index
Definition: gtpu.api:103
vl_api_interface_index_t mcast_sw_if_index
Definition: gtpu.api:38
option version
Definition: gtpu.api:16
vl_api_address_t dst_address
Definition: gtpu.api:85
vl_api_interface_index_t sw_if_index
Definition: gtpu.api:83
signed int i32
Definition: types.h:77
vl_api_interface_index_t sw_if_index
Definition: gtpu.api:66
vl_api_interface_index_t mcast_sw_if_index
Definition: gtpu.api:86
vl_api_address_t dst_address
Definition: gtpu.api:37