lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1264090287.2794.34.camel@achroite.uk.solarflarecom.com>
Date:	Thu, 21 Jan 2010 16:11:27 +0000
From:	Ben Hutchings <bhutchings@...arflare.com>
To:	netdev <netdev@...r.kernel.org>
Subject: VLAN vs bridging receive precedence

When a physical device is attached to a bridge device and also to one or
more VLAN devices, received tagged frames might be passed on to either
the appropriate VLAN device or to the bridge.

Drivers that support VLAN receive acceleration call __vlan_hwaccel_rx(),
which updates skb->dev to point to the VLAN device.

In the absence of VLAN receive acceleration, 802.1q is treated as just
another protocol, and netif_receive_skb() does:

	skb = handle_bridge(skb, &pt_prev, &ret, orig_dev);
	if (!skb)
		goto out;
	...
	type = skb->protocol;
	list_for_each_entry_rcu(ptype,
			&ptype_base[ntohs(type) & PTYPE_HASH_MASK], list) {
		...
	}

So the bridge device claims the skb before the VLAN code has a chance
to.

It is not clear which behaviour is 'correct'.  However it appears that
the XenCenter network management software currently depends on the
accelerated behaviour.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