bond: Add bonding driver and LACP protocol
[vpp.git] / src / plugins / lacp / lacp.api
1 /*
2  * Copyright (c) 2017 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 /** \file
17
18     This file defines vpe control-plane API messages for
19     the bonding device driver
20 */
21
22 option version = "1.0.0";
23
24 /** \brief Dump lacp interfaces request */
25 define sw_interface_lacp_dump
26 {
27   u32 client_index;
28   u32 context;
29 };
30
31 /** \brief Reply for lacp dump request
32     @param sw_if_index - software index of slave interface
33     @param interface_name - name of slave interface
34     @param rx_state - rx machine state
35     @param tx_state - tx machine state
36     @param mux_state - mux machine state
37     @param ptx_state - ptx machine state
38     @param bond_interface_name - name of bond interface
39     @param actor_system_priority - actor system priority
40     @param actor_system - actor system
41     @param actor_key - actor key
42     @param actor_port_priority - actor port priority
43     @param actor_port_number - actor port number
44     @param actor_state - actor state
45     @param partner_system_priority - partner system priority
46     @param partner_system - partner system
47     @param partner_key - partner key
48     @param partner_port_priority - partner port priority
49     @param partner_port_number - partner port number
50     @param partner_state - partner state
51 */
52 define sw_interface_lacp_details
53 {
54   u32 context;
55   u32 sw_if_index;
56   u8 interface_name[64];
57   u32 rx_state;
58   u32 tx_state;
59   u32 mux_state;
60   u32 ptx_state;
61   u8 bond_interface_name[64];
62   u16 actor_system_priority;
63   u8 actor_system[6];
64   u16 actor_key;
65   u16 actor_port_priority;
66   u16 actor_port_number;
67   u8 actor_state;
68   u16 partner_system_priority;
69   u8 partner_system[6];
70   u16 partner_key;
71   u16 partner_port_priority;
72   u16 partner_port_number;
73   u8 partner_state;
74 };
75
76 /*
77  * Local Variables:
78  * eval: (c-set-style "gnu")
79  * End:
80  */