<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/include/net/ipv6.h, branch v2.6.38-rc5</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>net: return operator cleanup</title>
<updated>2010-09-23T21:33:39+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2010-09-22T20:43:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a02cec2155fbea457eca8881870fd2de1a4c4c76'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>snmp: 64bit ipstats_mib for all arches</title>
<updated>2010-06-30T20:31:19+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2010-06-30T20:31:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4ce3c183fcade7f4b30a33dae90cd774c3d9e094'/>
<id>4ce3c183fcade7f4b30a33dae90cd774c3d9e094</id>
<content type='text'>
/proc/net/snmp and /proc/net/netstat expose SNMP counters.

Width of these counters is either 32 or 64 bits, depending on the size
of "unsigned long" in kernel.

This means user program parsing these files must already be prepared to
deal with 64bit values, regardless of user program being 32 or 64 bit.

This patch introduces 64bit snmp values for IPSTAT mib, where some
counters can wrap pretty fast if they are 32bit wide.

# netstat -s|egrep "InOctets|OutOctets"
    InOctets: 244068329096
    OutOctets: 244069348848

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
/proc/net/snmp and /proc/net/netstat expose SNMP counters.

Width of these counters is either 32 or 64 bits, depending on the size
of "unsigned long" in kernel.

This means user program parsing these files must already be prepared to
deal with 64bit values, regardless of user program being 32 or 64 bit.

This patch introduces 64bit snmp values for IPSTAT mib, where some
counters can wrap pretty fast if they are 32bit wide.

# netstat -s|egrep "InOctets|OutOctets"
    InOctets: 244068329096
    OutOctets: 244069348848

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: Refactor update of IPv6 flowi destination address for srcrt (RH) option</title>
<updated>2010-06-02T14:08:31+00:00</updated>
<author>
<name>Arnaud Ebalard</name>
<email>arno@natisbad.org</email>
</author>
<published>2010-06-01T21:35:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=20c59de2e6b6bc74bbf714dcd4e720afe8d516cf'/>
<id>20c59de2e6b6bc74bbf714dcd4e720afe8d516cf</id>
<content type='text'>
There are more than a dozen occurrences of following code in the
IPv6 stack:

    if (opt &amp;&amp; opt-&gt;srcrt) {
            struct rt0_hdr *rt0 = (struct rt0_hdr *) opt-&gt;srcrt;
            ipv6_addr_copy(&amp;final, &amp;fl.fl6_dst);
            ipv6_addr_copy(&amp;fl.fl6_dst, rt0-&gt;addr);
            final_p = &amp;final;
    }

Replace those with a helper. Note that the helper overrides final_p
in all cases. This is ok as final_p was previously initialized to
NULL when declared.

Signed-off-by: Arnaud Ebalard &lt;arno@natisbad.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are more than a dozen occurrences of following code in the
IPv6 stack:

    if (opt &amp;&amp; opt-&gt;srcrt) {
            struct rt0_hdr *rt0 = (struct rt0_hdr *) opt-&gt;srcrt;
            ipv6_addr_copy(&amp;final, &amp;fl.fl6_dst);
            ipv6_addr_copy(&amp;fl.fl6_dst, rt0-&gt;addr);
            final_p = &amp;final;
    }

Replace those with a helper. Note that the helper overrides final_p
in all cases. This is ok as final_p was previously initialized to
NULL when declared.

Signed-off-by: Arnaud Ebalard &lt;arno@natisbad.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel-wide: replace USHORT_MAX, SHORT_MAX and SHORT_MIN with USHRT_MAX, SHRT_MAX and SHRT_MIN</title>
<updated>2010-05-25T15:07:02+00:00</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2010-05-24T21:33:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4be929be34f9bdeffa40d815d32d7d60d2c7f03b'/>
<id>4be929be34f9bdeffa40d815d32d7d60d2c7f03b</id>
<content type='text'>
- C99 knows about USHRT_MAX/SHRT_MAX/SHRT_MIN, not
  USHORT_MAX/SHORT_MAX/SHORT_MIN.

- Make SHRT_MIN of type s16, not int, for consistency.

