<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/packet, branch v3.12.2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net/packet?h=v3.12.2</id>
<link rel='self' href='https://git.amat.us/linux/atom/net/packet?h=v3.12.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-08-29T20:43:29Z</updated>
<entry>
<title>net: packet: use reciprocal_divide in fanout_demux_hash</title>
<updated>2013-08-29T20:43:29Z</updated>
<author>
<name>Daniel Borkmann</name>
<email>dborkman@redhat.com</email>
</author>
<published>2013-08-28T20:13:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f55d112e529386af3667fac3a507132a361b2154'/>
<id>urn:sha1:f55d112e529386af3667fac3a507132a361b2154</id>
<content type='text'>
Instead of hard-coding reciprocal_divide function, use the inline
function from reciprocal_div.h.

Signed-off-by: Daniel Borkmann &lt;dborkman@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: packet: add randomized fanout scheduler</title>
<updated>2013-08-29T20:43:29Z</updated>
<author>
<name>Daniel Borkmann</name>
<email>dborkman@redhat.com</email>
</author>
<published>2013-08-28T20:13:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5df0ddfbc9209ffafc82236509ba0e975120e3c3'/>
<id>urn:sha1:5df0ddfbc9209ffafc82236509ba0e975120e3c3</id>
<content type='text'>
We currently allow for different fanout scheduling policies in pf_packet
such as scheduling by skb's rxhash, round-robin, by cpu, and rollover.
Also allow for a random, equidistributed selection of the socket from the
fanout process group.

Signed-off-by: Daniel Borkmann &lt;dborkman@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2013-08-26T20:37:08Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2013-08-26T20:37:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b05930f5d1c7d5873cb050261d21789a99de9d48'/>
<id>urn:sha1:b05930f5d1c7d5873cb050261d21789a99de9d48</id>
<content type='text'>
Conflicts:
	drivers/net/wireless/iwlwifi/pcie/trans.c
	include/linux/inetdevice.h

The inetdevice.h conflict involves moving the IPV4_DEVCONF values
into a UAPI header, overlapping additions of some new entries.

The iwlwifi conflict is a context overlap.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>packet: restore packet statistics tp_packets to include drops</title>
<updated>2013-08-21T00:23:58Z</updated>
<author>
<name>Willem de Bruijn</name>
<email>willemb@google.com</email>
</author>
<published>2013-08-19T20:40:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8bcdeaff5ed544704a9a691d4aef0adb3f9c5b8f'/>
<id>urn:sha1:8bcdeaff5ed544704a9a691d4aef0adb3f9c5b8f</id>
<content type='text'>
getsockopt PACKET_STATISTICS returns tp_packets + tp_drops. Commit
ee80fbf301 ("packet: account statistics only in tpacket_stats_u")
cleaned up the getsockopt PACKET_STATISTICS code.
This also changed semantics. Historically, tp_packets included
tp_drops on return. The commit removed the line that adds tp_drops
into tp_packets.

This patch reinstates the old semantics.

Signed-off-by: Willem de Bruijn &lt;willemb@google.com&gt;
Acked-by: Daniel Borkmann &lt;dborkman@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: attempt high order allocations in sock_alloc_send_pskb()</title>
<updated>2013-08-10T08:16:44Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2013-08-08T21:38:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=28d6427109d13b0f447cba5761f88d3548e83605'/>
<id>urn:sha1:28d6427109d13b0f447cba5761f88d3548e83605</id>
<content type='text'>
Adding paged frags skbs to af_unix sockets introduced a performance
regression on large sends because of additional page allocations, even
if each skb could carry at least 100% more payload than before.

We can instruct sock_alloc_send_pskb() to attempt high order
allocations.

Most of the time, it does a single page allocation instead of 8.

I added an additional parameter to sock_alloc_send_pskb() to
let other users to opt-in for this new feature on followup patches.

Tested:

Before patch :

