<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/net/arp.h, branch v3.18.136</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.18.136</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.18.136'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2018-02-16T19:14:42+00:00</updated>
<entry>
<title>ipv4: Map neigh lookup keys in __ipv4_neigh_lookup_noref()</title>
<updated>2018-02-16T19:14:42+00:00</updated>
<author>
<name>Wang Han</name>
<email>wanghan1995315@gmail.com</email>
</author>
<published>2018-02-02T15:06:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=796ab952d504dc938bbc331fa648a21ae96f6817'/>
<id>urn:sha1:796ab952d504dc938bbc331fa648a21ae96f6817</id>
<content type='text'>
Commit 6c16fa957e84 is an incorrect backport as we map the keys in
struct __ipv4_neigh_lookup(), but the correct place to add the
code is struct __ipv4_neigh_lookup_noref(), compared to upstream.

Fix it by moving the code, or fewer cases will be covered as
__ipv4_neigh_lookup_noref() will be called unconditionally from
__ipv4_neigh_lookup(), and it can be called from other places
such as ip_output.c.

Fixes: 6c16fa957e84 (ipv4: Make neigh lookup keys for loopback/point-to-point devices be INADDR_ANY)
Signed-off-by: Wang Han &lt;wanghan1995315@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ipv4: Make neigh lookup keys for loopback/point-to-point devices be INADDR_ANY</title>
<updated>2018-01-31T13:46:15+00:00</updated>
<author>
<name>Jim Westfall</name>
<email>jwestfall@surrealistic.net</email>
</author>
<published>2018-01-14T12:18:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6c16fa957e84c8b640dadc4e0264ff0d2dae7aa3'/>
<id>urn:sha1:6c16fa957e84c8b640dadc4e0264ff0d2dae7aa3</id>
<content type='text'>
[ Upstream commit cd9ff4de0107c65d69d02253bb25d6db93c3dbc1 ]

Map all lookup neigh keys to INADDR_ANY for loopback/point-to-point devices
to avoid making an entry for every remote ip the device needs to talk to.

This used the be the old behavior but became broken in a263b3093641f
(ipv4: Make neigh lookups directly in output packet path) and later removed
in 0bb4087cbec0 (ipv4: Fix neigh lookup keying over loopback/point-to-point
devices) because it was broken.

Signed-off-by: Jim Westfall &lt;jwestfall@surrealistic.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>arp: make arp_invalidate static</title>
<updated>2013-12-28T22:02:46+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>stephen@networkplumber.org</email>
</author>
<published>2013-12-28T19:07:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7195cf72211d77108de8271a247ec2876ae60502'/>
<id>urn:sha1:7195cf72211d77108de8271a247ec2876ae60502</id>
<content type='text'>
Don't export arp_invalidate, only used in arp.c

Signed-off-by: Stephen Hemminger &lt;stephen@networkplumber.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>arp/neighbour.h: Remove extern from function prototypes</title>
<updated>2013-08-01T00:50:02+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2013-08-01T00:31:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=90972b22116bc22181717517ad5b0c7043edb178'/>
<id>urn:sha1:90972b22116bc22181717517ad5b0c7043edb178</id>
<content type='text'>
There are a mix of function prototypes with and without extern
in the kernel sources.  Standardize on not using extern for
function prototypes.

Function prototypes don't need to be written with extern.
extern is assumed by the compiler.  Its use is as unnecessary as
using auto to declare automatic/local variables in a block.

Reflow modified prototypes to 80 columns.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Dont use ifindices in hash fns</title>
<updated>2012-08-09T23:18:06+00:00</updated>
<author>
<name>Pavel Emelyanov</name>
<email>xemul@parallels.com</email>
</author>
<published>2012-08-08T21:52:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b14f243a42c7aa43de71f878641acd003f223022'/>
<id>urn:sha1:b14f243a42c7aa43de71f878641acd003f223022</id>
<content type='text'>
Eric noticed, that when there will be devices with equal indices, some
hash functions that use them will become less effective as they could.
Fix this in advance by mixing the net_device address into the hash value
instead of the device index.

This is true for arp and ndisc hash fns. The netlabel, can and llc ones
are also ifindex-based, but that three are init_net-only, thus will not
be affected.

Many thanks to David and Eric for the hash32_ptr implementation!

Signed-off-by: Pavel Emelyanov &lt;xemul@parallels.com&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Fix neigh lookup keying over loopback/point-to-point devices.</title>
<updated>2012-07-20T23:06:10+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-07-20T23:00:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0bb4087cbec0ef74fd416789d6aad67957063057'/>
<id>urn:sha1:0bb4087cbec0ef74fd416789d6aad67957063057</id>
<content type='text'>
We were using a special key "0" for all loopback and point-to-point
device neigh lookups under ipv4, but we wouldn't use that special
key for the neigh creation.

So basically we'd make a new neigh at each and every lookup :-)

This special case to use only one neigh for these device types
is of dubious value, so just remove it entirely.

Reported-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Make neigh lookups directly in output packet path.</title>
<updated>2012-07-05T08:02:12+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-07-02T09:02:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a263b3093641fb1ec377582c90986a7fd0625184'/>
<id>urn:sha1:a263b3093641fb1ec377582c90986a7fd0625184</id>
<content type='text'>
Do not use the dst cached neigh, we'll be getting rid of that.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Eliminate spurious argument to __ipv4_neigh_lookup</title>
<updated>2012-02-15T22:48:35+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-02-15T22:48:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=80703d265b7e8a801560d907b1bfe340e574dbca'/>
<id>urn:sha1:80703d265b7e8a801560d907b1bfe340e574dbca</id>
<content type='text'>
'tbl' is always arp_tbl, so specifying it is pointless.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: Use universal hash for NDISC.</title>
<updated>2011-12-28T20:06:58+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-12-28T20:06:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2c2aba6c561ac425602f4a0be61422224cb87151'/>
<id>urn:sha1:2c2aba6c561ac425602f4a0be61422224cb87151</id>
<content type='text'>
In order to perform a proper universal hash on a vector of integers,
we have to use different universal hashes on each vector element.

Which means we need 4 different hash randoms for ipv6.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Add -&gt;neigh_lookup() operation to dst_ops</title>
<updated>2011-07-18T07:40:17+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-07-18T07:40:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d3aaeb38c40e5a6c08dd31a1b64da65c4352be36'/>
<id>urn:sha1:d3aaeb38c40e5a6c08dd31a1b64da65c4352be36</id>
<content type='text'>
In the future dst entries will be neigh-less.  In that environment we
need to have an easy transition point for current users of
dst-&gt;neighbour outside of the packet output fast path.

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