X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fbonding%2Frte_eth_bond_private.h;h=53470f61e8e5a0c722740df9646d6a6378783038;hb=d6af1a13d7a1;hp=9f57f4dd173b077ed9608e71360ab2cdbe6ea3a5;hpb=8d30fe7fa7370d60bb85af34a8a4189c63e74178;p=dpdk.git diff --git a/drivers/net/bonding/rte_eth_bond_private.h b/drivers/net/bonding/rte_eth_bond_private.h index 9f57f4dd17..53470f61e8 100644 --- a/drivers/net/bonding/rte_eth_bond_private.h +++ b/drivers/net/bonding/rte_eth_bond_private.h @@ -1,7 +1,7 @@ /*- * BSD LICENSE * - * Copyright(c) 2010-2015 Intel Corporation. All rights reserved. + * Copyright(c) 2010-2017 Intel Corporation. All rights reserved. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,6 +36,7 @@ #include #include +#include #include "rte_eth_bond.h" #include "rte_eth_bond_8023ad_private.h" @@ -62,7 +63,7 @@ extern const char *pmd_bond_init_valid_arguments[]; -extern const char pmd_bond_driver_name[]; +extern struct rte_vdev_driver pmd_bond_drv; /** Port Queue Mapping Structure */ struct bond_rx_queue { @@ -103,6 +104,8 @@ struct bond_slave_details { uint8_t last_link_status; /**< Port Id of slave eth_dev */ struct ether_addr persisted_mac_addr; + + uint16_t reta_size; }; @@ -141,6 +144,7 @@ struct bond_dev_private { uint16_t nb_rx_queues; /**< Total number of rx queues */ uint16_t nb_tx_queues; /**< Total number of tx queues*/ + uint8_t active_slave; /**< Next active_slave to poll */ uint8_t active_slave_count; /**< Number of active slaves */ uint8_t active_slaves[RTE_MAX_ETHPORTS]; /**< Active slave list */ @@ -155,16 +159,32 @@ struct bond_dev_private { uint32_t rx_offload_capa; /** Rx offload capability */ uint32_t tx_offload_capa; /** Tx offload capability */ + /** Bit mask of RSS offloads, the bit offset also means flow type */ + uint64_t flow_type_rss_offloads; + + uint16_t reta_size; + struct rte_eth_rss_reta_entry64 reta_conf[ETH_RSS_RETA_SIZE_512 / + RTE_RETA_GROUP_SIZE]; + + uint8_t rss_key[52]; /**< 52-byte hash key buffer. */ + uint8_t rss_key_len; /**< hash key length in bytes. */ + struct rte_kvargs *kvlist; uint8_t slave_update_idx; + + uint32_t candidate_max_rx_pktlen; + uint32_t max_rx_pktlen; + + void *vlan_filter_bmpmem; /* enabled vlan filter bitmap */ + struct rte_bitmap *vlan_filter_bmp; }; -extern struct eth_dev_ops default_dev_ops; +extern const struct eth_dev_ops default_dev_ops; int -valid_bonded_ethdev(const struct rte_eth_dev *eth_dev); +check_for_bonded_ethdev(const struct rte_eth_dev *eth_dev); -/* Search given slave array to find possition of given id. +/* Search given slave array to find position of given id. * Return slave pos or slaves_count if not found. */ static inline uint8_t find_slave_by_id(uint8_t *slaves, uint8_t slaves_count, uint8_t slave_id) { @@ -212,9 +232,6 @@ mac_address_get(struct rte_eth_dev *eth_dev, struct ether_addr *dst_mac_addr); int mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev); -uint8_t -number_of_sockets(void); - int bond_ethdev_mode_set(struct rte_eth_dev *eth_dev, int mode); @@ -243,36 +260,36 @@ void bond_ethdev_primary_set(struct bond_dev_private *internals, uint8_t slave_port_id); -void +int bond_ethdev_lsc_event_callback(uint8_t port_id, enum rte_eth_event_type type, - void *param); + void *param, void *ret_param); int -bond_ethdev_parse_slave_port_kvarg(const char *key __rte_unused, +bond_ethdev_parse_slave_port_kvarg(const char *key, const char *value, void *extra_args); int -bond_ethdev_parse_slave_mode_kvarg(const char *key __rte_unused, +bond_ethdev_parse_slave_mode_kvarg(const char *key, const char *value, void *extra_args); int -bond_ethdev_parse_socket_id_kvarg(const char *key __rte_unused, +bond_ethdev_parse_socket_id_kvarg(const char *key, const char *value, void *extra_args); int -bond_ethdev_parse_primary_slave_port_id_kvarg(const char *key __rte_unused, +bond_ethdev_parse_primary_slave_port_id_kvarg(const char *key, const char *value, void *extra_args); int -bond_ethdev_parse_balance_xmit_policy_kvarg(const char *key __rte_unused, +bond_ethdev_parse_balance_xmit_policy_kvarg(const char *key, const char *value, void *extra_args); int -bond_ethdev_parse_bond_mac_addr_kvarg(const char *key __rte_unused, +bond_ethdev_parse_bond_mac_addr_kvarg(const char *key, const char *value, void *extra_args); int -bond_ethdev_parse_time_ms_kvarg(const char *key __rte_unused, +bond_ethdev_parse_time_ms_kvarg(const char *key, const char *value, void *extra_args); void @@ -288,6 +305,6 @@ void bond_ethdev_stop(struct rte_eth_dev *eth_dev); void -bond_ethdev_close(struct rte_eth_dev *dev __rte_unused); +bond_ethdev_close(struct rte_eth_dev *dev); #endif