<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/packet, branch v2.6.22.7</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net/packet?h=v2.6.22.7</id>
<link rel='self' href='https://git.amat.us/linux/atom/net/packet?h=v2.6.22.7'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2007-05-31T08:23:32Z</updated>
<entry>
<title>[AF_PACKET]: Kill CONFIG_PACKET_SOCKET.</title>
<updated>2007-05-31T08:23:32Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@sunset.davemloft.net</email>
</author>
<published>2007-05-29T20:16:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=be02097cf6342eb0426833f54c95e0fb4c9bca45'/>
<id>urn:sha1:be02097cf6342eb0426833f54c95e0fb4c9bca45</id>
<content type='text'>
Always set, but af_packet.c, not by the Kconfig subsystem, so
just get rid of it.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[AF_PACKET]: Kill bogus CONFIG_PACKET_MULTICAST</title>
<updated>2007-05-31T08:23:30Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@sunset.davemloft.net</email>
</author>
<published>2007-05-29T20:12:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a2efcfa04865eaaa88b870f4babf12f4c1fc4f83'/>
<id>urn:sha1:a2efcfa04865eaaa88b870f4babf12f4c1fc4f83</id>
<content type='text'>
It is unconditionally set by af_packet.c, not by the Kconfig
subsystem, so just kill it off.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[AF_PACKET]: Add option to return orig_dev to userspace.</title>
<updated>2007-04-26T05:29:14Z</updated>
<author>
<name>Peter P. Waskiewicz Jr</name>
<email>peter.p.waskiewicz.jr@intel.com</email>
</author>
<published>2007-04-20T23:05:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=80feaacb8a6400a9540a961b6743c69a5896b937'/>
<id>urn:sha1:80feaacb8a6400a9540a961b6743c69a5896b937</id>
<content type='text'>
Add a packet socket option to allow the orig_dev index to be returned
to userspace when passing traffic through a decapsulated device, such
as the bonding driver.

This is very useful for layer 2 traffic being able to report which
physical device actually received the traffic, instead of having the
encapsulating device hide that information.

The new option is called PACKET_ORIGDEV.

Signed-off-by: Peter P. Waskiewicz Jr. &lt;peter.p.waskiewicz.jr@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[SK_BUFF]: Convert skb-&gt;tail to sk_buff_data_t</title>
<updated>2007-04-26T05:26:28Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-04-20T03:29:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26'/>
<id>urn:sha1:27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26</id>
<content type='text'>
So that it is also an offset from skb-&gt;head, reduces its size from 8 to 4 bytes
on 64bit architectures, allowing us to combine the 4 bytes hole left by the
layer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4
64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...
:-)

Many calculations that previously required that skb-&gt;{transport,network,
mac}_header be first converted to a pointer now can be done directly, being
meaningful as offsets or pointers.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[SK_BUFF]: unions of just one member don't get anything done, kill them</title>
<updated>2007-04-26T05:26:20Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-04-11T04:21:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b0e380b1d8a8e0aca215df97702f99815f05c094'/>
<id>urn:sha1:b0e380b1d8a8e0aca215df97702f99815f05c094</id>
<content type='text'>
Renaming skb-&gt;h to skb-&gt;transport_header, skb-&gt;nh to skb-&gt;network_header and
skb-&gt;mac to skb-&gt;mac_header, to match the names of the associated helpers
(skb[_[re]set]_{transport,network,mac}_header).

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[SK_BUFF]: Introduce skb_network_offset()</title>
<updated>2007-04-26T05:24:58Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-03-11T01:16:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bbe735e4247dba32568a305553b010081c8dea99'/>
<id>urn:sha1:bbe735e4247dba32568a305553b010081c8dea99</id>
<content type='text'>
For the quite common 'skb-&gt;nh.raw - skb-&gt;data' sequence.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[SK_BUFF]: Introduce skb_reset_network_header(skb)</title>
<updated>2007-04-26T05:24:46Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-04-11T03:45:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce'/>
<id>urn:sha1:c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce</id>
<content type='text'>
For the common, open coded 'skb-&gt;nh.raw = skb-&gt;data' operation, so that we can
later turn skb-&gt;nh.raw into a offset, reducing the size of struct sk_buff in
64bit land while possibly keeping it as a pointer on 32bit.

This one touches just the most simple case, next will handle the slightly more
"complex" cases.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[SK_BUFF]: Introduce skb_mac_header()</title>
<updated>2007-04-26T05:24:41Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-03-19T22:33:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=98e399f82ab3a6d863d1d4a7ea48925cc91c830e'/>
<id>urn:sha1:98e399f82ab3a6d863d1d4a7ea48925cc91c830e</id>
<content type='text'>
For the places where we need a pointer to the mac header, it is still legal to
touch skb-&gt;mac.raw directly if just adding to, subtracting from or setting it
to another layer header.

This one also converts some more cases to skb_reset_mac_header() that my
regex missed as it had no spaces before nor after '=', ugh.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution</title>
<updated>2007-04-26T05:24:04Z</updated>
<author>
<name>Eric Dumazet</name>
<email>dada1@cosmosbay.com</email>
</author>
<published>2007-03-19T00:33:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23'/>
<id>urn:sha1:ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23</id>
<content type='text'>
Now network timestamps use ktime_t infrastructure, we can add a new
ioctl() SIOCGSTAMPNS command to get timestamps in 'struct timespec'.
User programs can thus access to nanosecond resolution.

Signed-off-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
CC: Stephen Hemminger &lt;shemminger@linux-foundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: convert network timestamps to ktime_t</title>
<updated>2007-04-26T05:23:34Z</updated>
<author>
<name>Eric Dumazet</name>
<email>dada1@cosmosbay.com</email>
</author>
<published>2007-04-19T23:16:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b7aa0bf70c4afb9e38be25f5c0922498d0f8684c'/>
<id>urn:sha1:b7aa0bf70c4afb9e38be25f5c0922498d0f8684c</id>
<content type='text'>
We currently use a special structure (struct skb_timeval) and plain
'struct timeval' to store packet timestamps in sk_buffs and struct
sock.

This has some drawbacks :
- Fixed resolution of micro second.
- Waste of space on 64bit platforms where sizeof(struct timeval)=16

I suggest using ktime_t that is a nice abstraction of high resolution
time services, currently capable of nanosecond resolution.

As sizeof(ktime_t) is 8 bytes, using ktime_t in 'struct sock' permits
a 8 byte shrink of this structure on 64bit architectures. Some other
structures also benefit from this size reduction (struct ipq in
ipv4/ip_fragment.c, struct frag_queue in ipv6/reassembly.c, ...)

Once this ktime infrastructure adopted, we can more easily provide
nanosecond resolution on top of it. (ioctl SIOCGSTAMPNS and/or
SO_TIMESTAMPNS/SCM_TIMESTAMPNS)

Note : this patch includes a bug correction in
compat_sock_get_timestamp() where a "err = 0;" was missing (so this
syscall returned -ENOENT instead of 0)

Signed-off-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
CC: Stephen Hemminger &lt;shemminger@linux-foundation.org&gt;
CC: John find &lt;linux.kernel@free.fr&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
