git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
i40e/base: store firmware version
[dpdk.git]
/
lib
/
librte_pmd_bond
/
rte_eth_bond_private.h
diff --git
a/lib/librte_pmd_bond/rte_eth_bond_private.h
b/lib/librte_pmd_bond/rte_eth_bond_private.h
index
f913c5b
..
45e5c65
100644
(file)
--- a/
lib/librte_pmd_bond/rte_eth_bond_private.h
+++ b/
lib/librte_pmd_bond/rte_eth_bond_private.h
@@
-34,15
+34,12
@@
#ifndef _RTE_ETH_BOND_PRIVATE_H_
#define _RTE_ETH_BOND_PRIVATE_H_
#ifndef _RTE_ETH_BOND_PRIVATE_H_
#define _RTE_ETH_BOND_PRIVATE_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_ethdev.h>
#include <rte_spinlock.h>
#include "rte_eth_bond.h"
#include "rte_eth_bond_8023ad_private.h"
#include <rte_ethdev.h>
#include <rte_spinlock.h>
#include "rte_eth_bond.h"
#include "rte_eth_bond_8023ad_private.h"
+#include "rte_eth_bond_alb.h"
#define PMD_BOND_SLAVE_PORT_KVARG ("slave")
#define PMD_BOND_PRIMARY_SLAVE_KVARG ("primary")
#define PMD_BOND_SLAVE_PORT_KVARG ("slave")
#define PMD_BOND_PRIMARY_SLAVE_KVARG ("primary")
@@
-69,7
+66,7
@@
extern const char *driver_name;
/** Port Queue Mapping Structure */
struct bond_rx_queue {
/** Port Queue Mapping Structure */
struct bond_rx_queue {
-
in
t queue_id;
+
uint16_
t queue_id;
/**< Queue Id */
struct bond_dev_private *dev_private;
/**< Reference to eth_dev private structure */
/**< Queue Id */
struct bond_dev_private *dev_private;
/**< Reference to eth_dev private structure */
@@
-82,7
+79,7
@@
struct bond_rx_queue {
};
struct bond_tx_queue {
};
struct bond_tx_queue {
-
in
t queue_id;
+
uint16_
t queue_id;
/**< Queue Id */
struct bond_dev_private *dev_private;
/**< Reference to dev private structure */
/**< Queue Id */
struct bond_dev_private *dev_private;
/**< Reference to dev private structure */
@@
-108,6
+105,9
@@
struct bond_slave_details {
struct ether_addr persisted_mac_addr;
};
struct ether_addr persisted_mac_addr;
};
+
+typedef uint16_t (*xmit_hash_t)(const struct rte_mbuf *buf, uint8_t slave_count);
+
/** Link Bonding PMD device private configuration Structure */
struct bond_dev_private {
uint8_t port_id; /**< Port Id of Bonded Port */
/** Link Bonding PMD device private configuration Structure */
struct bond_dev_private {
uint8_t port_id; /**< Port Id of Bonded Port */
@@
-122,6
+122,9
@@
struct bond_dev_private {
uint8_t balance_xmit_policy;
/**< Transmit policy - l2 / l23 / l34 for operation in balance mode */
uint8_t balance_xmit_policy;
/**< Transmit policy - l2 / l23 / l34 for operation in balance mode */
+ xmit_hash_t xmit_hash;
+ /**< Transmit policy hash function */
+
uint8_t user_defined_mac;
/**< Flag for whether MAC address is user defined or not */
uint8_t promiscuous_en;
uint8_t user_defined_mac;
/**< Flag for whether MAC address is user defined or not */
uint8_t promiscuous_en;
@@
-146,6
+149,8
@@
struct bond_dev_private {
/**< Arary of bonded slaves details */
struct mode8023ad_private mode4;
/**< Arary of bonded slaves details */
struct mode8023ad_private mode4;
+ uint8_t tlb_slaves_order[RTE_MAX_ETHPORTS]; /* TLB active slaves send order */
+ struct mode_alb_private mode6;
uint32_t rx_offload_capa; /** Rx offload capability */
uint32_t tx_offload_capa; /** Tx offload capability */
uint32_t rx_offload_capa; /** Rx offload capability */
uint32_t tx_offload_capa; /** Tx offload capability */
@@
-225,6
+230,15
@@
void
slave_add(struct bond_dev_private *internals,
struct rte_eth_dev *slave_eth_dev);
slave_add(struct bond_dev_private *internals,
struct rte_eth_dev *slave_eth_dev);
+uint16_t
+xmit_l2_hash(const struct rte_mbuf *buf, uint8_t slave_count);
+
+uint16_t
+xmit_l23_hash(const struct rte_mbuf *buf, uint8_t slave_count);
+
+uint16_t
+xmit_l34_hash(const struct rte_mbuf *buf, uint8_t slave_count);
+
void
bond_ethdev_primary_set(struct bond_dev_private *internals,
uint8_t slave_port_id);
void
bond_ethdev_primary_set(struct bond_dev_private *internals,
uint8_t slave_port_id);
@@
-261,8
+275,13
@@
int
bond_ethdev_parse_time_ms_kvarg(const char *key __rte_unused,
const char *value, void *extra_args);
bond_ethdev_parse_time_ms_kvarg(const char *key __rte_unused,
const char *value, void *extra_args);
-#ifdef __cplusplus
-}
-#endif
+void
+bond_tlb_disable(struct bond_dev_private *internals);
+
+void
+bond_tlb_enable(struct bond_dev_private *internals);
+
+void
+bond_tlb_activate_slave(struct bond_dev_private *internals);
#endif
#endif