netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* bonds/vlan combinations and device features
@ 2009-06-08 10:05 Or Gerlitz
  2009-06-08 13:43 ` Patrick McHardy
  0 siblings, 1 reply; 3+ messages in thread
From: Or Gerlitz @ 2009-06-08 10:05 UTC (permalink / raw)
  To: Jay Vosburgh, Patrick McHardy; +Cc: netdev

I was looking on configurations which involve vlans and bonds, where so
far at least two problems were identified and handled through "zero features
for a vlan over bond" @ http://marc.info/?l=linux-netdev&m=124445367820790 and
"findings/questions on vlans/bonds" @ http://marc.info/?l=linux-netdev&m=124052070128649

Basically, there are at least two possible configs in that respect, where I believe
we want both of them to be supported (bond over vlans, or vlans over bond). Using Jay's
patches I have come into being able to bringup both configs and collect the features
exposed to the TCP stack by the "higher" interface, see details below (2.6.30-rc8 +
patch from Jay for vlan over bond).

Basically, things seem to make sense (to me...) and maybe one question to raise here
if its correct for bonding over vlan to advertize vlan accacceleration capabilites (HW_VLAN_XXX)?

Another questions which is more related to the vlan (8021q) driver, is the lack of
vlan passthrough (e.g setting dev->vlan_features) by most of the drivers (all expect
for the Intel ones...) as pointed by Jay earlier on these threads. Is there a real
issue for other HW vendors to support this or its something that got fogotten through
the introduction of the vlan_features? I traced 289c79a4... "vlan: Use bitmask of
feature flags instead of seperate feature bits" be to the 8021q patch and ad31c402...
"ixbge: allow vlan devices to use TSO and TCP CSUM offload" et al to be Intel drivers
patches, but I didn't see other drivers support.

Patrick, assuming that vlans are common and people expect NIC to support TCP offloads
such as checksum and large-send, what is the actual gap here per your view?

Or.


device		features	legend
======================================
bond0		0x111383	& ~GSO |  (HW_VLAN_TX/RX/FILTER | LLTX)
eth0.4001	0x110803	& ~(IPV6_CSUM | HIGHDMA | HW_VLAN_TX/RX/FILTER |GRO)
eth0		0x114bb3	(SG | IP/V6_CSUM | HIGHDMA | HW_VLAN_TX/RX/FILTER |GSO|GRO|TSO|TSO6)

bond0.4001	0x110803	& ~(IPV6_CSUM | HIGHDMA | HW_VLAN_TX/RX/FILTER| LLTX)
bond0		0x1113b3	& ~(GSO | GRO) | LLTX
eth0		0x114bb3	(SG | IP/V6_CSUM | HIGHDMA | HW_VLAN_TX/RX/FILTER |GSO|GRO|TSO|TSO6)

00	#define NETIF_F_SG		1	/* Scatter/gather IO. */
01	#define NETIF_F_IP_CSUM		2	/* Can checksum TCP/UDP over IPv4. */
02	#define NETIF_F_NO_CSUM		4	/* Does not require checksum. F.e. loopack. */
03	#define NETIF_F_HW_CSUM		8	/* Can checksum all the packets. */
----------------------------------------------------------------------------------
04	#define NETIF_F_IPV6_CSUM	16	/* Can checksum TCP/UDP over IPV6 */
05	#define NETIF_F_HIGHDMA		32	/* Can DMA to high memory. */
06	#define NETIF_F_FRAGLIST	64	/* Scatter/gather IO. */
07	#define NETIF_F_HW_VLAN_TX	128	/* Transmit VLAN hw acceleration */
----------------------------------------------------------------------------------
08	#define NETIF_F_HW_VLAN_RX	256	/* Receive VLAN hw acceleration */
09	#define NETIF_F_HW_VLAN_FILTER	512	/* Receive filtering on VLAN */
10	#define NETIF_F_VLAN_CHALLENGED	1024	/* Device cannot handle VLAN packets */
11	#define NETIF_F_GSO		2048	/* Enable software GSO. */
----------------------------------------------------------------------------------
12	#define NETIF_F_LLTX		4096	/* LockLess TX - deprecated. Please */
13	#define NETIF_F_NETNS_LOCAL	8192	/* Does not change network namespaces */
14	#define NETIF_F_GRO		16384	/* Generic receive offload */
15	#define NETIF_F_LRO		32768	/* large receive offload */
----------------------------------------------------------------------------------
16	#define NETIF_F_TSO		(SKB_GSO_TCPV4 << NETIF_F_GSO_SHIFT)
17	#define NETIF_F_UFO		(SKB_GSO_UDP << NETIF_F_GSO_SHIFT)
18	#define NETIF_F_GSO_ROBUST	(SKB_GSO_DODGY << NETIF_F_GSO_SHIFT)
19	#define NETIF_F_TSO_ECN		(SKB_GSO_TCP_ECN << NETIF_F_GSO_SHIFT)
----------------------------------------------------------------------------------
20	#define NETIF_F_TSO6		(SKB_GSO_TCPV6 << NETIF_F_GSO_SHIFT)
21
22
23
----------------------------------------------------------------------------------
24	#define NETIF_F_FCOE_CRC	(1 << 24) /* FCoE CRC32 */
----------------------------------------------------------------------------------

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: bonds/vlan combinations and device features
  2009-06-08 10:05 bonds/vlan combinations and device features Or Gerlitz
@ 2009-06-08 13:43 ` Patrick McHardy
  2009-06-09 12:02   ` Or Gerlitz
  0 siblings, 1 reply; 3+ messages in thread
From: Patrick McHardy @ 2009-06-08 13:43 UTC (permalink / raw)
  To: Or Gerlitz; +Cc: Jay Vosburgh, netdev

Or Gerlitz wrote:
> Another questions which is more related to the vlan (8021q) driver, is the lack of
> vlan passthrough (e.g setting dev->vlan_features) by most of the drivers (all expect
> for the Intel ones...) as pointed by Jay earlier on these threads. Is there a real
> issue for other HW vendors to support this or its something that got fogotten through
> the introduction of the vlan_features? I traced 289c79a4... "vlan: Use bitmask of
> feature flags instead of seperate feature bits" be to the 8021q patch and ad31c402...
> "ixbge: allow vlan devices to use TSO and TCP CSUM offload" et al to be Intel drivers
> patches, but I didn't see other drivers support.
> 
> Patrick, assuming that vlans are common and people expect NIC to support TCP offloads
> such as checksum and large-send, what is the actual gap here per your view?

Its up to the maintainers or people owning a device which doesn't yet
set those flags. I do not know which other devices support this.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: bonds/vlan combinations and device features
  2009-06-08 13:43 ` Patrick McHardy
@ 2009-06-09 12:02   ` Or Gerlitz
  0 siblings, 0 replies; 3+ messages in thread
From: Or Gerlitz @ 2009-06-09 12:02 UTC (permalink / raw)
  To: Patrick McHardy; +Cc: Jay Vosburgh, netdev

Patrick McHardy wrote:
> Its up to the maintainers or people owning a device which doesn't yet  
> set those flags. I do not know which other devices support this.
okay, got it, will check with the relevant folks.

Or.



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-06-09 12:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-08 10:05 bonds/vlan combinations and device features Or Gerlitz
2009-06-08 13:43 ` Patrick McHardy
2009-06-09 12:02   ` Or Gerlitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).