[dpdk-dev] [PATCH] fm10k: fix an error message when adding default VLAN
He, Shaopeng
shaopeng.he at intel.com
Thu Jul 2 08:33:06 CEST 2015
Hi Thomas,
> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> Sent: Wednesday, July 01, 2015 9:12 PM
> To: He, Shaopeng
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] fm10k: fix an error message when adding
> default VLAN
>
> 2015-06-26 10:37, Shaopeng He:
> > 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.
>
> > 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.
>
> > 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.
>
> > --- 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) {
> > - /* 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;
> > }
> >
> > @@ -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;
> > }
> >
>
More information about the dev
mailing list