[akpm@linux-foundation.org: fix drivers/dma/timb_dma.c]
[akpm@linux-foundation.org: fix security/keys/keyring.c]
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Acked-by: WANG Cong &lt;xiyou.wangcong@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- C99 knows about USHRT_MAX/SHRT_MAX/SHRT_MIN, not
  USHORT_MAX/SHORT_MAX/SHORT_MIN.

- Make SHRT_MIN of type s16, not int, for consistency.

[akpm@linux-foundation.org: fix drivers/dma/timb_dma.c]
[akpm@linux-foundation.org: fix security/keys/keyring.c]
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Acked-by: WANG Cong &lt;xiyou.wangcong@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>IPv6: Complete IPV6_DONTFRAG support</title>
<updated>2010-04-24T06:35:29+00:00</updated>
<author>
<name>Brian Haley</name>
<email>brian.haley@hp.com</email>
</author>
<published>2010-04-23T11:26:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4b340ae20d0e2366792abe70f46629e576adaf5e'/>
<id>4b340ae20d0e2366792abe70f46629e576adaf5e</id>
<content type='text'>
Finally add support to detect a local IPV6_DONTFRAG event
and return the relevant data to the user if they've enabled
IPV6_RECVPATHMTU on the socket.  The next recvmsg() will
return no data, but have an IPV6_PATHMTU as ancillary data.

Signed-off-by: Brian Haley &lt;brian.haley@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Finally add support to detect a local IPV6_DONTFRAG event
and return the relevant data to the user if they've enabled
IPV6_RECVPATHMTU on the socket.  The next recvmsg() will
return no data, but have an IPV6_PATHMTU as ancillary data.

Signed-off-by: Brian Haley &lt;brian.haley@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>IPv6: Add dontfrag argument to relevant functions</title>
<updated>2010-04-24T06:35:28+00:00</updated>
<author>
<name>Brian Haley</name>
<email>brian.haley@hp.com</email>
</author>
<published>2010-04-23T11:26:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=13b52cd44670e3359055e9918d0e766d89836425'/>
<id>13b52cd44670e3359055e9918d0e766d89836425</id>
<content type='text'>
Add dontfrag argument to relevant functions for
IPV6_DONTFRAG support, as well as allowing the value
to be passed-in via ancillary cmsg data.

Signed-off-by: Brian Haley &lt;brian.haley@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add dontfrag argument to relevant functions for
IPV6_DONTFRAG support, as well as allowing the value
to be passed-in via ancillary cmsg data.

Signed-off-by: Brian Haley &lt;brian.haley@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: replace ipfragok with skb-&gt;local_df</title>
<updated>2010-04-16T06:36:37+00:00</updated>
<author>
<name>Shan Wei</name>
<email>shanwei@cn.fujitsu.com</email>
</author>
<published>2010-04-15T16:43:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4e15ed4d930297c127d280ca1d0c785be870def4'/>
<id>4e15ed4d930297c127d280ca1d0c785be870def4</id>
<content type='text'>
As Herbert Xu said: we should be able to simply replace ipfragok
with skb-&gt;local_df. commit f88037(sctp: Drop ipfargok in sctp_xmit function)
has droped ipfragok and set local_df value properly.

The patch kills the ipfragok parameter of .queue_xmit().

Signed-off-by: Shan Wei &lt;shanwei@cn.fujitsu.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As Herbert Xu said: we should be able to simply replace ipfragok
with skb-&gt;local_df. commit f88037(sctp: Drop ipfargok in sctp_xmit function)
has droped ipfragok and set local_df value properly.

The patch kills the ipfragok parameter of .queue_xmit().

Signed-off-by: Shan Wei &lt;shanwei@cn.fujitsu.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: Use __fls() instead of fls() in __ipv6_addr_diff().</title>
<updated>2010-03-31T06:28:46+00:00</updated>
<author>
<name>YOSHIFUJI Hideaki / 吉藤英明</name>
<email>yoshfuji@linux-ipv6.org</email>
</author>
<published>2010-03-29T06:00:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d57b8fb8a8f94bdf467a4435be7d8bbebf87fe2a'/>
<id>d57b8fb8a8f94bdf467a4435be7d8bbebf87fe2a</id>
<content type='text'>
Because we have ensured that the argument is non-zero,
it is better to use __fls() and generate better code.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Because we have ensured that the argument is non-zero,
it is better to use __fls() and generate better code.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6: Remove IPV6_ADDR_RESERVED</title>
<updated>2010-02-26T11:59:07+00:00</updated>
<author>
<name>Ulrich Weber</name>
<email>uweber@astaro.com</email>
</author>
<published>2010-02-25T23:28:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=45bb00609022ecf1d97e083666c68c74d237b799'/>
<id>45bb00609022ecf1d97e083666c68c74d237b799</id>
<content type='text'>
RFC 4291 section 2.4 states that all uncategorized addresses
should be considered as Global Unicast.

