X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fbonding%2Frte_eth_bond_8023ad.h;h=11a71a55e50f5a3dff00f22d292ed328c5a083f4;hb=f9f0b5121f62d8701165d20bfdd14638bc72654d;hp=1d353c7348708129ec26ea46fffe81a385bf6c76;hpb=6d72657ce379e159b745be27edcad72ac0266aac;p=dpdk.git diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.h b/drivers/net/bonding/rte_eth_bond_8023ad.h index 1d353c7348..11a71a55e5 100644 --- a/drivers/net/bonding/rte_eth_bond_8023ad.h +++ b/drivers/net/bonding/rte_eth_bond_8023ad.h @@ -1,34 +1,5 @@ -/*- - * BSD LICENSE - * - * Copyright(c) 2010-2014 Intel Corporation. All rights reserved. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Intel Corporation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2010-2014 Intel Corporation */ #ifndef RTE_ETH_BOND_8023AD_H_ @@ -64,7 +35,7 @@ extern "C" { #define MARKER_TLV_TYPE_INFO 0x01 #define MARKER_TLV_TYPE_RESP 0x02 -typedef void (*rte_eth_bond_8023ad_ext_slowrx_fn)(uint8_t slave_id, +typedef void (*rte_eth_bond_8023ad_ext_slowrx_fn)(uint16_t slave_id, struct rte_mbuf *lacp_pkt); enum rte_bond_8023ad_selection { @@ -83,18 +54,18 @@ enum rte_bond_8023ad_agg_selection { struct slow_protocol { uint8_t subtype; uint8_t reserved_119[119]; -} __attribute__((__packed__)); +} __rte_packed; /** Generic slow protocol frame type structure */ struct slow_protocol_frame { - struct ether_hdr eth_hdr; + struct rte_ether_hdr eth_hdr; struct slow_protocol slow_protocol; -} __attribute__((__packed__)); +} __rte_packed __rte_aligned(2); struct port_params { uint16_t system_priority; /**< System priority (unused in current implementation) */ - struct ether_addr system; + struct rte_ether_addr system; /**< System ID - Slave MAC address, same as bonding MAC address */ uint16_t key; /**< Speed information (implementation dependednt) and duplex. */ @@ -102,7 +73,7 @@ struct port_params { /**< Priority of this (unused in current implementation) */ uint16_t port_number; /**< Port number. It corresponds to slave port id. */ -} __attribute__((__packed__)); +} __rte_packed __rte_aligned(2); struct lacpdu_actor_partner_params { uint8_t tlv_type_info; @@ -110,7 +81,7 @@ struct lacpdu_actor_partner_params { struct port_params port_params; uint8_t state; uint8_t reserved_3[3]; -} __attribute__((__packed__)); +} __rte_packed __rte_aligned(2); /** LACPDU structure (5.4.2 in 802.1AX documentation). */ struct lacpdu { @@ -128,13 +99,13 @@ struct lacpdu { uint8_t tlv_type_terminator; uint8_t terminator_length; uint8_t reserved_50[50]; -} __attribute__((__packed__)); +} __rte_packed __rte_aligned(2); /** LACPDU frame: Contains ethernet header and LACPDU. */ struct lacpdu_header { - struct ether_hdr eth_hdr; + struct rte_ether_hdr eth_hdr; struct lacpdu lacpdu; -} __attribute__((__packed__)); +} __rte_packed __rte_aligned(2); struct marker { uint8_t subtype; @@ -143,19 +114,19 @@ struct marker { uint8_t tlv_type_marker; uint8_t info_length; uint16_t requester_port; - struct ether_addr requester_system; + struct rte_ether_addr requester_system; uint32_t requester_transaction_id; uint8_t reserved_2[2]; uint8_t tlv_type_terminator; uint8_t terminator_length; uint8_t reserved_90[90]; -} __attribute__((__packed__)); +} __rte_packed __rte_aligned(2); struct marker_header { - struct ether_hdr eth_hdr; + struct rte_ether_hdr eth_hdr; struct marker marker; -} __attribute__((__packed__)); +} __rte_packed __rte_aligned(2); struct rte_eth_bond_8023ad_conf { uint32_t fast_periodic_ms; @@ -176,7 +147,7 @@ struct rte_eth_bond_8023ad_slave_info { struct port_params actor; uint8_t partner_state; struct port_params partner; - uint8_t agg_port_id; + uint16_t agg_port_id; }; /** @@ -192,16 +163,7 @@ struct rte_eth_bond_8023ad_slave_info { * -EINVAL if conf is NULL */ int -rte_eth_bond_8023ad_conf_get(uint8_t port_id, - struct rte_eth_bond_8023ad_conf *conf); -int -rte_eth_bond_8023ad_conf_get_v20(uint8_t port_id, - struct rte_eth_bond_8023ad_conf *conf); -int -rte_eth_bond_8023ad_conf_get_v1607(uint8_t port_id, - struct rte_eth_bond_8023ad_conf *conf); -int -rte_eth_bond_8023ad_conf_get_v1708(uint8_t port_id, +rte_eth_bond_8023ad_conf_get(uint16_t port_id, struct rte_eth_bond_8023ad_conf *conf); /** @@ -216,16 +178,7 @@ rte_eth_bond_8023ad_conf_get_v1708(uint8_t port_id, * -EINVAL if configuration is invalid. */ int -rte_eth_bond_8023ad_setup(uint8_t port_id, - struct rte_eth_bond_8023ad_conf *conf); -int -rte_eth_bond_8023ad_setup_v20(uint8_t port_id, - struct rte_eth_bond_8023ad_conf *conf); -int -rte_eth_bond_8023ad_setup_v1607(uint8_t port_id, - struct rte_eth_bond_8023ad_conf *conf); -int -rte_eth_bond_8023ad_setup_v1708(uint8_t port_id, +rte_eth_bond_8023ad_setup(uint16_t port_id, struct rte_eth_bond_8023ad_conf *conf); /** @@ -241,7 +194,7 @@ rte_eth_bond_8023ad_setup_v1708(uint8_t port_id, * bonded device or is not inactive). */ int -rte_eth_bond_8023ad_slave_info(uint8_t port_id, uint8_t slave_id, +rte_eth_bond_8023ad_slave_info(uint16_t port_id, uint16_t slave_id, struct rte_eth_bond_8023ad_slave_info *conf); #ifdef __cplusplus @@ -259,7 +212,8 @@ rte_eth_bond_8023ad_slave_info(uint8_t port_id, uint8_t slave_id, * -EINVAL if slave is not valid. */ int -rte_eth_bond_8023ad_ext_collect(uint8_t port_id, uint8_t slave_id, int enabled); +rte_eth_bond_8023ad_ext_collect(uint16_t port_id, uint16_t slave_id, + int enabled); /** * Get COLLECTING flag from slave port actor state. @@ -272,7 +226,7 @@ rte_eth_bond_8023ad_ext_collect(uint8_t port_id, uint8_t slave_id, int enabled); * -EINVAL if slave is not valid. */ int -rte_eth_bond_8023ad_ext_collect_get(uint8_t port_id, uint8_t slave_id); +rte_eth_bond_8023ad_ext_collect_get(uint16_t port_id, uint16_t slave_id); /** * Configure a slave port to start distributing. @@ -285,7 +239,8 @@ rte_eth_bond_8023ad_ext_collect_get(uint8_t port_id, uint8_t slave_id); * -EINVAL if slave is not valid. */ int -rte_eth_bond_8023ad_ext_distrib(uint8_t port_id, uint8_t slave_id, int enabled); +rte_eth_bond_8023ad_ext_distrib(uint16_t port_id, uint16_t slave_id, + int enabled); /** * Get DISTRIBUTING flag from slave port actor state. @@ -298,7 +253,7 @@ rte_eth_bond_8023ad_ext_distrib(uint8_t port_id, uint8_t slave_id, int enabled); * -EINVAL if slave is not valid. */ int -rte_eth_bond_8023ad_ext_distrib_get(uint8_t port_id, uint8_t slave_id); +rte_eth_bond_8023ad_ext_distrib_get(uint16_t port_id, uint16_t slave_id); /** * LACPDU transmit path for external 802.3ad state machine. Caller retains @@ -312,7 +267,7 @@ rte_eth_bond_8023ad_ext_distrib_get(uint8_t port_id, uint8_t slave_id); * 0 on success, negative value otherwise. */ int -rte_eth_bond_8023ad_ext_slowtx(uint8_t port_id, uint8_t slave_id, +rte_eth_bond_8023ad_ext_slowtx(uint16_t port_id, uint16_t slave_id, struct rte_mbuf *lacp_pkt); /** @@ -338,7 +293,7 @@ rte_eth_bond_8023ad_ext_slowtx(uint8_t port_id, uint8_t slave_id, * 0 on success, negative value otherwise. */ int -rte_eth_bond_8023ad_dedicated_queues_enable(uint8_t port_id); +rte_eth_bond_8023ad_dedicated_queues_enable(uint16_t port_id); /** * Disable slow queue on slaves @@ -355,7 +310,7 @@ rte_eth_bond_8023ad_dedicated_queues_enable(uint8_t port_id); * */ int -rte_eth_bond_8023ad_dedicated_queues_disable(uint8_t port_id); +rte_eth_bond_8023ad_dedicated_queues_disable(uint16_t port_id); /* * Get aggregator mode for 8023ad @@ -365,7 +320,7 @@ rte_eth_bond_8023ad_dedicated_queues_disable(uint8_t port_id); * agregator mode on success, negative value otherwise */ int -rte_eth_bond_8023ad_agg_selection_get(uint8_t port_id); +rte_eth_bond_8023ad_agg_selection_get(uint16_t port_id); /** * Set aggregator mode for 8023ad @@ -374,6 +329,6 @@ rte_eth_bond_8023ad_agg_selection_get(uint8_t port_id); * 0 on success, negative value otherwise */ int -rte_eth_bond_8023ad_agg_selection_set(uint8_t port_id, +rte_eth_bond_8023ad_agg_selection_set(uint16_t port_id, enum rte_bond_8023ad_agg_selection agg_selection); #endif /* RTE_ETH_BOND_8023AD_H_ */