Thread (5 messages) 5 messages, 3 authors, 2015-07-10

Re: [PATCH] fm10k: fix an error message when adding default VLAN

From: He, Shaopeng <hidden>
Date: 2015-07-02 06:34:35

Hi Thomas,
-----Original Message-----
From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
Sent: Wednesday, July 01, 2015 9:12 PM
To: He, Shaopeng
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH] fm10k: fix an error message when adding
default VLAN

2015-06-26 10:37, Shaopeng He:
quoted
The default MAC address is directly copied to Device Ethernet Link
address array in the device initialize phase, which
Do you mean "device start phase" instead?
Thanks for taking time to review this patch. The default MAC address is read from hardware
and copied to dev->data->mac_addrs in eth_fm10k_dev_init, but the fm10k_MAC_filter_set
previously was called in fm10k_dev_start, which caused this issue.
quoted
bypasses fm10k MAC address number check mechanism, and will cause an
error message when adding default VLAN. Fix it by
What is the error message?
Is it only an error message or a behaviour error?
The error message is "MAC address number not match", it is only an error message, because
fm10k_dev_start will eventually be called when default_vid was ready, and MAC/VLAN table
will be updated correctly. default_vid is necessary for fm10k to function correctly.
quoted
moving default MAC address registration to device initialize phase.
Yes it is moved from start to init.
fm10k_MAC_filter_set is moved from eth_fm10k_dev_init to eth_fm10k_dev_init, aligned with 
the place where the default MAC address is actually read and copied.
quoted
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -791,14 +791,10 @@ fm10k_dev_start(struct rte_eth_dev *dev)
 		}
 	}

-	if (hw->mac.default_vid && hw->mac.default_vid <=
ETHER_MAX_VLAN_ID) {
quoted
-		/* Update default vlan */
+	/* Update default vlan */
+	if (hw->mac.default_vid && hw->mac.default_vid <=
ETHER_MAX_VLAN_ID)
quoted
 		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;
 }
@@ -2144,6 +2140,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;
 }
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help