switch (internals->mode) {
case BONDING_MODE_ROUND_ROBIN:
+#ifdef RTE_MBUF_REFCNT
case BONDING_MODE_BROADCAST:
+#endif
case BONDING_MODE_BALANCE:
for (i = 0; i < internals->active_slave_count && nb_pkts; i++) {
/* Offset of pointer to *bufs increases as packets are received
return num_tx_total;
}
+#ifdef RTE_MBUF_REFCNT
static uint16_t
bond_ethdev_tx_burst_broadcast(void *queue, struct rte_mbuf **bufs,
uint16_t nb_pkts)
return num_tx_total;
}
+#endif
void
link_properties_set(struct rte_eth_dev *bonded_eth_dev,
switch (internals->mode) {
case BONDING_MODE_ROUND_ROBIN:
case BONDING_MODE_BALANCE:
+#ifdef RTE_MBUF_REFCNT
case BONDING_MODE_BROADCAST:
+#endif
for (i = 0; i < internals->slave_count; i++) {
if (mac_address_set(&rte_eth_devices[internals->slaves[i]],
bonded_eth_dev->data->mac_addrs)) {
case BONDING_MODE_BALANCE:
eth_dev->tx_pkt_burst = bond_ethdev_tx_balance;
break;
+#ifdef RTE_MBUF_REFCNT
case BONDING_MODE_BROADCAST:
eth_dev->tx_pkt_burst = bond_ethdev_tx_burst_broadcast;
break;
+#endif
default:
return -1;
}
/* Promiscuous mode is propagated to all slaves */
case BONDING_MODE_ROUND_ROBIN:
case BONDING_MODE_BALANCE:
+#ifdef RTE_MBUF_REFCNT
case BONDING_MODE_BROADCAST:
+#endif
for (i = 0; i < internals->slave_count; i++)
rte_eth_promiscuous_enable(internals->slaves[i]);
break;
/* Promiscuous mode is propagated to all slaves */
case BONDING_MODE_ROUND_ROBIN:
case BONDING_MODE_BALANCE:
+#ifdef RTE_MBUF_REFCNT
case BONDING_MODE_BROADCAST:
+#endif
for (i = 0; i < internals->slave_count; i++)
rte_eth_promiscuous_disable(internals->slaves[i]);
break;