VPPAPIGEN: vppapigen replacement in Python PLY.
[vpp.git] / src / plugins / gtpu / gtpu.api
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 = "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 */
30 define 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 };
43
44 /** \brief reply for set or delete an GTPU tunnel
45     @param context - sender context, to match reply w/ request
46     @param retval - return code
47     @param sw_if_index - software index of the interface
48 */
49 define gtpu_add_del_tunnel_reply
50 {
51   u32 context;
52   i32 retval;
53   u32 sw_if_index;
54 };
55
56 /** \brief Dump GTPU tunnel
57     @param client_index - opaque cookie to identify the sender
58     @param context - sender context, to match reply w/ request
59     @param sw_if_index - software index of the interface
60 */
61 define gtpu_tunnel_dump
62 {
63   u32 client_index;
64   u32 context;
65   u32 sw_if_index;
66 };
67
68 /** \brief dump details of an GTPU tunnel
69     @param context - sender context, to match reply w/ request
70     @param sw_if_index - software index of the interface
71     @param is_ipv6 - src_address and dst_address is ipv6 or not
72     @param src_address - GTPU tunnel's source address.
73     @param dst_address - GTPU tunnel's destination address.
74     @param mcast_sw_if_index - version, O-bit and C-bit (see nsh_packet.h)
75     @param encap_vrf_id - fib identifier used for outgoing encapsulated packets
76     @param decap_next_index - the index of the next node if success
77     @param teid - Local Tunnel Endpoint Identifier
78 */
79 define gtpu_tunnel_details
80 {
81   u32 context;
82   u32 sw_if_index;
83   u8 is_ipv6;
84   u8 src_address[16];
85   u8 dst_address[16];
86   u32 mcast_sw_if_index;
87   u32 encap_vrf_id;
88   u32 decap_next_index;
89   u32 teid;
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 define sw_interface_set_gtpu_bypass
100 {
101   u32 client_index;
102   u32 context;
103   u32 sw_if_index;
104   u8 is_ipv6;
105   u8 enable;
106 };
107
108 /** \brief Interface set gtpu-bypass response
109     @param context - sender context, to match reply w/ request
110     @param retval - return code for the request
111 */
112 define sw_interface_set_gtpu_bypass_reply
113 {
114   u32 context;
115   i32 retval;
116 };
117
118 /*
119  * Local Variables:
120  * eval: (c-set-style "gnu")
121  * End:
122  */