This will remove IPV6_ADDR_RESERVED completely
and return IPV6_ADDR_UNICAST in ipv6_addr_type() instead.

Signed-off-by: Ulrich Weber &lt;uweber@astaro.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RFC 4291 section 2.4 states that all uncategorized addresses
should be considered as Global Unicast.

This will remove IPV6_ADDR_RESERVED completely
and return IPV6_ADDR_UNICAST in ipv6_addr_type() instead.

Signed-off-by: Ulrich Weber &lt;uweber@astaro.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ipv6.h: reassembly: replace calculated magic number with multiplication</title>
<updated>2010-02-17T08:03:28+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2010-02-16T18:40:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9874c41cd5e70bfc97bcd52a8b6c98c2a6ba7299'/>
<id>9874c41cd5e70bfc97bcd52a8b6c98c2a6ba7299</id>
<content type='text'>
On Tue, 2010-02-16 at 16:47 +0100, Patrick McHardy wrote:
&gt; Joe Perches wrote:
&gt; &gt;&gt; @@ -246,6 +246,8 @@ extern int ipv6_opt_accepted(struct sock *sk, struct sk_buff *skb);
&gt; &gt;&gt;  int ip6_frag_nqueues(struct net *net);
&gt; &gt;&gt;  int ip6_frag_mem(struct net *net);
&gt; &gt;&gt;
&gt; &gt;&gt; +#define IPV6_FRAG_HIGH_THRESH	262144		/* == 256*1024 */
&gt; &gt;&gt; +#define IPV6_FRAG_LOW_THRESH	196608		/* == 192*1024 */
&gt; &gt;&gt;  #define IPV6_FRAG_TIMEOUT	(60*HZ)		/* 60 seconds */
&gt; &gt;
&gt; &gt; 196608 isn't a number I want to remember.
&gt; &gt; Is this better as:
&gt; &gt;
&gt; &gt; #define IPV6_FRAG_HIGH_THRESH	(256 * 1024)	/* 262144 */
&gt; &gt; #define IPV6_FRAG_LOW_THRESH	(192 * 1024)	/* 196608 */
&gt;
&gt; Please send a patch, I'll apply it once these patches are in Dave's
&gt; tree.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On Tue, 2010-02-16 at 16:47 +0100, Patrick McHardy wrote:
&gt; Joe Perches wrote:
&gt; &gt;&gt; @@ -246,6 +246,8 @@ extern int ipv6_opt_accepted(struct sock *sk, struct sk_buff *skb);
&gt; &gt;&gt;  int ip6_frag_nqueues(struct net *net);
&gt; &gt;&gt;  int ip6_frag_mem(struct net *net);
&gt; &gt;&gt;
&gt; &gt;&gt; +#define IPV6_FRAG_HIGH_THRESH	262144		/* == 256*1024 */
&gt; &gt;&gt; +#define IPV6_FRAG_LOW_THRESH	196608		/* == 192*1024 */
&gt; &gt;&gt;  #define IPV6_FRAG_TIMEOUT	(60*HZ)		/* 60 seconds */
&gt; &gt;
&gt; &gt; 196608 isn't a number I want to remember.
&gt; &gt; Is this better as:
&gt; &gt;
&gt; &gt; #define IPV6_FRAG_HIGH_THRESH	(256 * 1024)	/* 262144 */
&gt; &gt; #define IPV6_FRAG_LOW_THRESH	(192 * 1024)	/* 196608 */
&gt;
&gt; Please send a patch, I'll apply it once these patches are in Dave's
&gt; tree.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
