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.0";
17 import "vnet/interface_types.api";
18 import "vnet/ip/ip_types.api";
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
31 define gtpu_add_del_tunnel
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]";
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
50 define gtpu_add_del_tunnel_reply
54 vl_api_interface_index_t sw_if_index;
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
62 define gtpu_tunnel_dump
66 vl_api_interface_index_t sw_if_index;
67 option vat_help = "[<intfc> | sw_if_index <nn>]";
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
80 define gtpu_tunnel_details
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;
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
99 autoreply define sw_interface_set_gtpu_bypass
103 vl_api_interface_index_t sw_if_index;
106 option vat_help = "<intfc> | sw_if_index <id> [ip4 | ip6] [enable | disable]";
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
116 autoreply define gtpu_offload_rx
123 option vat_help = "hw <intfc> rx <tunnel-name> [del]";
128 * eval: (c-set-style "gnu")