<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/ipv4/devinet.c, branch linux-3.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-01-02T19:04:58Z</updated>
<entry>
<title>ipv4: igmp: guard against silly MTU values</title>
<updated>2018-01-02T19:04:58Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2017-12-11T15:17:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c8b5bd50bfad60a85dcdfe0c4dc746735a44f101'/>
<id>urn:sha1:c8b5bd50bfad60a85dcdfe0c4dc746735a44f101</id>
<content type='text'>
[ Upstream commit b5476022bbada3764609368f03329ca287528dc8 ]

IPv4 stack reacts to changes to small MTU, by disabling itself under
RTNL.

But there is a window where threads not using RTNL can see a wrong
device mtu. This can lead to surprises, in igmp code where it is
assumed the mtu is suitable.

Fix this by reading device mtu once and checking IPv4 minimal MTU.

This patch adds missing IPV4_MIN_MTU define, to not abuse
ETH_MIN_MTU anymore.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&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>ipv4: Don't do expensive useless work during inetdev destroy.</title>
<updated>2016-07-12T12:47:35Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2016-03-14T03:28:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=abe3994caa1c1056a2d036bdb613cc8ad282b059'/>
<id>urn:sha1:abe3994caa1c1056a2d036bdb613cc8ad282b059</id>
<content type='text'>
[ Upstream commit fbd40ea0180a2d328c5adc61414dc8bab9335ce2 ]

When an inetdev is destroyed, every address assigned to the interface
is removed.  And in this scenerio we do two pointless things which can
be very expensive if the number of assigned interfaces is large:

1) Address promotion.  We are deleting all addresses, so there is no
   point in doing this.

2) A full nf conntrack table purge for every address.  We only need to
   do this once, as is already caught by the existing
   masq_dev_notifier so masq_inet_event() can skip this.

Reported-by: Solar Designer &lt;solar@openwall.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Tested-by: Cyrill Gorcunov &lt;gorcunov@openvz.org&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>ipv4: fail early when creating netdev named all or default</title>
<updated>2014-07-29T18:43:50Z</updated>
<author>
<name>WANG Cong</name>
</author>
<published>2014-07-25T22:25:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=20e61da7ffcfd84a1b6f797e745608572e5bc218'/>
<id>urn:sha1:20e61da7ffcfd84a1b6f797e745608572e5bc218</id>
<content type='text'>
We create a proc dir for each network device, this will cause
conflicts when the devices have name "all" or "default".

Rather than emitting an ugly kernel warning, we could just
fail earlier by checking the device name.

Reported-by: Stephane Chazelas &lt;stephane.chazelas@gmail.com&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Signed-off-by: Cong Wang &lt;xiyou.wangcong@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: minor spelling fix</title>
<updated>2014-05-19T01:10:29Z</updated>
<author>
<name>stephen hemminger</name>
</author>
<published>2014-05-17T03:46:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=614d056c8e464e969361ebb03e4bad8a82047d0e'/>
<id>urn:sha1:614d056c8e464e969361ebb03e4bad8a82047d0e</id>
<content type='text'>
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>ipv4: remove inet_addr_hash_lock in devinet.c</title>
<updated>2014-05-09T02:56:56Z</updated>
<author>
<name>WANG Cong</name>
</author>
<published>2014-05-06T18:15:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=32a4be48907b930606f8736caa15c812af802227'/>
<id>urn:sha1:32a4be48907b930606f8736caa15c812af802227</id>
<content type='text'>
All the callers hold RTNL lock, so there is no need to use inet_addr_hash_lock
to protect the hash list.

Cc: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Cong Wang &lt;xiyou.wangcong@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Fix runtime WARNING in rtmsg_ifa()</title>
<updated>2014-02-07T04:02:15Z</updated>
<author>
<name>Geert Uytterhoeven</name>
</author>
<published>2014-02-05T07:38:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=63b5f152eb4a5bb79b9caf7ec37b4201d12f6e66'/>
<id>urn:sha1:63b5f152eb4a5bb79b9caf7ec37b4201d12f6e66</id>
<content type='text'>
On m68k/ARAnyM:

WARNING: CPU: 0 PID: 407 at net/ipv4/devinet.c:1599 0x316a99()
Modules linked in:
CPU: 0 PID: 407 Comm: ifconfig Not tainted
3.13.0-atari-09263-g0c71d68014d1 #1378
Stack from 10c4fdf0:
        10c4fdf0 002ffabb 000243e8 00000000 008ced6c 00024416 00316a99 0000063f
        00316a99 00000009 00000000 002501b4 00316a99 0000063f c0a86117 00000080
        c0a86117 00ad0c90 00250a5a 00000014 00ad0c90 00000000 00000000 00000001
        00b02dd0 00356594 00000000 00356594 c0a86117 eff6c9e4 008ced6c 00000002
        008ced60 0024f9b4 00250b52 00ad0c90 00000000 00000000 00252390 00ad0c90
        eff6c9e4 0000004f 00000000 00000000 eff6c9e4 8000e25c eff6c9e4 80001020
