udp: fix csum computation when offload disabled
[vpp.git] / src / vnet / vxlan-gpe / vxlan_gpe.api
1 /*
2  * Copyright (c) 2015-2016 Cisco 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.1.0";
17
18 import "vnet/interface_types.api";
19 import "vnet/ip/ip_types.api";
20
21 define vxlan_gpe_add_del_tunnel
22 {
23   u32 client_index;
24   u32 context;
25   vl_api_address_t local;
26   vl_api_address_t remote;
27   vl_api_interface_index_t mcast_sw_if_index;
28   u32 encap_vrf_id;
29   u32 decap_vrf_id;
30   vl_api_ip_proto_t protocol;
31   u32 vni;
32   bool is_add [default=true];
33 };
34
35 /** \brief Create or delete a VXLAN-GPE tunnel
36     @param client_index - opaque cookie to identify the sender
37     @param context - sender context, to match reply w/ request
38     @param local - Source IP address
39     @param remote - Destination IP address, can be multicast
40     @param local_port - Source UDP port. It is not included in sent packets. Used only for port registration
41     @param remote_port - Destination UDP port
42     @param mcast_sw_if_index - Interface for multicast destination
43     @param encap_vrf_id - Encap route table FIB index
44     @param decap_vrf_id - Decap route table FIB index
45     @param protocol - Encapsulated protocol
46     @param vni - The VXLAN Network Identifier, uint24
47     @param is_add - Use 1 to create the tunnel, 0 to remove it
48 */
49 define vxlan_gpe_add_del_tunnel_v2
50 {
51   u32 client_index;
52   u32 context;
53   vl_api_address_t local;
54   vl_api_address_t remote;
55   u16 local_port;
56   u16 remote_port;
57   vl_api_interface_index_t mcast_sw_if_index;
58   u32 encap_vrf_id;
59   u32 decap_vrf_id;
60   vl_api_ip_proto_t protocol;
61   u32 vni;
62   bool is_add [default=true];
63 };
64
65 define vxlan_gpe_add_del_tunnel_reply
66 {
67   u32 context;
68   i32 retval;
69   vl_api_interface_index_t sw_if_index;
70 };
71 define vxlan_gpe_add_del_tunnel_v2_reply
72 {
73   u32 context;
74   i32 retval;
75   vl_api_interface_index_t sw_if_index;
76 };
77
78 define vxlan_gpe_tunnel_dump
79 {
80   u32 client_index;
81   u32 context;
82   vl_api_interface_index_t sw_if_index;
83 };
84 define vxlan_gpe_tunnel_v2_dump
85 {
86   u32 client_index;
87   u32 context;
88   vl_api_interface_index_t sw_if_index;
89 };
90
91 define vxlan_gpe_tunnel_details
92 {
93   u32 context;
94   vl_api_interface_index_t sw_if_index;
95   vl_api_address_t local;
96   vl_api_address_t remote;
97   u32 vni;
98   vl_api_ip_proto_t protocol;
99   vl_api_interface_index_t mcast_sw_if_index;
100   u32 encap_vrf_id;
101   u32 decap_vrf_id;
102   bool is_ipv6;
103 };
104 define vxlan_gpe_tunnel_v2_details
105 {
106   u32 context;
107   vl_api_interface_index_t sw_if_index;
108   vl_api_address_t local;
109   vl_api_address_t remote;
110   u16 local_port;
111   u16 remote_port;
112   u32 vni;
113   vl_api_ip_proto_t protocol;
114   vl_api_interface_index_t mcast_sw_if_index;
115   u32 encap_vrf_id;
116   u32 decap_vrf_id;
117   bool is_ipv6;
118 };
119
120 /** \brief Interface set vxlan-gpe-bypass request
121     @param client_index - opaque cookie to identify the sender
122     @param context - sender context, to match reply w/ request
123     @param sw_if_index - interface used to reach neighbor
124     @param is_ipv6 - if non-zero, enable ipv6-vxlan-bypass, else ipv4-vxlan-bypass
125     @param enable - if non-zero enable, else disable
126 */
127 autoreply define sw_interface_set_vxlan_gpe_bypass
128 {
129   u32 client_index;
130   u32 context;
131   vl_api_interface_index_t sw_if_index;
132   bool is_ipv6;
133   bool enable [default=true];
134 };
135
136 /*
137  * Local Variables:
138  * eval: (c-set-style "gnu")
139  * End:
140  */