blob: 2805546db5276ed805b827c2ff781062e3394dc8 [file] [log] [blame]
Dave Barach68b0fb02017-02-28 15:15:56 -05001/*
Vratko Polak6fdd7a52020-04-06 15:01:46 +02002 * Copyright (c) 2015-2020 Cisco and/or its affiliates.
Dave Barach68b0fb02017-02-28 15:15:56 -05003 * 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 */
Dave Barach0d056e52017-09-28 15:11:16 -040015
Steven Luonge0c4e6e2024-10-22 10:44:07 -070016option version = "4.0.3";
Jakub Grajciarb4e5e502020-01-31 09:35:29 +010017
18import "vnet/interface_types.api";
19import "vnet/ip/ip_types.api";
20
21
Steven Luongc4b5d102024-07-30 13:44:01 -070022typedef sdl_rule
23{
24 vl_api_prefix_t lcl;
25 u32 action_index;
26 string tag[64];
27};
28
Steven Luong6f173172024-09-27 08:35:45 -070029typedef sdl_rule_v2
30{
31 vl_api_prefix_t rmt;
32 u32 action_index;
33 string tag[64];
34};
35
Jakub Grajciarb4e5e502020-01-31 09:35:29 +010036enum transport_proto : u8
37{
38 TRANSPORT_PROTO_API_TCP,
39 TRANSPORT_PROTO_API_UDP,
Jakub Grajciarb4e5e502020-01-31 09:35:29 +010040 TRANSPORT_PROTO_API_NONE,
41 TRANSPORT_PROTO_API_TLS,
Jakub Grajciarb4e5e502020-01-31 09:35:29 +010042 TRANSPORT_PROTO_API_QUIC,
43};
Dave Barach0d056e52017-09-28 15:11:16 -040044
Steven Luongc4b5d102024-07-30 13:44:01 -070045enum rt_backend_engine : u8
46{
47 RT_BACKEND_ENGINE_API_DISABLE = 0,
48 RT_BACKEND_ENGINE_API_RULE_TABLE,
49 RT_BACKEND_ENGINE_API_NONE,
50 RT_BACKEND_ENGINE_API_SDL,
51};
52
Florin Coras458089b2019-08-21 16:20:44 -070053/** \brief Application attach to session layer
54 @param client_index - opaque cookie to identify the sender
55 @param context - sender context, to match reply w/ request
56 @param options - segment size, fifo sizes, etc.
Jakub Grajciarb4e5e502020-01-31 09:35:29 +010057 @param namespace_id - string
Florin Coras458089b2019-08-21 16:20:44 -070058*/
59 define app_attach {
60 u32 client_index;
61 u32 context;
Florin Coras9845c202020-04-28 01:54:22 +000062 u64 options[18];
Jakub Grajciarb4e5e502020-01-31 09:35:29 +010063 string namespace_id[];
Florin Coras458089b2019-08-21 16:20:44 -070064 };
65
Vratko Polak6fdd7a52020-04-06 15:01:46 +020066/** \brief Application attach reply
Florin Coras458089b2019-08-21 16:20:44 -070067 @param context - sender context, to match reply w/ request
68 @param retval - return code for the request
69 @param app_mq - app message queue
70 @param vpp_ctrl_mq - vpp message queue for control events that should
71 be handled in main thread, i.e., bind/connect
72 @param vpp_ctrl_mq_thread_index - thread index of the ctrl mq
73 @param app_index - index of the newly created app
74 @param n_fds - number of fds exchanged
75 @param fd_flags - set of flags that indicate which fds are to be expected
76 over the socket (set only if socket transport available)
77 @param segment_size - size of first shm segment
Florin Coras458089b2019-08-21 16:20:44 -070078 @param segment_handle - handle for segment
Jakub Grajciarb4e5e502020-01-31 09:35:29 +010079 @param segment_name - name of segment client needs to attach to
Florin Coras458089b2019-08-21 16:20:44 -070080*/
81define app_attach_reply {
82 u32 context;
83 i32 retval;
84 u64 app_mq;
85 u64 vpp_ctrl_mq;
86 u8 vpp_ctrl_mq_thread;
87 u32 app_index;
88 u8 n_fds;
89 u8 fd_flags;
90 u32 segment_size;
Florin Coras458089b2019-08-21 16:20:44 -070091 u64 segment_handle;
Jakub Grajciarb4e5e502020-01-31 09:35:29 +010092 string segment_name[];
Florin Coras458089b2019-08-21 16:20:44 -070093};
94
Vratko Polak6fdd7a52020-04-06 15:01:46 +020095/** \brief Application detach from session layer
Florin Coras888d9f02020-04-02 23:00:13 +000096 @param client_index - opaque cookie to identify the sender
97 @param context - sender context, to match reply w/ request
98*/
99autoreply define application_detach {
100 u32 client_index;
101 u32 context;
102};
103
Nathan Skrzypczak79f89532019-09-13 11:08:13 +0200104/** \brief Add certificate and key
105 @param client_index - opaque cookie to identify the sender
106 @param context - sender context, to match reply w/ request
107 @param engine - crypto engine
108 @param cert_len - cert length (comes first)
109 @param certkey_len - cert and key length
110 @param certkey - cert & key data (due to API limitation)
111*/
112define app_add_cert_key_pair {
113 u32 client_index;
114 u32 context;
115 u16 cert_len;
116 u16 certkey_len;
117 u8 certkey[certkey_len];
118};
119
120/** \brief Add certificate and key
121 @param context - sender context, to match reply w/ request
122 @param retval - return code for the request
123 @param index - index in certificate store
124*/
125define app_add_cert_key_pair_reply {
126 u32 context;
127 i32 retval;
128 u32 index;
129};
130
131/** \brief Delete certificate and key
132 @param client_index - opaque cookie to identify the sender
133 @param context - sender context, to match reply w/ request
134 @param index - index in certificate store
135*/
136autoreply define app_del_cert_key_pair {
137 u32 client_index;
138 u32 context;
139 u32 index;
140};
141
Florin Coras15531972018-08-12 23:50:53 -0700142/** \brief add/del application worker
143 @param client_index - opaque cookie to identify the sender
144 client to vpp direction only
145 @param context - sender context, to match reply w/ request
Florin Corasc1f5a432018-11-20 11:31:26 -0800146 @param app_index - application index
Florin Coras15531972018-08-12 23:50:53 -0700147 @param wrk_index - worker index, if a delete
148 @param is_add - set if an add
149*/
150define app_worker_add_del
151{
152 u32 client_index;
153 u32 context;
Florin Corasc1f5a432018-11-20 11:31:26 -0800154 u32 app_index;
Florin Coras15531972018-08-12 23:50:53 -0700155 u32 wrk_index;
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100156 bool is_add [default=true];
Florin Coras15531972018-08-12 23:50:53 -0700157};
158
159/** \brief Reply for app worker add/del
160 @param context - returned sender context, to match reply w/ request
161 @param retval - return code
162 @param wrk_index - worker index, if add
163 @param app_event_queue_address - vpp event queue address of new worker
164 @param n_fds - number of fds exchanged
165 @param fd_flags - set of flags that indicate which fds are to be expected
Florin Coras458089b2019-08-21 16:20:44 -0700166 over the socket (set only if socket transport available)
Florin Corasfa76a762018-11-29 12:40:10 -0800167 @param segment_handle - handle for segment
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100168 @param is_add - add if non zero, else delete
169 @param segment_name - name of segment client needs to attach to
Florin Coras15531972018-08-12 23:50:53 -0700170*/
171define app_worker_add_del_reply
172{
173 u32 context;
174 i32 retval;
175 u32 wrk_index;
176 u64 app_event_queue_address;
177 u8 n_fds;
178 u8 fd_flags;
Florin Corasfa76a762018-11-29 12:40:10 -0800179 u64 segment_handle;
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100180 bool is_add [default=true];
181 string segment_name[];
Florin Coras15531972018-08-12 23:50:53 -0700182};
183
Florin Corase04c2992017-03-01 08:17:34 -0800184/** \brief enable/disable session layer
185 @param client_index - opaque cookie to identify the sender
186 client to vpp direction only
187 @param context - sender context, to match reply w/ request
188 @param is_enable - disable session layer if 0, enable otherwise
189*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400190autoreply define session_enable_disable {
Steven Luongc4b5d102024-07-30 13:44:01 -0700191 option deprecated;
Florin Corase04c2992017-03-01 08:17:34 -0800192 u32 client_index;
193 u32 context;
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100194 bool is_enable [default=true];
Florin Corase04c2992017-03-01 08:17:34 -0800195};
196
Steven Luongc4b5d102024-07-30 13:44:01 -0700197autoreply define session_enable_disable_v2 {
198 u32 client_index;
199 u32 context;
200 vl_api_rt_backend_engine_t rt_engine_type;
201};
202
Nathan Skrzypczak7b3a3df2021-07-28 14:09:50 +0200203/** \brief enable/disable session layer socket api
204 @param client_index - opaque cookie to identify the sender
205 client to vpp direction only
206 @param context - sender context, to match reply w/ request
207 @param is_enable - disable session layer if 0, enable otherwise
208*/
209autoreply define session_sapi_enable_disable {
210 u32 client_index;
211 u32 context;
212 bool is_enable [default=true];
213};
214
Florin Corascea194d2017-10-02 00:18:51 -0700215/** \brief add/del application namespace
216 @param client_index - opaque cookie to identify the sender
217 client to vpp direction only
218 @param context - sender context, to match reply w/ request
Florin Coras64424012019-03-02 10:47:47 -0800219 @param secret - secret shared between app and vpp
Florin Corascea194d2017-10-02 00:18:51 -0700220 @param sw_if_index - local interface that "supports" namespace. Set to
Florin Coras64424012019-03-02 10:47:47 -0800221 ~0 if no preference
222 @param ip4_fib_id - id of ip4 fib that "supports" the namespace. Ignored
223 if sw_if_index set.
224 @param ip6_fib_id - id of ip6 fib that "supports" the namespace. Ignored
225 if sw_if_index set.
Florin Corascea194d2017-10-02 00:18:51 -0700226 @param namespace_id - namespace id
227*/
Florin Coras6e8c6672017-11-10 09:03:54 -0800228define app_namespace_add_del {
Florin Coras7cb471a2021-07-23 08:39:26 -0700229 option deprecated;
Florin Corascea194d2017-10-02 00:18:51 -0700230 u32 client_index;
231 u32 context;
232 u64 secret;
Paul Vinciguerrac0e94412020-04-28 01:12:04 -0400233 vl_api_interface_index_t sw_if_index [default=0xffffffff];
Florin Corascea194d2017-10-02 00:18:51 -0700234 u32 ip4_fib_id;
235 u32 ip6_fib_id;
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100236 string namespace_id[];
Florin Corascea194d2017-10-02 00:18:51 -0700237};
238
Florin Coras7cb471a2021-07-23 08:39:26 -0700239/** \brief add/del application namespace
240 @param client_index - opaque cookie to identify the sender
241 client to vpp direction only
242 @param context - sender context, to match reply w/ request
243 @param secret - secret shared between app and vpp
244 @param sw_if_index - local interface that "supports" namespace. Set to
245 ~0 if no preference
246 @param ip4_fib_id - id of ip4 fib that "supports" the namespace. Ignored
247 if sw_if_index set.
248 @param ip6_fib_id - id of ip6 fib that "supports" the namespace. Ignored
249 if sw_if_index set.
250 @param namespace_id - namespace id
Nathan Skrzypczak51f1b262023-04-27 12:43:46 +0200251 @param sock_name - socket name (path, abstract socket name)
252*/
253define app_namespace_add_del_v4 {
254 option deprecated;
255 u32 client_index;
256 u32 context;
257 u64 secret;
258 bool is_add [default=true];
259 vl_api_interface_index_t sw_if_index [default=0xffffffff];
260 u32 ip4_fib_id;
261 u32 ip6_fib_id;
262 string namespace_id[64];
263 string sock_name[];
264};
265
266/** \brief Reply for app namespace add/del
267 @param context - returned sender context, to match reply w/ request
268 @param retval - return code
269 @param appns_index - app namespace index
270*/
271define app_namespace_add_del_v4_reply
272{
273 u32 context;
274 i32 retval;
275 u32 appns_index;
276};
277
278/** \brief add/del application namespace
279 @param client_index - opaque cookie to identify the sender
280 client to vpp direction only
281 @param context - sender context, to match reply w/ request
282 @param secret - secret shared between app and vpp
283 @param sw_if_index - local interface that "supports" namespace. Set to
284 ~0 if no preference
285 @param ip4_fib_id - id of ip4 fib that "supports" the namespace. Ignored
286 if sw_if_index set.
287 @param ip6_fib_id - id of ip6 fib that "supports" the namespace. Ignored
288 if sw_if_index set.
289 @param namespace_id - namespace id
Florin Coras7cb471a2021-07-23 08:39:26 -0700290 @param netns - linux net namespace
291*/
292define app_namespace_add_del_v2 {
Nathan Skrzypczak51f1b262023-04-27 12:43:46 +0200293 option deprecated;
Florin Coras7cb471a2021-07-23 08:39:26 -0700294 u32 client_index;
295 u32 context;
296 u64 secret;
297 vl_api_interface_index_t sw_if_index [default=0xffffffff];
298 u32 ip4_fib_id;
299 u32 ip6_fib_id;
300 string namespace_id[64];
301 string netns[64];
302};
303
Nathan Skrzypczak1a9e2f92021-07-28 19:35:08 +0200304/** \brief add/del application namespace
305 @param client_index - opaque cookie to identify the sender
306 client to vpp direction only
307 @param context - sender context, to match reply w/ request
308 @param secret - secret shared between app and vpp
309 @param sw_if_index - local interface that "supports" namespace. Set to
310 ~0 if no preference
311 @param ip4_fib_id - id of ip4 fib that "supports" the namespace. Ignored
312 if sw_if_index set.
313 @param ip6_fib_id - id of ip6 fib that "supports" the namespace. Ignored
314 if sw_if_index set.
315 @param namespace_id - namespace id
316 @param netns - linux net namespace
317 @param sock_name - socket name (path, abstract socket name)
318*/
319define app_namespace_add_del_v3 {
Nathan Skrzypczak51f1b262023-04-27 12:43:46 +0200320 option deprecated;
Nathan Skrzypczak1a9e2f92021-07-28 19:35:08 +0200321 u32 client_index;
322 u32 context;
323 u64 secret;
324 bool is_add [default=true];
325 vl_api_interface_index_t sw_if_index [default=0xffffffff];
326 u32 ip4_fib_id;
327 u32 ip6_fib_id;
328 string namespace_id[64];
329 string netns[64];
330 string sock_name[];
331};
332
Florin Coras6e8c6672017-11-10 09:03:54 -0800333/** \brief Reply for app namespace add/del
334 @param context - returned sender context, to match reply w/ request
335 @param retval - return code
336 @param appns_index - app namespace index
337*/
338define app_namespace_add_del_reply
339{
Florin Coras7cb471a2021-07-23 08:39:26 -0700340 option deprecated;
341 u32 context;
342 i32 retval;
343 u32 appns_index;
344};
345
346/** \brief Reply for app namespace add/del
347 @param context - returned sender context, to match reply w/ request
348 @param retval - return code
349 @param appns_index - app namespace index
350*/
351define app_namespace_add_del_v2_reply
352{
Nathan Skrzypczak51f1b262023-04-27 12:43:46 +0200353 option deprecated;
Florin Coras6e8c6672017-11-10 09:03:54 -0800354 u32 context;
355 i32 retval;
356 u32 appns_index;
357};
358
Nathan Skrzypczak1a9e2f92021-07-28 19:35:08 +0200359define app_namespace_add_del_v3_reply
360{
Nathan Skrzypczak51f1b262023-04-27 12:43:46 +0200361 option deprecated;
Nathan Skrzypczak1a9e2f92021-07-28 19:35:08 +0200362 u32 context;
363 i32 retval;
364 u32 appns_index;
365};
366
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100367enum session_rule_scope {
368 SESSION_RULE_SCOPE_API_GLOBAL = 0,
369 SESSION_RULE_SCOPE_API_LOCAL = 1,
370 SESSION_RULE_SCOPE_API_BOTH = 2,
371};
372
Florin Coras1c710452017-10-17 00:03:13 -0700373/** \brief add/del session rule
374 @param client_index - opaque cookie to identify the sender
375 client to vpp direction only
376 @param context - sender context, to match reply w/ request
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100377 @param transport_proto - transport protocol
Florin Coras1c710452017-10-17 00:03:13 -0700378 @param is_ip4 - flag to indicate if ip addresses are ip4 or 6
379 @param lcl_ip - local ip
380 @param lcl_plen - local prefix length
381 @param rmt_ip - remote ip
382 @param rmt_ple - remote prefix length
383 @param lcl_port - local port
384 @param rmt_port - remote port
Florin Coras64424012019-03-02 10:47:47 -0800385 @param action_index - the only action defined now is forward to
386 application with index action_index
387 @param is_add - flag to indicate if add or del
388 @param appns_index - application namespace where rule is to be applied to
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100389 @param scope - enum that indicates scope of the rule: global or local.
Florin Coras64424012019-03-02 10:47:47 -0800390 If 0, default is global, 1 is global 2 is local, 3 is both
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100391 @param tag - tag
Florin Coras1c710452017-10-17 00:03:13 -0700392*/
393autoreply define session_rule_add_del {
394 u32 client_index;
395 u32 context;
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100396 vl_api_transport_proto_t transport_proto;
397 vl_api_prefix_t lcl;
398 vl_api_prefix_t rmt;
Florin Coras1c710452017-10-17 00:03:13 -0700399 u16 lcl_port;
400 u16 rmt_port;
401 u32 action_index;
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100402 bool is_add [default=true];
Florin Coras1c710452017-10-17 00:03:13 -0700403 u32 appns_index;
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100404 vl_api_session_rule_scope_t scope;
405 string tag[64];
Florin Coras1c710452017-10-17 00:03:13 -0700406};
407
Florin Coras6c36f532017-11-03 18:32:34 -0700408/** \brief Dump session rules
409 @param client_index - opaque cookie to identify the sender
410 @param context - sender context, to match reply w/ request
411 */
412define session_rules_dump
413{
Steven Luonge0c4e6e2024-10-22 10:44:07 -0700414 option deprecated;
Florin Coras6c36f532017-11-03 18:32:34 -0700415 u32 client_index;
416 u32 context;
417};
418
419/** \brief Session rules details
Florin Coras64424012019-03-02 10:47:47 -0800420 @param context - sender context, to match reply w/ request
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100421 @param transport_proto - transport protocol
Florin Coras6c36f532017-11-03 18:32:34 -0700422 @param is_ip4 - flag to indicate if ip addresses are ip4 or 6
423 @param lcl_ip - local ip
424 @param lcl_plen - local prefix length
425 @param rmt_ip - remote ip
426 @param rmt_ple - remote prefix length
427 @param lcl_port - local port
428 @param rmt_port - remote port
429 @param action_index - the only action defined now is forward to
Florin Coras64424012019-03-02 10:47:47 -0800430 application with index action_index
431 @param appns_index - application namespace where rule is to be applied to
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100432 @param scope - enum that indicates scope of the rule: global or local.
Florin Coras64424012019-03-02 10:47:47 -0800433 If 0, default is global, 1 is global 2 is local, 3 is both
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100434 @param tag - tag
Florin Coras6c36f532017-11-03 18:32:34 -0700435 */
436define session_rules_details
437{
Steven Luonge0c4e6e2024-10-22 10:44:07 -0700438 option deprecated;
Florin Coras6c36f532017-11-03 18:32:34 -0700439 u32 context;
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100440 vl_api_transport_proto_t transport_proto;
441 vl_api_prefix_t lcl;
442 vl_api_prefix_t rmt;
Florin Coras6c36f532017-11-03 18:32:34 -0700443 u16 lcl_port;
444 u16 rmt_port;
445 u32 action_index;
446 u32 appns_index;
Jakub Grajciarb4e5e502020-01-31 09:35:29 +0100447 vl_api_session_rule_scope_t scope;
448 string tag[64];
Florin Coras6c36f532017-11-03 18:32:34 -0700449};
450
Steven Luonge0c4e6e2024-10-22 10:44:07 -0700451/** \brief Dump session rules
452 @param client_index - opaque cookie to identify the sender
453 @param context - sender context, to match reply w/ request
454 */
455define session_rules_v2_dump
456{
457 u32 client_index;
458 u32 context;
459};
460
461/** \brief Session rules details
462 @param context - sender context, to match reply w/ request
463 @param transport_proto - transport protocol
464 @param is_ip4 - flag to indicate if ip addresses are ip4 or 6
465 @param lcl_ip - local ip
466 @param lcl_plen - local prefix length
467 @param rmt_ip - remote ip
468 @param rmt_ple - remote prefix length
469 @param lcl_port - local port
470 @param rmt_port - remote port
471 @param action_index - the only action defined now is forward to
472 application with index action_index
473 @param scope - enum that indicates scope of the rule: global or local.
474 If 0, default is global, 1 is global 2 is local, 3 is both
475 @param tag - tag
476 @param count - count of the number of appns_index
477 @param appns_index - application namespaces where rule is to be applied to
478 */
479define session_rules_v2_details
480{
481 u32 context;
482 vl_api_transport_proto_t transport_proto;
483 vl_api_prefix_t lcl;
484 vl_api_prefix_t rmt;
485 u16 lcl_port;
486 u16 rmt_port;
487 u32 action_index;
488 vl_api_session_rule_scope_t scope;
489 string tag[64];
490 u32 count;
491 u32 appns_index[count];
492};
493
Steven Luongc4b5d102024-07-30 13:44:01 -0700494autoreply define session_sdl_add_del {
Steven Luong6f173172024-09-27 08:35:45 -0700495 option deprecated;
Steven Luongc4b5d102024-07-30 13:44:01 -0700496 u32 client_index;
497 u32 context;
498 u32 appns_index;
499 bool is_add;
500 u32 count;
501 vl_api_sdl_rule_t r[count];
502};
503
Steven Luong6f173172024-09-27 08:35:45 -0700504autoreply define session_sdl_add_del_v2 {
505 u32 client_index;
506 u32 context;
507 u32 appns_index;
508 bool is_add;
509 u32 count;
510 vl_api_sdl_rule_v2_t r[count];
511};
512
Steven Luongc4b5d102024-07-30 13:44:01 -0700513/** \brief Dump session sdl
514 @param client_index - opaque cookie to identify the sender
515 @param context - sender context, to match reply w/ request
516 */
517define session_sdl_dump
518{
Steven Luong6f173172024-09-27 08:35:45 -0700519 option deprecated;
Steven Luongc4b5d102024-07-30 13:44:01 -0700520 u32 client_index;
521 u32 context;
522};
523
524/** \brief Session sdl details
525 @param context - sender context, to match reply w/ request
526 @param lcl - local prefix
527 @param action_index - the only action defined now is forward to
528 application with index action_index
529 @param appns_index - application namespace where rule is to be applied to
530 @param tag - tag
531 */
532define session_sdl_details
533{
Steven Luong6f173172024-09-27 08:35:45 -0700534 option deprecated;
Steven Luongc4b5d102024-07-30 13:44:01 -0700535 u32 context;
536 vl_api_prefix_t lcl;
537 u32 action_index;
538 u32 appns_index;
539 string tag[64];
540};
541
Steven Luong6f173172024-09-27 08:35:45 -0700542/** \brief Dump session sdl v2
543 @param client_index - opaque cookie to identify the sender
544 @param context - sender context, to match reply w/ request
545 */
546define session_sdl_v2_dump
547{
Steven Luonge0c4e6e2024-10-22 10:44:07 -0700548 option deprecated;
Steven Luong6f173172024-09-27 08:35:45 -0700549 u32 client_index;
550 u32 context;
551};
552
553/** \brief Session sdl details v2
554 @param context - sender context, to match reply w/ request
555 @param rmt - remote prefix
556 @param action_index - the only action defined now is forward to
557 application with index action_index
558 @param appns_index - application namespace where rule is to be applied to
559 @param tag - tag
560 */
561define session_sdl_v2_details
562{
Steven Luonge0c4e6e2024-10-22 10:44:07 -0700563 option deprecated;
Steven Luong6f173172024-09-27 08:35:45 -0700564 u32 context;
565 vl_api_prefix_t rmt;
566 u32 action_index;
567 u32 appns_index;
568 string tag[64];
569};
570
Steven Luonge0c4e6e2024-10-22 10:44:07 -0700571/** \brief Dump session sdl v3
572 @param client_index - opaque cookie to identify the sender
573 @param context - sender context, to match reply w/ request
574 */
575define session_sdl_v3_dump
576{
577 u32 client_index;
578 u32 context;
579};
580
581/** \brief Session sdl details v3
582 @param context - sender context, to match reply w/ request
583 @param rmt - remote prefix
584 @param action_index - the only action defined now is forward to
585 application with index action_index
586 @param tag - tag
587 @param count - count of the number of appns_index
588 @param appns_index - application namespaces where rule is to be applied to
589 */
590define session_sdl_v3_details
591{
592 u32 context;
593 vl_api_prefix_t rmt;
594 u32 action_index;
595 string tag[64];
596 u32 count;
597 u32 appns_index[count];
598};
599
Dave Barach68b0fb02017-02-28 15:15:56 -0500600/*
601 * Local Variables:
602 * eval: (c-set-style "gnu")
603 * End:
Dave Barach11b8dbf2017-04-24 10:46:54 -0400604 */