<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/8021q, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-10-25T20:09:43Z</updated>
<entry>
<title>vlan: rcu annotations</title>
<updated>2010-10-25T20:09:43Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2010-10-24T21:31:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b616b09afabf6d569aa31176aa86f05d2586de3e'/>
<id>urn:sha1:b616b09afabf6d569aa31176aa86f05d2586de3e</id>
<content type='text'>
(struct net_device)-&gt;vlgrp is rcu protected :

add __rcu annotation and proper rcu primitives.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>vlan: Centralize handling of hardware acceleration.</title>
<updated>2010-10-21T08:26:53Z</updated>
<author>
<name>Jesse Gross</name>
</author>
<published>2010-10-20T13:56:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3701e51382a026cba10c60b03efabe534fba4ca4'/>
<id>urn:sha1:3701e51382a026cba10c60b03efabe534fba4ca4</id>
<content type='text'>
Currently each driver that is capable of vlan hardware acceleration
must be aware of the vlan groups that are configured and then pass
the stripped tag to a specialized receive function.  This is

different from other types of hardware offload in that it places a
significant amount of knowledge in the driver itself rather keeping
it in the networking core.

This makes vlan offloading function more similarly to other forms
of offloading (such as checksum offloading or TSO) by doing the
following:
* On receive, stripped vlans are passed directly to the network
core, without attempting to check for vlan groups or reconstructing
the header if no group
* vlans are made less special by folding the logic into the main
receive routines
* On transmit, the device layer will add the vlan header in software
if the hardware doesn't support it, instead of spreading that logic
out in upper layers, such as bonding.

There are a number of advantages to this:
* Fixes all bugs with drivers incorrectly dropping vlan headers at once.
* Avoids having to disable VLAN acceleration when in promiscuous mode
(good for bridging since it always puts devices in promiscuous mode).
* Keeps VLAN tag separate until given to ultimate consumer, which
avoids needing to do header reconstruction as in tg3 unless absolutely
necessary.
* Consolidates common code in core networking.

Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>vlan: Avoid hash table lookup to find group.</title>
<updated>2010-10-21T08:26:53Z</updated>
<author>
<name>Jesse Gross</name>
</author>
<published>2010-10-20T13:56:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=65ac6a5fa658b90f1be700c55e7cd72e4611015d'/>
<id>urn:sha1:65ac6a5fa658b90f1be700c55e7cd72e4611015d</id>
<content type='text'>
A struct net_device always maps to zero or one vlan groups and we
always know the device when we are looking up a group.  We currently
do a hash table lookup on the device to find the group but it is
much simpler to just store a pointer.

Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>vlan: Rename VLAN_GROUP_ARRAY_LEN to VLAN_N_VID.</title>
<updated>2010-10-21T08:26:50Z</updated>
<author>
<name>Jesse Gross</name>
</author>
<published>2010-10-20T13:56:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b738127dfb469bb9f595cdace30e7f881e8146b2'/>
<id>urn:sha1:b738127dfb469bb9f595cdace30e7f881e8146b2</id>
<content type='text'>
VLAN_GROUP_ARRAY_LEN is simply the number of possible vlan VIDs.
Since vlan groups will soon be more of an implementation detail
for vlan devices, rename the constant to be descriptive of its
actual purpose.

Signed-off-by: Jesse Gross &lt;jesse@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: add a core netdev-&gt;rx_dropped counter</title>
<updated>2010-10-05T21:47:55Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2010-09-30T21:06:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=caf586e5f23cebb2a68cbaf288d59dbbf2d74052'/>
<id>urn:sha1:caf586e5f23cebb2a68cbaf288d59dbbf2d74052</id>
<content type='text'>
In various situations, a device provides a packet to our stack and we
drop it before it enters protocol stack :
- softnet backlog full (accounted in /proc/net/softnet_stat)
- bad vlan tag (not accounted)
- unknown/unregistered protocol (not accounted)

We can handle a per-device counter of such dropped frames at core level,
and automatically adds it to the device provided stats (rx_dropped), so
that standard tools can be used (ifconfig, ip link, cat /proc/net/dev)

This is a generalization of commit 8990f468a (net: rx_dropped
accounting), thus reverting it.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2010-10-04T18:56:38Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2010-10-04T18:56:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=21a180cda012e1f93e362dd4a9b0bfd3d8c92940'/>
<id>urn:sha1:21a180cda012e1f93e362dd4a9b0bfd3d8c92940</id>
<content type='text'>
Conflicts:
	net/ipv4/Kconfig
	net/ipv4/tcp_timer.c
</content>
</entry>
<entry>
<title>vlan: dont drop packets from unknown vlans in promiscuous mode</title>
<updated>2010-10-01T01:04:21Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2010-09-30T02:16:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=173e79fb70a98b5b223f8dc09c22990d777bdd78'/>
<id>urn:sha1:173e79fb70a98b5b223f8dc09c22990d777bdd78</id>
<content type='text'>
Roger Luethi noticed packets for unknown VLANs getting silently dropped
even in promiscuous mode.

Check for promiscuous mode in __vlan_hwaccel_rx() and vlan_gro_common()
before drops.

As suggested by Patrick, mark such packets to have skb-&gt;pkt_type set to
PACKET_OTHERHOST to make sure they are dropped by IP stack.

Reported-by: Roger Luethi &lt;rl@hellgate.ch&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
CC: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>8021q: Use netif_copy_real_num_queues() to set queue counts</title>
<updated>2010-09-28T05:09:57Z</updated>
<author>
<name>Ben Hutchings</name>
</author>
<published>2010-09-27T08:32:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5df8dbd7e517b581e0b8cbd72a99da17914a20b0'/>
<id>urn:sha1:5df8dbd7e517b581e0b8cbd72a99da17914a20b0</id>
<content type='text'>
This covers RX if necessary, as well as TX.

Signed-off-by: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>vlan: use this_cpu_ptr() in vlan_skb_recv()</title>
<updated>2010-09-28T04:30:41Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2010-09-26T22:47:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=af5ef241133b602a77b682009f112e7c3f7604e5'/>
<id>urn:sha1:af5ef241133b602a77b682009f112e7c3f7604e5</id>
<content type='text'>
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: return operator cleanup</title>
<updated>2010-09-23T21:33:39Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2010-09-22T20:43:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a02cec2155fbea457eca8881870fd2de1a4c4c76'/>
<id>urn:sha1:a02cec2155fbea457eca8881870fd2de1a4c4c76</id>
<content type='text'>
Change "return (EXPR);" to "return EXPR;"

return is not a function, parentheses are not required.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