$ netperf -t STREAM_STREAM
STREAM STREAM TEST
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

 2304  212992  212992    10.00    46861.15

After patch :

$ netperf -t STREAM_STREAM
STREAM STREAM TEST
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

 2304  212992  212992    10.00    57981.11

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: David Rientjes &lt;rientjes@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>packet: Revert recent header parsing changes.</title>
<updated>2013-08-08T00:11:00Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2013-08-08T00:11:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=09effa67a18d893fc4e6f81a3659fc9efef1445e'/>
<id>urn:sha1:09effa67a18d893fc4e6f81a3659fc9efef1445e</id>
<content type='text'>
This reverts commits:

0f75b09c798ed00c30d7d5551b896be883bc2aeb
cbd89acb9eb257ed3b2be867142583fdcf7fdc5b
c483e02614551e44ced3fe6eedda8e36d3277ccc

Amongst other things, it's modifies the SKB header
to pull the ethernet headers off via eth_type_trans()
on the output path which is bogus.

It's causing serious regressions for people.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>af_packet: simplify VLAN frame check in packet_snd</title>
<updated>2013-08-02T21:58:32Z</updated>
<author>
<name>Phil Sutter</name>
<email>phil@nwl.cc</email>
</author>
<published>2013-08-02T09:37:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c483e02614551e44ced3fe6eedda8e36d3277ccc'/>
<id>urn:sha1:c483e02614551e44ced3fe6eedda8e36d3277ccc</id>
<content type='text'>
For ethernet frames, eth_type_trans() already parses the header, so one
can skip this when checking the frame size.

Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>af_packet: fix for sending VLAN frames via packet_mmap</title>
<updated>2013-08-02T21:58:32Z</updated>
<author>
<name>Phil Sutter</name>
<email>phil@nwl.cc</email>
</author>
<published>2013-08-02T09:37:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cbd89acb9eb257ed3b2be867142583fdcf7fdc5b'/>
<id>urn:sha1:cbd89acb9eb257ed3b2be867142583fdcf7fdc5b</id>
<content type='text'>
Since tpacket_fill_skb() parses the protocol field in ethernet frames'
headers, it's easy to see if any passed frame is a VLAN one and account
for the extended size.

But as the real protocol does not turn up before tpacket_fill_skb()
runs which in turn also checks the frame length, move the max frame
length calculation into the function.

Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>af_packet: when sending ethernet frames, parse header for skb-&gt;protocol</title>
<updated>2013-08-02T21:58:32Z</updated>
<author>
<name>Phil Sutter</name>
<email>phil@nwl.cc</email>
</author>
<published>2013-08-02T09:37:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0f75b09c798ed00c30d7d5551b896be883bc2aeb'/>
<id>urn:sha1:0f75b09c798ed00c30d7d5551b896be883bc2aeb</id>
<content type='text'>
This may be necessary when the SKB is passed to other layers on the go,
which check the protocol field on their own. An example is a VLAN packet
sent out using AF_PACKET on a bridge interface. The bridging code checks
the SKB size, accounting for any VLAN header only if the protocol field
is set accordingly.

Note that eth_type_trans() sets skb-&gt;dev to the passed argument, so this
can be skipped in packet_snd() for ethernet frames, as well.

Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Provide a generic socket error queue delivery method for Tx time stamps.</title>
<updated>2013-07-22T21:58:19Z</updated>
<author>
<name>Richard Cochran</name>
<email>richardcochran@gmail.com</email>
</author>
<published>2013-07-19T17:40:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cb820f8e4b7f73d1a32175e6591735b25bb5398d'/>
<id>urn:sha1:cb820f8e4b7f73d1a32175e6591735b25bb5398d</id>
<content type='text'>
This patch moves the private error queue delivery function from the
af_packet code to the core socket method. In this way, network layers
only needing the error queue for transmit time stamping can share common
code.

Signed-off-by: Richard Cochran &lt;richardcochran@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