Call Trace: [&lt;000243e8&gt;] warn_slowpath_common+0x52/0x6c
 [&lt;00024416&gt;] warn_slowpath_null+0x14/0x1a
 [&lt;002501b4&gt;] rtmsg_ifa+0xdc/0xf0
 [&lt;00250a5a&gt;] __inet_insert_ifa+0xd6/0x1c2
 [&lt;0024f9b4&gt;] inet_abc_len+0x0/0x42
 [&lt;00250b52&gt;] inet_insert_ifa+0xc/0x12
 [&lt;00252390&gt;] devinet_ioctl+0x2ae/0x5d6

Adding some debugging code reveals that net_fill_ifaddr() fails in

    put_cacheinfo(skb, ifa-&gt;ifa_cstamp, ifa-&gt;ifa_tstamp,
                              preferred, valid))

nla_put complains:

    lib/nlattr.c:454: skb_tailroom(skb) = 12, nla_total_size(attrlen) = 20

Apparently commit 5c766d642bcaffd0c2a5b354db2068515b3846cf ("ipv4:
introduce address lifetime") forgot to take into account the addition of
struct ifa_cacheinfo in inet_nlmsg_size(). Hence add it, like is already
done for ipv6.

Suggested-by: Cong Wang &lt;cwang@twopensource.com&gt;
Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: Cong Wang &lt;cwang@twopensource.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ipv4: queue work on power efficient wq</title>
<updated>2014-01-23T05:57:05Z</updated>
<author>
<name>viresh kumar</name>
</author>
<published>2014-01-22T06:53:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=906e073f3e842877b59d669b25aa76f65ba775b3'/>
<id>urn:sha1:906e073f3e842877b59d669b25aa76f65ba775b3</id>
<content type='text'>
Workqueue used in ipv4 layer have no real dependency of scheduling these on the
cpu which scheduled them.

On a idle system, it is observed that an idle cpu wakes up many times just to
service this work. It would be better if we can schedule it on a cpu which the
scheduler believes to be the most appropriate one.

This patch replaces normal workqueues with power efficient versions. This
doesn't change existing behavior of code unless CONFIG_WQ_POWER_EFFICIENT is
enabled.

Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: replace macros net_random and net_srandom with direct calls to prandom</title>
<updated>2014-01-14T23:15:25Z</updated>
<author>
<name>Aruna-Hewapathirane</name>
</author>
<published>2014-01-11T12:15:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=63862b5bef7349dd1137e4c70702c67d77565785'/>
<id>urn:sha1:63862b5bef7349dd1137e4c70702c67d77565785</id>
<content type='text'>
This patch removes the net_random and net_srandom macros and replaces
them with direct calls to the prandom ones. As new commits only seem to
use prandom_u32 there is no use to keep them around.
This change makes it easier to grep for users of prandom_u32.

Signed-off-by: Aruna-Hewapathirane &lt;aruna.hewapathirane@gmail.com&gt;
Suggested-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Acked-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: loopback device: ignore value changes after device is upped</title>
<updated>2014-01-07T20:55:17Z</updated>
<author>
<name>Jiri Pirko</name>
</author>
<published>2014-01-07T14:55:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dfd1582d1e4d117f46df720679d595f984ef902a'/>
<id>urn:sha1:dfd1582d1e4d117f46df720679d595f984ef902a</id>
<content type='text'>
When lo is brought up, new ifa is created. Then, devconf and neigh values
bitfield should be set so later changes of default values would not
affect lo values.

Note that the same behaviour is in ipv6. Also note that this is likely
not an issue in many distros (for example Fedora 19) because userspace
sets address to lo manually before bringing it up.

Signed-off-by: Jiri Pirko &lt;jiri@resnulli.us&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netconf: rename PROXY_ARP to NEIGH_PROXY</title>
<updated>2013-12-22T23:02:43Z</updated>
<author>
<name>stephen hemminger</name>
</author>
<published>2013-12-18T06:35:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=09aea5df7fbf0b987623f7007a11e64008284a0e'/>
<id>urn:sha1:09aea5df7fbf0b987623f7007a11e64008284a0e</id>
<content type='text'>
Use same field for both IPv4 (proxy_arp) and IPv6 (proxy_ndp)
so fix it before API is set to be a common name

Signed-off-by: Stephen Hemminger &lt;stephen@networkplumber.org&gt;
Acked-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
