vxlan-gbp: Add support for vxlan gbp
[vpp.git] / src / plugins / gbp / gbp.api
1 /* Hey Emacs use -*- mode: C -*- */
2 /*
3  * Copyright (c) 2018 Cisco and/or its affiliates.
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at:
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 option version = "1.0.0";
18
19 /** \brief Endpoint
20     @param client_index - opaque cookie to identify the sender
21     @param context - sender context, to match reply w/ request
22 */
23
24 typeonly define gbp_endpoint
25 {
26   u32 sw_if_index;
27   u16 epg_id;
28   u8  is_ip6;
29   u8  address[16];
30   u8  mac[6];
31 };
32
33 autoreply define gbp_endpoint_add_del
34 {
35   u32 client_index;
36   u32 context;
37   u8  is_add;
38   vl_api_gbp_endpoint_t endpoint;
39 };
40
41 define gbp_endpoint_dump
42 {
43   u32 client_index;
44   u32 context;
45 };
46
47 define gbp_endpoint_details
48 {
49   u32 context;
50   vl_api_gbp_endpoint_t endpoint;
51 };
52
53 typeonly define gbp_endpoint_group
54 {
55   u16 epg_id;
56   u32 bd_id;
57   u32 ip4_table_id;
58   u32 ip6_table_id;
59   u32 uplink_sw_if_index;
60 };
61
62 autoreply define gbp_endpoint_group_add_del
63 {
64   u32 client_index;
65   u32 context;
66   u8  is_add;
67   vl_api_gbp_endpoint_group_t epg;
68 };
69
70 define gbp_endpoint_group_dump
71 {
72   u32 client_index;
73   u32 context;
74 };
75
76 define gbp_endpoint_group_details
77 {
78   u32 context;
79   vl_api_gbp_endpoint_group_t epg;
80 };
81
82 typeonly define gbp_recirc
83 {
84   u32 sw_if_index;
85   u16 epg_id;
86   u8  is_ext;
87 };
88
89 autoreply define gbp_recirc_add_del
90 {
91   u32 client_index;
92   u32 context;
93   u8  is_add;
94   vl_api_gbp_recirc_t recirc;
95 };
96
97 define gbp_recirc_dump
98 {
99   u32 client_index;
100   u32 context;
101 };
102
103 define gbp_recirc_details
104 {
105   u32 context;
106   vl_api_gbp_recirc_t recirc;
107 };
108
109 typeonly define gbp_subnet
110 {
111   u32 table_id;
112   u32 sw_if_index;
113   u16 epg_id;
114   u8  is_ip6;
115   u8  is_internal;
116   u8  address_length;
117   u8  address[16];
118 };
119
120 autoreply define gbp_subnet_add_del
121 {
122   u32 client_index;
123   u32 context;
124   u8  is_add;
125   vl_api_gbp_subnet_t subnet;
126 };
127
128 define gbp_subnet_dump
129 {
130   u32 client_index;
131   u32 context;
132 };
133
134 define gbp_subnet_details
135 {
136   u32 context;
137   vl_api_gbp_subnet_t subnet;
138 };
139
140 typeonly define gbp_contract
141 {
142   u16 src_epg;
143   u16 dst_epg;
144   u32 acl_index;
145 };
146
147 autoreply define gbp_contract_add_del
148 {
149   u32 client_index;
150   u32 context;
151   u8  is_add;
152   vl_api_gbp_contract_t contract;
153 };
154
155 define gbp_contract_dump
156 {
157   u32 client_index;
158   u32 context;
159 };
160
161 define gbp_contract_details
162 {
163   u32 context;
164   vl_api_gbp_contract_t contract;
165 };
166
167 /*
168  * Local Variables:
169  * eval: (c-set-style "gnu")
170  * End:
171  */