net: ipv6: Set protocol to kernel for local routes
authorDavid Ahern <dsa@cumulusnetworks.com>
Thu, 2 Feb 2017 16:52:21 +0000 (08:52 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 3 Feb 2017 21:01:44 +0000 (16:01 -0500)
commit94b5e0f970258828bf163b5ef076da4e4b0802e0
treeb0fcd7892b00ecdccdc4328a632d98e74d6f265f
parent3898fac1f488c76e0eef5b5267b4ba8112a82ac4
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>
net/ipv6/route.c