19cd2d7a5SSteven/*
29cd2d7a5SSteven * Copyright (c) 2017 Cisco and/or its affiliates.
39cd2d7a5SSteven * Licensed under the Apache License, Version 2.0 (the "License");
49cd2d7a5SSteven * you may not use this file except in compliance with the License.
59cd2d7a5SSteven * You may obtain a copy of the License at:
69cd2d7a5SSteven *
79cd2d7a5SSteven *     http://www.apache.org/licenses/LICENSE-2.0
89cd2d7a5SSteven *
99cd2d7a5SSteven * Unless required by applicable law or agreed to in writing, software
109cd2d7a5SSteven * distributed under the License is distributed on an "AS IS" BASIS,
119cd2d7a5SSteven * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
129cd2d7a5SSteven * See the License for the specific language governing permissions and
139cd2d7a5SSteven * limitations under the License.
149cd2d7a5SSteven */
159cd2d7a5SSteven
169cd2d7a5SSteven/** \file
179cd2d7a5SSteven
189cd2d7a5SSteven    This file defines vpe control-plane API messages for
199cd2d7a5SSteven    the bonding device driver
209cd2d7a5SSteven*/
219cd2d7a5SSteven
22ebef4a9eSOle Troanoption version = "2.0.0";
23ebef4a9eSOle Troanimport "vnet/ethernet/ethernet_types.api";
24ebef4a9eSOle Troanimport "vnet/interface_types.api";
259cd2d7a5SSteven
269cd2d7a5SSteven/** \brief Dump lacp interfaces request */
279cd2d7a5SStevendefine sw_interface_lacp_dump
289cd2d7a5SSteven{
299cd2d7a5SSteven  u32 client_index;
309cd2d7a5SSteven  u32 context;
319cd2d7a5SSteven};
329cd2d7a5SSteven
339cd2d7a5SSteven/** \brief Reply for lacp dump request
349cd2d7a5SSteven    @param sw_if_index - software index of slave interface
359cd2d7a5SSteven    @param interface_name - name of slave interface
369cd2d7a5SSteven    @param rx_state - rx machine state
379cd2d7a5SSteven    @param tx_state - tx machine state
389cd2d7a5SSteven    @param mux_state - mux machine state
399cd2d7a5SSteven    @param ptx_state - ptx machine state
409cd2d7a5SSteven    @param bond_interface_name - name of bond interface
419cd2d7a5SSteven    @param actor_system_priority - actor system priority
429cd2d7a5SSteven    @param actor_system - actor system
439cd2d7a5SSteven    @param actor_key - actor key
449cd2d7a5SSteven    @param actor_port_priority - actor port priority
459cd2d7a5SSteven    @param actor_port_number - actor port number
469cd2d7a5SSteven    @param actor_state - actor state
479cd2d7a5SSteven    @param partner_system_priority - partner system priority
489cd2d7a5SSteven    @param partner_system - partner system
499cd2d7a5SSteven    @param partner_key - partner key
509cd2d7a5SSteven    @param partner_port_priority - partner port priority
519cd2d7a5SSteven    @param partner_port_number - partner port number
529cd2d7a5SSteven    @param partner_state - partner state
539cd2d7a5SSteven*/
549cd2d7a5SStevendefine sw_interface_lacp_details
559cd2d7a5SSteven{
569cd2d7a5SSteven  u32 context;
57ebef4a9eSOle Troan  vl_api_interface_index_t sw_if_index;
58ebef4a9eSOle Troan  string interface_name[64];
599cd2d7a5SSteven  u32 rx_state;
609cd2d7a5SSteven  u32 tx_state;
619cd2d7a5SSteven  u32 mux_state;
629cd2d7a5SSteven  u32 ptx_state;
63ebef4a9eSOle Troan  string bond_interface_name[64];
649cd2d7a5SSteven  u16 actor_system_priority;
65ebef4a9eSOle Troan  vl_api_mac_address_t actor_system;
669cd2d7a5SSteven  u16 actor_key;
679cd2d7a5SSteven  u16 actor_port_priority;
689cd2d7a5SSteven  u16 actor_port_number;
699cd2d7a5SSteven  u8 actor_state;
709cd2d7a5SSteven  u16 partner_system_priority;
71ebef4a9eSOle Troan  vl_api_mac_address_t partner_system;
729cd2d7a5SSteven  u16 partner_key;
739cd2d7a5SSteven  u16 partner_port_priority;
749cd2d7a5SSteven  u16 partner_port_number;
759cd2d7a5SSteven  u8 partner_state;
769cd2d7a5SSteven};
779cd2d7a5SSteven
789cd2d7a5SSteven/*
799cd2d7a5SSteven * Local Variables:
809cd2d7a5SSteven * eval: (c-set-style "gnu")
819cd2d7a5SSteven * End:
829cd2d7a5SSteven */
83