Thread (6 messages) 6 messages, 3 authors, 2014-02-28

Re: [PATCH net] bna: don't disable VLAN tag stripping in promisc mode

From: Jiri Pirko <jiri@resnulli.us>
Date: 2014-02-28 06:31:46

Thu, Feb 27, 2014 at 11:24:03PM CET, davem@davemloft.net wrote:
From: Ivan Vecera <ivecera@redhat.com>
Date: Thu, 27 Feb 2014 19:17:22 +0100
quoted
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 <redacted>
Signed-off-by: Ivan Vecera <ivecera@redhat.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.
Dave, do you think that enabling/disabling of vlan stripping should
depend on promisc on/off? That seems very odd to me...

Jiri

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help