ethdev: add namespace
[dpdk.git] / drivers / net / bonding / rte_eth_bond_8023ad.c
index 3558644..ca50583 100644 (file)
@@ -770,25 +770,25 @@ link_speed_key(uint16_t speed) {
        uint16_t key_speed;
 
        switch (speed) {
-       case ETH_SPEED_NUM_NONE:
+       case RTE_ETH_SPEED_NUM_NONE:
                key_speed = 0x00;
                break;
-       case ETH_SPEED_NUM_10M:
+       case RTE_ETH_SPEED_NUM_10M:
                key_speed = BOND_LINK_SPEED_KEY_10M;
                break;
-       case ETH_SPEED_NUM_100M:
+       case RTE_ETH_SPEED_NUM_100M:
                key_speed = BOND_LINK_SPEED_KEY_100M;
                break;
-       case ETH_SPEED_NUM_1G:
+       case RTE_ETH_SPEED_NUM_1G:
                key_speed = BOND_LINK_SPEED_KEY_1000M;
                break;
-       case ETH_SPEED_NUM_10G:
+       case RTE_ETH_SPEED_NUM_10G:
                key_speed = BOND_LINK_SPEED_KEY_10G;
                break;
-       case ETH_SPEED_NUM_20G:
+       case RTE_ETH_SPEED_NUM_20G:
                key_speed = BOND_LINK_SPEED_KEY_20G;
                break;
-       case ETH_SPEED_NUM_40G:
+       case RTE_ETH_SPEED_NUM_40G:
                key_speed = BOND_LINK_SPEED_KEY_40G;
                break;
        default:
@@ -838,6 +838,27 @@ rx_machine_update(struct bond_dev_private *internals, uint16_t slave_id,
                rx_machine(internals, slave_id, NULL);
 }
 
+static void
+bond_mode_8023ad_dedicated_rxq_process(struct bond_dev_private *internals,
+                       uint16_t slave_id)
+{
+#define DEDICATED_QUEUE_BURST_SIZE 32
+       struct rte_mbuf *lacp_pkt[DEDICATED_QUEUE_BURST_SIZE];
+       uint16_t rx_count = rte_eth_rx_burst(slave_id,
+                               internals->mode4.dedicated_queues.rx_qid,
+                               lacp_pkt, DEDICATED_QUEUE_BURST_SIZE);
+
+       if (rx_count) {
+               uint16_t i;
+
+               for (i = 0; i < rx_count; i++)
+                       bond_mode_8023ad_handle_slow_pkt(internals, slave_id,
+                                       lacp_pkt[i]);
+       } else {
+               rx_machine_update(internals, slave_id, NULL);
+       }
+}
+
 static void
 bond_mode_8023ad_periodic_cb(void *arg)
 {
@@ -866,7 +887,7 @@ bond_mode_8023ad_periodic_cb(void *arg)
 
                if (ret >= 0 && link_info.link_status != 0) {
                        key = link_speed_key(link_info.link_speed) << 1;
-                       if (link_info.link_duplex == ETH_LINK_FULL_DUPLEX)
+                       if (link_info.link_duplex == RTE_ETH_LINK_FULL_DUPLEX)
                                key |= BOND_LINK_FULL_DUPLEX_KEY;
                } else {
                        key = 0;
@@ -926,15 +947,8 @@ bond_mode_8023ad_periodic_cb(void *arg)
 
                        rx_machine_update(internals, slave_id, lacp_pkt);
                } else {
-                       uint16_t rx_count = rte_eth_rx_burst(slave_id,
-                                       internals->mode4.dedicated_queues.rx_qid,
-                                       &lacp_pkt, 1);
-
-                       if (rx_count == 1)
-                               bond_mode_8023ad_handle_slow_pkt(internals,
-                                               slave_id, lacp_pkt);
-                       else
-                               rx_machine_update(internals, slave_id, NULL);
+                       bond_mode_8023ad_dedicated_rxq_process(internals,
+                                       slave_id);
                }
 
                periodic_machine(internals, slave_id);