diff options
author | David Ahern <dsa@cumulusnetworks.com> | 2017-02-02 19:52:21 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-02-04 00:01:44 +0300 |
commit | 94b5e0f970258828bf163b5ef076da4e4b0802e0 (patch) | |
tree | b0fcd7892b00ecdccdc4328a632d98e74d6f265f /net | |
parent | 3898fac1f488c76e0eef5b5267b4ba8112a82ac4 (diff) | |
download | linux-94b5e0f970258828bf163b5ef076da4e4b0802e0.tar.xz |
net: ipv6: Set protocol to kernel for local routes
IPv6 stack does not set the protocol for local routes, so those routes show
up with proto "none":
$ ip -6 ro ls table local
local ::1 dev lo proto none metric 0 pref medium
local 2100:3:: dev lo proto none metric 0 pref medium
local 2100:3::4 dev lo proto none metric 0 pref medium
local fe80:: dev lo proto none metric 0 pref medium
...
Set rt6i_protocol to RTPROT_KERNEL for consistency with IPv4. Now routes
show up with proto "kernel":
$ ip -6 ro ls table local
local ::1 dev lo proto kernel metric 0 pref medium
local 2100:3:: dev lo proto kernel metric 0 pref medium
local 2100:3::4 dev lo proto kernel metric 0 pref medium
local fe80:: dev lo proto kernel metric 0 pref medium
...
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv6/route.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 2563331b0532..91eb3f7782dd 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -2634,6 +2634,7 @@ struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev, rt->dst.output = ip6_output; rt->rt6i_idev = idev; + rt->rt6i_protocol = RTPROT_KERNEL; rt->rt6i_flags = RTF_UP | RTF_NONEXTHOP; if (anycast) rt->rt6i_flags |= RTF_ANYCAST; |