]> git.droids-corp.org - dpdk.git/commitdiff
fm10k: fix error when adding default vlan
authorShaopeng He <shaopeng.he@intel.com>
Fri, 26 Jun 2015 02:37:26 +0000 (10:37 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 10 Jul 2015 20:26:16 +0000 (22:26 +0200)
The default MAC address is read from hardware and copied to
Device Ethernet Link address array in the device initialization phase,
which bypasses fm10k MAC address number check mechanism,
and will cause an error message when adding default VLAN:
"MAC address number not match"

Fix it by moving default MAC address registration to device
initialize phase.

Fixes: f5c1a236a218 ("fm10k: fix default mac/vlan in switch")
Signed-off-by: Shaopeng He <shaopeng.he@intel.com>
Acked-by: Michael Qiu <michael.qiu@intel.com>
drivers/net/fm10k/fm10k_ethdev.c

index f12d0c8e724a07bdddfc710aec0a7068e7d8f1f5..2a412ab6234e674ab2a35d183b9078f67fcfe8e8 100644 (file)
@@ -790,14 +790,10 @@ fm10k_dev_start(struct rte_eth_dev *dev)
                }
        }
 
-       if (hw->mac.default_vid && hw->mac.default_vid <= ETHER_MAX_VLAN_ID) {
-               /* Update default vlan */
+       /* Update default vlan */
+       if (hw->mac.default_vid && hw->mac.default_vid <= ETHER_MAX_VLAN_ID)
                fm10k_vlan_filter_set(dev, hw->mac.default_vid, true);
 
-               /* Add default mac/vlan filter to PF/Switch manager */
-               fm10k_MAC_filter_set(dev, hw->mac.addr, true);
-       }
-
        return 0;
 }
 
@@ -2152,6 +2148,8 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev)
 
        fm10k_mbx_unlock(hw);
 
+       /* Add default mac address */
+       fm10k_MAC_filter_set(dev, hw->mac.addr, true);
 
        return 0;
 }