[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140227.172403.1870812305847598692.davem@davemloft.net>
Date: Thu, 27 Feb 2014 17:24:03 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: ivecera@...hat.com
Cc: netdev@...r.kernel.org, rmody@...cade.com
Subject: Re: [PATCH net] bna: don't disable VLAN tag stripping in promisc
mode
From: Ivan Vecera <ivecera@...hat.com>
Date: Thu, 27 Feb 2014 19:17:22 +0100
> The recent commit "fe1624c bna: RX Filter Enhancements" disables
> VLAN tag stripping if the NIC is in promiscuous mode. Received VLAN tagged
> packets are recognized by the driver via BNA_CQ_EF_VLAN flag and for such
> packets the driver calls __vlan_hwaccel_put_tag(). The problem is the HW
> marks the tagged packets with this flags also when the stripping is
> disabled and thus __vlan_hwaccel_put_tag() should not be called for them.
>
> A solution can be to call __vlan_hwaccel_put_tag() only when stripping is
> enabled or to leave VLAN stripping engine enabled. The 2nd restores the
> previous behavior and is IMHO better.
>
> Cc: Rasesh Mody <rmody@...cade.com>
> Signed-off-by: Ivan Vecera <ivecera@...hat.com>
At best, this is an incomplete change, because if we fix it like this
then the stripping enable/disable functions are completely unused and
therefore should be removed from the driver.
But I really thing that checking if stripping is enabled at the
__vlan_hwaccel_put_tag() call site is the best solution.
You just need to check rxf->vlan_strip_status in addition to the
descriptor flag.
Please implement it this way, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists