FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
interface.api
Go to the documentation of this file.
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 = "3.2.3";
18 
19 import "vnet/interface_types.api";
20 import "vnet/ethernet/ethernet_types.api";
21 import "vnet/ip/ip_types.api";
22 
24  rpc want_interface_events returns want_interface_events_reply
25  events sw_interface_event;
26 };
27 
28 /** \brief Set flags on the interface
29  @param client_index - opaque cookie to identify the sender
30  @param context - sender context, to match reply w/ request
31  @param sw_if_index - index of the interface to set flags on
32  @param flags - interface_status flags
33  (only IF_STATUS_API_FLAG_ADMIN_UP used in config)
34 */
35 autoreply define sw_interface_set_flags
36 {
39  vl_api_interface_index_t sw_if_index;
40  vl_api_if_status_flags_t flags;
41 };
42 
43 /** \brief Set interface promiscuous mode
44  @param client_index - opaque cookie to identify the sender
45  @param context - sender context, to match reply w/ request
46  @param sw_if_index - index of the interface to set flags on
47  @param promisc_on - promiscuous mode is on ?
48 */
49 autoreply define sw_interface_set_promisc
50 {
53  vl_api_interface_index_t sw_if_index;
54  bool promisc_on;
55 };
56 
57 /** \brief Set interface physical MTU
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 - index of the interface to set MTU on
61  @param mtu - MTU
62 */
63 autoreply define hw_interface_set_mtu
64 {
67  vl_api_interface_index_t sw_if_index;
69 };
70 
71 /** \brief Set interface L3 MTU */
72 autoreply define sw_interface_set_mtu
73 {
76  vl_api_interface_index_t sw_if_index;
77  u32 mtu[4]; /* vl_api_mtu_proto_t 0 - L3, 1 - IP4, 2 - IP6, 3 - MPLS */
78 };
79 
80 /** \brief Set IP4 directed broadcast
81  The directed broadcast enabled a packet sent to the interface's
82  subnet address will be broadcast on the interface
83  @param sw_if_index
84  @param enable
85 */
86 autoreply define sw_interface_set_ip_directed_broadcast
87 {
90  vl_api_interface_index_t sw_if_index;
91  bool enable;
92 };
93 
94 /** \brief Interface Event generated by want_interface_events
95  @param client_index - opaque cookie to identify the sender
96  @param pid - client pid registered to receive notification
97  @param sw_if_index - index of the interface of the event
98  @param flags - interface_status flags
99  @param deleted - interface was deleted
100 */
101 define sw_interface_event
102 {
105  vl_api_interface_index_t sw_if_index;
106  vl_api_if_status_flags_t flags;
107  bool deleted;
108 };
109 
110 /** \brief Register for interface events
111  @param client_index - opaque cookie to identify the sender
112  @param context - sender context, to match reply w/ request
113  @param enable_disable - 1 => register for events, 0 => cancel registration
114  @param pid - sender's pid
115 */
116 autoreply define want_interface_events
117 {
122 };
123 
124 /** \brief Interface details structure (fix this)
125  @param sw_if_index - index of the interface
126  @param sup_sw_if_index - index of parent interface if any, else same as sw_if_index
127  @param l2_address - the interface's l2 address
128  @param flags - interface_status flags
129  @param type - interface type
130  @param link_duplex - 1 if half duplex, 2 if full duplex
131  @param link_speed - value in kbps
132  @param link_MTU - max. transmission unit
133  @param sub_id - A number 0-N to uniquely identify this subif on super if
134  @param sub_number_of_tags - Number of tags (0 - 2)
135  @param sub_outer_vlan_id
136  @param sub_inner_vlan_id
137  @param sub_if_flags - sub interface flags
138  @param vtr_op - vlan tag rewrite operation
139  @param vtr_push_dot1q
140  @param vtr_tag1
141  @param vtr_tag2
142  @param pbb_outer_tag - translate pbb s-tag
143  @param pbb_b_dmac[6] - B-tag remote mac address
144  @param pbb_b_smac[6] - B-tag local mac address
145  @param pbb_b_vlanid - B-tag vlanid
146  @param pbb_i_sid - I-tag service id
147  @param interface_name - name of the interface
148  @param interface_dev_type - device type of the interface
149  @param tag - an ascii tag
150 */
151 define sw_interface_details
152 {
154  vl_api_interface_index_t sw_if_index;
155 
156  /* index of sup interface (e.g. hw interface).
157  equal to sw_if_index for super hw interface. */
159 
160  /* Layer 2 address, if applicable */
161  vl_api_mac_address_t l2_address;
162 
163  vl_api_if_status_flags_t flags;
164 
165  vl_api_if_type_t type;
166 
167  /* 1 = half duplex, 2 = full duplex */
168  vl_api_link_duplex_t link_duplex;
169 
170  /* link speed in kbps */
172 
173  /* MTU */
175 
176  /* Per protocol MTUs */
177  u32 mtu[4]; /* vl_api_mtu_proto_t 0 - L3, 1 - IP4, 2 - IP6, 3 - MPLS */
178 
179  /* Subinterface ID. A number 0-N to uniquely identify this subinterface under the super interface */
181 
182  /* Number of tags 0-2 */
186 
187  vl_api_sub_if_flags_t sub_if_flags;
188 
189  /* vlan tag rewrite state */
191  u32 vtr_push_dot1q; // ethertype of first pushed tag is dot1q/dot1ad
192  u32 vtr_tag1; // first pushed tag
193  u32 vtr_tag2; // second pushed tag
194 
195  /* pbb tag rewrite info */
197  vl_api_mac_address_t b_dmac;
198  vl_api_mac_address_t b_smac;
201 
202  /* Interface name */
203  string interface_name[64];
204  string interface_dev_type[64];
205  string tag[64];
206 };
207 
208 /** \brief Request all or filtered subset of sw_interface_details
209  @param client_index - opaque cookie to identify the sender
210  @param context - sender context, to match reply w/ request
211  @param sw_if_index - index of the interface to dump info on, 0 or ~0 if on all
212  TODO: Support selecting only index==0 when CSIT is ready.
213  @param name_filter_valid - 1 if requesting a filtered subset of records else 0
214  if name filter is set as valid, sw_if_index value is ignored and all interfaces are examined
215  @param name_filter - interface name substring filter. Eg. loop1 returns [loop1, loop10]
216 */
217 define sw_interface_dump
218 {
221  vl_api_interface_index_t sw_if_index [default=0xFFFFFFFF];
223  string name_filter[];
224 };
225 
226 /** \brief Set or delete one or all ip addresses on a specified interface
227  @param client_index - opaque cookie to identify the sender
228  @param context - sender context, to match reply w/ request
229  @param sw_if_index - index of the interface to add/del addresses
230  @param is_add - add address if non-zero, else delete
231  @param del_all - if non-zero delete all addresses on the interface
232  @param prefix - address + a prefix length for the implied connected route
233 */
234 autoreply define sw_interface_add_del_address
235 {
238  vl_api_interface_index_t sw_if_index;
239  bool is_add;
240 
241  bool del_all;
242  vl_api_address_with_prefix_t prefix;
243 };
244 
245 /** \brief IP interface address replace begin
246 
247  The use-case is that, for some unspecified reason, the control plane
248  has a different set of interface addresses than VPP
249  currently has. The CP would thus like to 'replace' VPP's set
250  only by specifying what the new set shall be, i.e. it is not
251  going to delete anything that already eixts, rather, is wants any
252  unspecified interface addresses to be deleted implicitly.
253  The CP declares the start of this procedure with this replace_begin
254  API Call, and when it has populated all addresses it wants, it calls
255  the below replace_end API. From this point on it is of course free
256  to add and delete interface addresses as usual.
257  The underlying mechanism by which VPP implements this replace is
258  intentionally left unspecified.
259 
260  @param client_index - opaque cookie to identify the sender
261  @param context - sender context, to match reply w/ request
262 */
263 autoreply define sw_interface_address_replace_begin
264 {
267 };
268 
269 /** \brief IP interface address replace end
270 
271  see ip_interface_address_replace_begin description.
272 
273  @param client_index - opaque cookie to identify the sender
274  @param context - sender context, to match reply w/ request
275 */
276 autoreply define sw_interface_address_replace_end
277 {
280 };
281 
282 /** \brief Associate the specified interface with a fib table
283  @param client_index - opaque cookie to identify the sender
284  @param context - sender context, to match reply w/ request
285  @param sw_if_index - index of the interface
286  @param is_ipv6 - if non-zero ipv6, else ipv4
287  @param vrf_id - fib table/vrf id to associate the interface with
288 */
289 autoreply define sw_interface_set_table
290 {
293  vl_api_interface_index_t sw_if_index;
294  bool is_ipv6;
296 };
297 
298 /** \brief Get VRF id assigned to interface
299  @param client_index - opaque cookie to identify the sender
300  @param context - sender context, to match reply w/ request
301  @param sw_if_index - index of the interface
302 */
303 define sw_interface_get_table
304 {
307  vl_api_interface_index_t sw_if_index;
308  bool is_ipv6;
309 };
310 
311 /** \brief Reply to get_sw_interface_vrf
312  @param context - sender context which was passed in the request
313  @param vrf_id - VRF id assigned to the interface
314 */
315 define sw_interface_get_table_reply
316 {
320 };
321 
322 /** \brief Set unnumbered interface add / del request
323  @param client_index - opaque cookie to identify the sender
324  @param context - sender context, to match reply w/ request
325  @param sw_if_index - interface with an IP address
326  @param unnumbered_sw_if_index - interface which will use the address
327  @param is_add - if non-zero set the association, else unset it
328 */
329 autoreply define sw_interface_set_unnumbered
330 {
333  vl_api_interface_index_t sw_if_index; /* use this intfc address */
334  vl_api_interface_index_t unnumbered_sw_if_index; /* on this interface */
335  bool is_add;
336 };
337 
338 /** \brief Clear interface statistics
339  @param client_index - opaque cookie to identify the sender
340  @param context - sender context, to match reply w/ request
341  @param sw_if_index - index of the interface to clear statistics
342 */
343 autoreply define sw_interface_clear_stats
344 {
347  vl_api_interface_index_t sw_if_index;
348 };
349 
350 /** \brief Set / clear software interface tag
351  @param client_index - opaque cookie to identify the sender
352  @param context - sender context, to match reply w/ request
353  @param sw_if_index - the interface
354  @param add_del - 1 = add, 0 = delete
355  @param tag - an ascii tag
356 */
357 autoreply define sw_interface_tag_add_del
358 {
361  bool is_add;
362  vl_api_interface_index_t sw_if_index;
363  string tag[64];
364 };
365 
366 /** \brief Add or delete a secondary MAC address on an interface
367  @param client_index - opaque cookie to identify the sender
368  @param context - sender context, to match reply w/ request
369  @param sw_if_index - the interface whose MAC will be set
370  @param mac_addr - the new MAC address
371  @param is_add - 0 to delete, != 0 to add
372 */
373 autoreply define sw_interface_add_del_mac_address
374 {
378  vl_api_mac_address_t addr;
380 };
381 
382 /** \brief Set an interface's MAC address
383  @param client_index - opaque cookie to identify the sender
384  @param context - sender context, to match reply w/ request
385  @param sw_if_index - the interface whose MAC will be set
386  @param mac_addr - the new MAC address
387 */
388 autoreply define sw_interface_set_mac_address
389 {
392  vl_api_interface_index_t sw_if_index;
393  vl_api_mac_address_t mac_address;
394 };
395 
396 /** \brief Get interface's MAC address
397  @param client_index - opaque cookie to identify the sender
398  @param context - sender context, to match reply w/ request
399  @param sw_if_index - the interface whose MAC will be returned
400 */
401 define sw_interface_get_mac_address
402 {
405  vl_api_interface_index_t sw_if_index;
406 };
407 
408 /** \brief Reply for get interface's MAC address request
409  @param context - returned sender context, to match reply w/ request
410  @param retval - return code
411  @param mac_addr - returned interface's MAC address
412 */
413 define sw_interface_get_mac_address_reply
414 {
417  vl_api_mac_address_t mac_address;
418 };
419 
420 /** \brief Set an interface's rx-mode
421  @param client_index - opaque cookie to identify the sender
422  @param context - sender context, to match reply w/ request
423  @param sw_if_index - the interface whose rx-mode will be set
424  @param queue_id_valid - 1 = the queue_id field is valid. 0 means all
425  queue_id's
426  @param queue_id - the queue number whose rx-mode will be set. Only valid
427  if queue_id_valid is 1
428  @param mode - polling=1, interrupt=2, adaptive=3
429 */
430 autoreply define sw_interface_set_rx_mode
431 {
434  vl_api_interface_index_t sw_if_index;
437  vl_api_rx_mode_t mode;
438 };
439 
440 /** \brief Set an interface's rx-placement
441  Rx-Queue placement on specific thread is operational for only hardware
442  interface. It will not set queue - thread placement for sub-interfaces,
443  p2p and pipe interfaces.
444  @param client_index - opaque cookie to identify the sender
445  @param context - sender context, to match reply w/ request
446  @param sw_if_index - the interface whose rx-placement will be set
447  @param queue_id - the queue number whose rx-placement will be set.
448  @param worker_id - the worker number whom rx-placement will be at.
449  @param is_main - flag to set rx-placement to main thread
450 */
451 autoreply define sw_interface_set_rx_placement
452 {
455  vl_api_interface_index_t sw_if_index;
458  bool is_main;
459 };
460 
461 /** \brief Set custom interface name
462  Set custom interface name for the interface.
463  @param client_index - opaque cookie to identify the sender
464  @param context - sender context, to match reply w/ request
465  @param sw_if_index - the interface whose name will be set
466  @param name - the custom interface name to be set
467 k
468 */
469 autoreply define sw_interface_set_interface_name
470 {
473  vl_api_interface_index_t sw_if_index;
474  string name[64];
475 };
476 
477 /** \brief dump the rx queue placement of interface(s)
478  @param sw_if_index - optional interface index for which queue placement to
479  be requested. sw_if_index = ~0 will dump placement information for all
480  interfaces. It will not dump information related to sub-interfaces, p2p
481  and pipe interfaces.
482 */
483 define sw_interface_rx_placement_dump
484 {
487  vl_api_interface_index_t sw_if_index;
488 };
489 
490 /** \brief show the interface's queue - thread placement
491  This api is used to display the interface and queue worker
492  thread placement. One message per rx-queue per interface will
493  be sent to client.
494  Each message will contain information about rx-queue id of an
495  interface, interface index, thread on which this rx-queue is
496  placed and mode of rx-queue.
497  @param client_index - opaque cookie to identify the sender
498  @param context - sender context, to match reply w/ request
499  @param sw_if_index - the interface whose rx-placement will be dumped
500  @param queue_id - the queue id
501  @param worker_id - the worker id on which queue_id is placed,
502  worker_id = 0 means main thread.
503  @param mode - polling=1, interrupt=2, adaptive=3
504 */
505 define sw_interface_rx_placement_details
506 {
509  vl_api_interface_index_t sw_if_index;
512  vl_api_rx_mode_t mode;
513 };
514 
515 /* Gross kludge, DGMS */
516 autoreply define interface_name_renumber
517 {
520  vl_api_interface_index_t sw_if_index;
522 };
523 
524 define create_subif
525 {
528  vl_api_interface_index_t sw_if_index;
530 
531  vl_api_sub_if_flags_t sub_if_flags;
534 };
535 
536 define create_subif_reply
537 {
540  vl_api_interface_index_t sw_if_index;
541 };
542 
543 /** \brief Create a new subinterface with the given vlan id
544  @param client_index - opaque cookie to identify the sender
545  @param context - sender context, to match reply w/ request
546  @param sw_if_index - software index of the new vlan's parent interface
547  @param vlan_id - vlan tag of the new interface
548 */
549 define create_vlan_subif
550 {
553  vl_api_interface_index_t sw_if_index;
555 };
556 
557 /** \brief Reply for the vlan subinterface create request
558  @param context - returned sender context, to match reply w/ request
559  @param retval - return code
560  @param sw_if_index - software index allocated for the new subinterface
561 */
562 define create_vlan_subif_reply
563 {
566  vl_api_interface_index_t sw_if_index;
567 };
568 
569 /** \brief Delete sub interface request
570  @param client_index - opaque cookie to identify the sender
571  @param context - sender context, to match reply w/ request
572  @param sw_if_index - sw index of the interface that was created by create_subif
573 */
574 autoreply define delete_subif {
577  vl_api_interface_index_t sw_if_index;
578 };
579 
580 /** \brief Create loopback interface request
581  @param client_index - opaque cookie to identify the sender
582  @param context - sender context, to match reply w/ request
583  @param mac_address - mac addr to assign to the interface if none-zero
584 */
585 define create_loopback
586 {
589  vl_api_mac_address_t mac_address;
590 };
591 
592 /** \brief Create loopback interface response
593  @param context - sender context, to match reply w/ request
594  @param sw_if_index - sw index of the interface that was created
595  @param retval - return code for the request
596 */
597 define create_loopback_reply
598 {
601  vl_api_interface_index_t sw_if_index;
602 };
603 
604 /** \brief Create loopback interface instance request
605  @param client_index - opaque cookie to identify the sender
606  @param context - sender context, to match reply w/ request
607  @param mac_address - mac addr to assign to the interface if none-zero
608  @param is_specified - if non-0, a specific user_instance is being requested
609  @param user_instance - requested instance, ~0 => dynamically allocate
610 */
611 define create_loopback_instance
612 {
615  vl_api_mac_address_t mac_address;
618 };
619 
620 /** \brief Create loopback interface instance response
621  @param context - sender context, to match reply w/ request
622  @param sw_if_index - sw index of the interface that was created
623  @param retval - return code for the request
624 */
625 define create_loopback_instance_reply
626 {
629  vl_api_interface_index_t sw_if_index;
630 };
631 
632 /** \brief Delete loopback interface request
633  @param client_index - opaque cookie to identify the sender
634  @param context - sender context, to match reply w/ request
635  @param sw_if_index - sw index of the interface that was created
636 */
637 autoreply define delete_loopback
638 {
641  vl_api_interface_index_t sw_if_index;
642 };
643 
644 /** \brief Enable or disable detailed interface stats
645  @param client_index - opaque cookie to identify the sender
646  @param context - sender context, to match reply w/ request
647  @param sw_if_index - The interface to collect detail stats on. ~0 implies
648  all interfaces.
649  @param enable_disable - set to 1 to enable, 0 to disable detailed stats
650 */
652 {
655  vl_api_interface_index_t sw_if_index;
657 };
658 
659 /*
660  * Local Variables:
661  * eval: (c-set-style "gnu")
662  * End:
663  */
vl_api_sw_interface_rx_placement_dump_t::client_index
u32 client_index
Definition: interface.api:485
vl_api_sw_interface_set_ip_directed_broadcast_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:90
vl_api_sw_interface_get_table_reply_t
Reply to get_sw_interface_vrf.
Definition: interface.api:315
vl_api_sw_interface_clear_stats_t::client_index
u32 client_index
Definition: interface.api:345
version
option version
Definition: interface.api:17
vl_api_sw_interface_get_table_t::client_index
u32 client_index
Definition: interface.api:305
vl_api_sw_interface_address_replace_begin_t
IP interface address replace begin.
Definition: interface.api:263
vl_api_sw_interface_rx_placement_details_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:509
vl_api_sw_interface_rx_placement_dump_t
dump the rx queue placement of interface(s)
Definition: interface.api:483
vl_api_sw_interface_tag_add_del_t::is_add
bool is_add
Definition: interface.api:361
vl_api_sw_interface_set_promisc_t::context
u32 context
Definition: interface.api:52
vl_api_create_subif_t::client_index
u32 client_index
Definition: interface.api:526
vl_api_sw_interface_set_rx_mode_t::client_index
u32 client_index
Definition: interface.api:432
vl_api_create_vlan_subif_t::vlan_id
u32 vlan_id
Definition: interface.api:554
vl_api_sw_interface_dump_t::name_filter
string name_filter[]
Definition: interface.api:223
vl_api_sw_interface_get_table_reply_t::context
u32 context
Definition: interface.api:317
vl_api_sw_interface_set_flags_t::flags
vl_api_if_status_flags_t flags
Definition: interface.api:40
vl_api_create_subif_t::context
u32 context
Definition: interface.api:527
vl_api_want_interface_events_t
Register for interface events.
Definition: interface.api:116
name
string name[64]
Definition: fib.api:25
vl_api_sw_interface_tag_add_del_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:362
vl_api_create_vlan_subif_t::client_index
u32 client_index
Definition: interface.api:551
vl_api_sw_interface_tag_add_del_t::context
u32 context
Definition: interface.api:360
vl_api_interface_name_renumber_t
Definition: interface.api:516
vl_api_sw_interface_get_table_t::is_ipv6
bool is_ipv6
Definition: interface.api:308
vl_api_sw_interface_rx_placement_details_t::mode
vl_api_rx_mode_t mode
Definition: interface.api:512
vl_api_sw_interface_set_promisc_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:53
vl_api_sw_interface_get_table_reply_t::retval
i32 retval
Definition: interface.api:318
vl_api_collect_detailed_interface_stats_t::context
u32 context
Definition: interface.api:654
vl_api_sw_interface_set_unnumbered_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:333
vl_api_sw_interface_add_del_address_t::is_add
bool is_add
Definition: interface.api:239
vl_api_sw_interface_get_mac_address_reply_t
Reply for get interface's MAC address request.
Definition: interface.api:413
vl_api_create_loopback_reply_t
Create loopback interface response.
Definition: interface.api:597
vl_api_sw_interface_address_replace_begin_t::client_index
u32 client_index
Definition: interface.api:265
vl_api_sw_interface_address_replace_end_t
IP interface address replace end.
Definition: interface.api:276
vl_api_sw_interface_dump_t::client_index
u32 client_index
Definition: interface.api:219
vl_api_create_vlan_subif_reply_t
Reply for the vlan subinterface create request.
Definition: interface.api:562
vl_api_delete_subif_t::client_index
u32 client_index
Definition: interface.api:575
vl_api_sw_interface_details_t::i_sid
u32 i_sid
Definition: interface.api:200
vl_api_sw_interface_details_t::b_vlanid
u16 b_vlanid
Definition: interface.api:199
vl_api_sw_interface_set_rx_placement_t::worker_id
u32 worker_id
Definition: interface.api:457
vl_api_sw_interface_set_ip_directed_broadcast_t
Set IP4 directed broadcast The directed broadcast enabled a packet sent to the interface's subnet add...
Definition: interface.api:86
vl_api_delete_loopback_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:641
u16
unsigned short u16
Definition: types.h:57
vl_api_sw_interface_set_rx_mode_t::mode
vl_api_rx_mode_t mode
Definition: interface.api:437
vl_api_sw_interface_get_mac_address_reply_t::context
u32 context
Definition: interface.api:415
vl_api_sw_interface_details_t::flags
vl_api_if_status_flags_t flags
Definition: interface.api:163
vl_api_sw_interface_set_promisc_t::promisc_on
bool promisc_on
Definition: interface.api:54
vl_api_sw_interface_details_t::vtr_tag1
u32 vtr_tag1
Definition: interface.api:192
vl_api_sw_interface_set_mtu_t::mtu
u32 mtu[4]
Definition: interface.api:77
vl_api_sw_interface_get_table_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:307
vl_api_want_interface_events_t::pid
u32 pid
Definition: interface.api:121
vl_api_hw_interface_set_mtu_t
Set interface physical MTU.
Definition: interface.api:63
vl_api_sw_interface_set_mac_address_t::client_index
u32 client_index
Definition: interface.api:390
vl_api_create_loopback_instance_t::client_index
u32 client_index
Definition: interface.api:613
vl_api_sw_interface_set_interface_name_t
Set custom interface name Set custom interface name for the interface.
Definition: interface.api:469
vl_api_sw_interface_set_rx_mode_t::queue_id_valid
bool queue_id_valid
Definition: interface.api:435
vl_api_create_loopback_reply_t::retval
i32 retval
Definition: interface.api:600
vl_api_sw_interface_set_promisc_t
Set interface promiscuous mode.
Definition: interface.api:49
vl_api_sw_interface_get_mac_address_reply_t::retval
i32 retval
Definition: interface.api:416
vl_api_sw_interface_details_t::sub_id
u32 sub_id
Definition: interface.api:180
vl_api_create_loopback_t::context
u32 context
Definition: interface.api:588
service
service
Definition: interface.api:23
vl_api_create_subif_t::outer_vlan_id
u16 outer_vlan_id
Definition: interface.api:532
vl_api_sw_interface_get_mac_address_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:405
vl_api_sw_interface_details_t::sup_sw_if_index
u32 sup_sw_if_index
Definition: interface.api:158
i32
signed int i32
Definition: types.h:77
vl_api_sw_interface_get_table_t
Get VRF id assigned to interface.
Definition: interface.api:303
vl_api_sw_interface_details_t::link_speed
u32 link_speed
Definition: interface.api:171
vl_api_create_loopback_instance_reply_t
Create loopback interface instance response.
Definition: interface.api:625
vl_api_collect_detailed_interface_stats_t::enable_disable
bool enable_disable
Definition: interface.api:656
vl_api_sw_interface_details_t
Interface details structure (fix this)
Definition: interface.api:151
vl_api_sw_interface_details_t::b_dmac
vl_api_mac_address_t b_dmac
Definition: interface.api:197
vl_api_sw_interface_tag_add_del_t::client_index
u32 client_index
Definition: interface.api:359
vl_api_create_loopback_instance_t::context
u32 context
Definition: interface.api:614
vl_api_sw_interface_details_t::sub_inner_vlan_id
u16 sub_inner_vlan_id
Definition: interface.api:185
collect_detailed_interface_stats
static int collect_detailed_interface_stats(void)
Definition: interface.h:966
vl_api_sw_interface_dump_t
Request all or filtered subset of sw_interface_details.
Definition: interface.api:217
vl_api_sw_interface_dump_t::sw_if_index
vl_api_interface_index_t sw_if_index[default=0xFFFFFFFF]
Definition: interface.api:221
vl_api_sw_interface_add_del_address_t
Set or delete one or all ip addresses on a specified interface.
Definition: interface.api:234
vl_api_sw_interface_set_interface_name_t::name
string name[64]
Definition: interface.api:474
vl_api_sw_interface_add_del_mac_address_t::client_index
u32 client_index
Definition: interface.api:375
vl_api_sw_interface_clear_stats_t
Clear interface statistics.
Definition: interface.api:343
vl_api_create_loopback_instance_t
Create loopback interface instance request.
Definition: interface.api:611
vl_api_collect_detailed_interface_stats_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:655
vl_api_sw_interface_rx_placement_dump_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:487
vl_api_sw_interface_details_t::interface_dev_type
string interface_dev_type[64]
Definition: interface.api:204
vl_api_sw_interface_details_t::vtr_tag2
u32 vtr_tag2
Definition: interface.api:193
vl_api_want_interface_events_t::enable_disable
u32 enable_disable
Definition: interface.api:120
vl_api_create_subif_t
Definition: interface.api:524
vl_api_create_loopback_reply_t::context
u32 context
Definition: interface.api:599
vl_api_sw_interface_set_interface_name_t::client_index
u32 client_index
Definition: interface.api:471
vl_api_create_loopback_t::client_index
u32 client_index
Definition: interface.api:587
vl_api_create_subif_t::sub_if_flags
vl_api_sub_if_flags_t sub_if_flags
Definition: interface.api:531
vl_api_sw_interface_event_t::pid
u32 pid
Definition: interface.api:104
vl_api_sw_interface_event_t::client_index
u32 client_index
Definition: interface.api:103
vl_api_sw_interface_details_t::interface_name
string interface_name[64]
Definition: interface.api:203
vl_api_sw_interface_address_replace_end_t::client_index
u32 client_index
Definition: interface.api:278
vl_api_delete_subif_t
Delete sub interface request.
Definition: interface.api:574
vl_api_want_interface_events_t::context
u32 context
Definition: interface.api:119
vl_api_sw_interface_set_rx_placement_t
Set an interface's rx-placement Rx-Queue placement on specific thread is operational for only hardwar...
Definition: interface.api:451
vl_api_create_vlan_subif_t::context
u32 context
Definition: interface.api:552
vl_api_sw_interface_add_del_mac_address_t::sw_if_index
u32 sw_if_index
Definition: interface.api:377
vl_api_create_subif_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:528
vl_api_sw_interface_clear_stats_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:347
vl_api_create_subif_reply_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:540
vl_api_sw_interface_rx_placement_details_t::queue_id
u32 queue_id
Definition: interface.api:510
vl_api_sw_interface_set_mtu_t::context
u32 context
Definition: interface.api:75
vl_api_create_loopback_t
Create loopback interface request.
Definition: interface.api:585
vl_api_delete_loopback_t::client_index
u32 client_index
Definition: interface.api:639
vl_api_sw_interface_get_mac_address_t::client_index
u32 client_index
Definition: interface.api:403
vl_api_sw_interface_details_t::sub_number_of_tags
u8 sub_number_of_tags
Definition: interface.api:183
vl_api_sw_interface_set_unnumbered_t::context
u32 context
Definition: interface.api:332
vl_api_sw_interface_details_t::mtu
u32 mtu[4]
Definition: interface.api:177
vl_api_sw_interface_set_rx_mode_t::context
u32 context
Definition: interface.api:433
vl_api_sw_interface_set_flags_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:39
vl_api_sw_interface_add_del_mac_address_t::is_add
u8 is_add
Definition: interface.api:379
vl_api_sw_interface_set_rx_mode_t
Set an interface's rx-mode.
Definition: interface.api:430
vl_api_sw_interface_add_del_address_t::del_all
bool del_all
Definition: interface.api:241
vl_api_sw_interface_set_rx_placement_t::context
u32 context
Definition: interface.api:454
vl_api_sw_interface_set_rx_placement_t::queue_id
u32 queue_id
Definition: interface.api:456
vl_api_create_subif_reply_t::context
u32 context
Definition: interface.api:538
events
static perfmon_event_t events[]
Definition: core.c:21
vl_api_sw_interface_details_t::l2_address
vl_api_mac_address_t l2_address
Definition: interface.api:161
vl_api_sw_interface_set_unnumbered_t
Set unnumbered interface add / del request.
Definition: interface.api:329
vl_api_sw_interface_details_t::b_smac
vl_api_mac_address_t b_smac
Definition: interface.api:198
vl_api_sw_interface_set_promisc_t::client_index
u32 client_index
Definition: interface.api:51
vl_api_sw_interface_set_rx_placement_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:455
vl_api_sw_interface_tag_add_del_t
Set / clear software interface tag.
Definition: interface.api:357
vl_api_sw_interface_dump_t::name_filter_valid
bool name_filter_valid
Definition: interface.api:222
vl_api_sw_interface_get_table_t::context
u32 context
Definition: interface.api:306
vl_api_sw_interface_set_flags_t
Set flags on the interface.
Definition: interface.api:35
vl_api_sw_interface_tag_add_del_t::tag
string tag[64]
Definition: interface.api:363
vl_api_sw_interface_add_del_mac_address_t::context
u32 context
Definition: interface.api:376
vl_api_sw_interface_set_ip_directed_broadcast_t::context
u32 context
Definition: interface.api:89
vl_api_sw_interface_set_unnumbered_t::client_index
u32 client_index
Definition: interface.api:331
vl_api_sw_interface_rx_placement_details_t::client_index
u32 client_index
Definition: interface.api:507
vl_api_sw_interface_set_flags_t::context
u32 context
Definition: interface.api:38
vl_api_sw_interface_details_t::link_duplex
vl_api_link_duplex_t link_duplex
Definition: interface.api:168
vl_api_sw_interface_rx_placement_details_t::context
u32 context
Definition: interface.api:508
vl_api_sw_interface_dump_t::context
u32 context
Definition: interface.api:220
vl_api_interface_name_renumber_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:520
vl_api_sw_interface_set_rx_placement_t::client_index
u32 client_index
Definition: interface.api:453
vl_api_sw_interface_details_t::vtr_push_dot1q
u32 vtr_push_dot1q
Definition: interface.api:191
vl_api_sw_interface_set_rx_mode_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:434
vl_api_create_subif_reply_t::retval
i32 retval
Definition: interface.api:539
vl_api_create_subif_reply_t
Definition: interface.api:536
vl_api_create_loopback_instance_t::user_instance
u32 user_instance
Definition: interface.api:617
vl_api_delete_loopback_t
Delete loopback interface request.
Definition: interface.api:637
vl_api_create_loopback_instance_reply_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:629
vl_api_create_subif_t::inner_vlan_id
u16 inner_vlan_id
Definition: interface.api:533
vl_api_sw_interface_set_mtu_t::client_index
u32 client_index
Definition: interface.api:74
vl_api_sw_interface_set_table_t::vrf_id
u32 vrf_id
Definition: interface.api:295
vl_api_sw_interface_event_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:105
vl_api_sw_interface_get_table_reply_t::vrf_id
u32 vrf_id
Definition: interface.api:319
vl_api_create_vlan_subif_reply_t::context
u32 context
Definition: interface.api:564
vl_api_sw_interface_details_t::sub_if_flags
vl_api_sub_if_flags_t sub_if_flags
Definition: interface.api:187
vl_api_sw_interface_details_t::link_mtu
u16 link_mtu
Definition: interface.api:174
vl_api_interface_name_renumber_t::client_index
u32 client_index
Definition: interface.api:518
vl_api_sw_interface_set_interface_name_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:473
vl_api_sw_interface_set_table_t::is_ipv6
bool is_ipv6
Definition: interface.api:294
vl_api_sw_interface_details_t::vtr_op
u32 vtr_op
Definition: interface.api:190
vl_api_sw_interface_set_table_t::client_index
u32 client_index
Definition: interface.api:291
vl_api_sw_interface_details_t::context
u32 context
Definition: interface.api:153
vl_api_sw_interface_set_rx_placement_t::is_main
bool is_main
Definition: interface.api:458
vl_api_sw_interface_rx_placement_details_t::worker_id
u32 worker_id
Definition: interface.api:511
vl_api_sw_interface_details_t::type
vl_api_if_type_t type
Definition: interface.api:165
u32
unsigned int u32
Definition: types.h:88
vl_api_sw_interface_set_mac_address_t
Set an interface's MAC address.
Definition: interface.api:388
vl_api_sw_interface_event_t
Interface Event generated by want_interface_events.
Definition: interface.api:101
vl_api_collect_detailed_interface_stats_t::client_index
u32 client_index
Definition: interface.api:653
vl_api_delete_subif_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:577
vl_api_sw_interface_details_t::tag
string tag[64]
Definition: interface.api:205
vl_api_sw_interface_address_replace_begin_t::context
u32 context
Definition: interface.api:266
vl_api_delete_subif_t::context
u32 context
Definition: interface.api:576
vl_api_create_vlan_subif_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:553
vl_api_sw_interface_add_del_address_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:238
vl_api_hw_interface_set_mtu_t::client_index
u32 client_index
Definition: interface.api:65
vl_api_create_loopback_instance_reply_t::retval
i32 retval
Definition: interface.api:628
vl_api_sw_interface_set_table_t::context
u32 context
Definition: interface.api:292
vl_api_create_loopback_t::mac_address
vl_api_mac_address_t mac_address
Definition: interface.api:589
vl_api_collect_detailed_interface_stats_t
Enable or disable detailed interface stats.
Definition: interface.api:651
vl_api_create_loopback_reply_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:601
vl_api_sw_interface_set_table_t
Associate the specified interface with a fib table.
Definition: interface.api:289
vl_api_sw_interface_add_del_address_t::client_index
u32 client_index
Definition: interface.api:236
u8
unsigned char u8
Definition: types.h:56
vl_api_sw_interface_rx_placement_dump_t::context
u32 context
Definition: interface.api:486
vl_api_sw_interface_set_mtu_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:76
vl_api_delete_loopback_t::context
u32 context
Definition: interface.api:640
vl_api_sw_interface_set_interface_name_t::context
u32 context
Definition: interface.api:472
vl_api_sw_interface_add_del_address_t::context
u32 context
Definition: interface.api:237
vl_api_create_loopback_instance_reply_t::context
u32 context
Definition: interface.api:627
vl_api_sw_interface_clear_stats_t::context
u32 context
Definition: interface.api:346
vl_api_want_interface_events_t::client_index
u32 client_index
Definition: interface.api:118
vl_api_create_loopback_instance_t::mac_address
vl_api_mac_address_t mac_address
Definition: interface.api:615
vl_api_sw_interface_get_mac_address_t::context
u32 context
Definition: interface.api:404
vl_api_sw_interface_event_t::flags
vl_api_if_status_flags_t flags
Definition: interface.api:106
vl_api_create_vlan_subif_reply_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:566
vl_api_hw_interface_set_mtu_t::mtu
u16 mtu
Definition: interface.api:68
vl_api_sw_interface_set_table_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:293
vl_api_sw_interface_set_mtu_t
Set interface L3 MTU.
Definition: interface.api:72
vl_api_sw_interface_add_del_mac_address_t
Add or delete a secondary MAC address on an interface.
Definition: interface.api:373
vl_api_sw_interface_event_t::deleted
bool deleted
Definition: interface.api:107
vl_api_sw_interface_set_rx_mode_t::queue_id
u32 queue_id
Definition: interface.api:436
vl_api_sw_interface_get_mac_address_reply_t::mac_address
vl_api_mac_address_t mac_address
Definition: interface.api:417
vl_api_sw_interface_get_mac_address_t
Get interface's MAC address.
Definition: interface.api:401
vl_api_sw_interface_details_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:154
vl_api_sw_interface_add_del_address_t::prefix
vl_api_address_with_prefix_t prefix
Definition: interface.api:242
vl_api_sw_interface_set_ip_directed_broadcast_t::enable
bool enable
Definition: interface.api:91
vl_api_interface_name_renumber_t::new_show_dev_instance
u32 new_show_dev_instance
Definition: interface.api:521
vl_api_create_vlan_subif_reply_t::retval
i32 retval
Definition: interface.api:565
sw_if_index
vl_api_interface_index_t sw_if_index
Definition: wireguard.api:34
vl_api_create_subif_t::sub_id
u32 sub_id
Definition: interface.api:529
vl_api_sw_interface_details_t::sub_outer_vlan_id
u16 sub_outer_vlan_id
Definition: interface.api:184
vl_api_sw_interface_rx_placement_details_t
show the interface's queue - thread placement This api is used to display the interface and queue wor...
Definition: interface.api:505
vl_api_sw_interface_details_t::outer_tag
u16 outer_tag
Definition: interface.api:196
vl_api_sw_interface_add_del_mac_address_t::addr
vl_api_mac_address_t addr
Definition: interface.api:378
vl_api_sw_interface_set_flags_t::client_index
u32 client_index
Definition: interface.api:37
vl_api_sw_interface_set_ip_directed_broadcast_t::client_index
u32 client_index
Definition: interface.api:88
vl_api_sw_interface_address_replace_end_t::context
u32 context
Definition: interface.api:279
vl_api_hw_interface_set_mtu_t::context
u32 context
Definition: interface.api:66
vl_api_sw_interface_set_mac_address_t::context
u32 context
Definition: interface.api:391
vl_api_create_vlan_subif_t
Create a new subinterface with the given vlan id.
Definition: interface.api:549
vl_api_hw_interface_set_mtu_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:67
vl_api_sw_interface_set_unnumbered_t::is_add
bool is_add
Definition: interface.api:335
vl_api_sw_interface_set_mac_address_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: interface.api:392
vl_api_create_loopback_instance_t::is_specified
bool is_specified
Definition: interface.api:616
vl_api_sw_interface_set_mac_address_t::mac_address
vl_api_mac_address_t mac_address
Definition: interface.api:393
vl_api_interface_name_renumber_t::context
u32 context
Definition: interface.api:519
vl_api_sw_interface_set_unnumbered_t::unnumbered_sw_if_index
vl_api_interface_index_t unnumbered_sw_if_index
Definition: interface.api:334