gtpu.api revision 49228efc
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
16option version = "1.0.0";
17
18/** \brief Set or delete an GTPU tunnel
19    @param client_index - opaque cookie to identify the sender
20    @param context - sender context, to match reply w/ request
21    @param is_add - add address if non-zero, else delete
22    @param is_ipv6 - src_address and dst_address is ipv6 or not
23    @param src_address - GTPU tunnel's source address.
24    @param dst_address - GTPU tunnel's destination address.
25    @param mcast_sw_if_index - version, O-bit and C-bit (see nsh_packet.h)
26    @param encap_vrf_id - fib identifier used for outgoing encapsulated packets
27    @param decap_next_index - the index of the next node if success
28    @param teid - Local Tunnel Endpoint Identifier
29*/
30define gtpu_add_del_tunnel
31{
32  u32 client_index;
33  u32 context;
34  u8 is_add;
35  u8 is_ipv6;
36  u8 src_address[16];
37  u8 dst_address[16];
38  u32 mcast_sw_if_index;
39  u32 encap_vrf_id;
40  u32 decap_next_index;
41  u32 teid;
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*/
50define gtpu_add_del_tunnel_reply
51{
52  u32 context;
53  i32 retval;
54  u32 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*/
62define gtpu_tunnel_dump
63{
64  u32 client_index;
65  u32 context;
66  u32 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 is_ipv6 - src_address and dst_address is ipv6 or not
74    @param src_address - GTPU tunnel's source address.
75    @param dst_address - GTPU tunnel's destination address.
76    @param mcast_sw_if_index - version, O-bit and C-bit (see nsh_packet.h)
77    @param encap_vrf_id - fib identifier used for outgoing encapsulated packets
78    @param decap_next_index - the index of the next node if success
79    @param teid - Local Tunnel Endpoint Identifier
80*/
81define gtpu_tunnel_details
82{
83  u32 context;
84  u32 sw_if_index;
85  u8 is_ipv6;
86  u8 src_address[16];
87  u8 dst_address[16];
88  u32 mcast_sw_if_index;
89  u32 encap_vrf_id;
90  u32 decap_next_index;
91  u32 teid;
92};
93
94/** \brief Interface set gtpu-bypass request
95    @param client_index - opaque cookie to identify the sender
96    @param context - sender context, to match reply w/ request
97    @param sw_if_index - interface used to reach neighbor
98    @param is_ipv6 - if non-zero, enable ipv6-gtpu-bypass, else ipv4-gtpu-bypass
99    @param enable - if non-zero enable, else disable
100*/
101autoreply define sw_interface_set_gtpu_bypass
102{
103  u32 client_index;
104  u32 context;
105  u32 sw_if_index;
106  u8 is_ipv6;
107  u8 enable;
108  option vat_help = "<intfc> | sw_if_index <id> [ip4 | ip6] [enable | disable]";
109};
110
111/*
112 * Local Variables:
113 * eval: (c-set-style "gnu")
114 * End:
115 */
116