ipv4: Add ICMPv6 support when parse route ipproto
authorHangbin Liu <liuhangbin@gmail.com>
Wed, 27 Feb 2019 08:15:29 +0000 (16:15 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 10 Mar 2019 06:17:17 +0000 (07:17 +0100)
commit99ed9458212602e1a286196c488c52952d2e9e7a
tree3b8cb8bdab23988c002eb4c44fd2ccc4c74687d9
parentd61918a5e401bc1911d761a7f0c5c760ea1cac4b
ipv4: Add ICMPv6 support when parse route ipproto

[ Upstream commit 5e1a99eae84999a2536f50a0beaf5d5262337f40 ]

For ip rules, we need to use 'ipproto ipv6-icmp' to match ICMPv6 headers.
But for ip -6 route, currently we only support tcp, udp and icmp.

Add ICMPv6 support so we can match ipv6-icmp rules for route lookup.

v2: As David Ahern and Sabrina Dubroca suggested, Add an argument to
rtm_getroute_parse_ip_proto() to handle ICMP/ICMPv6 with different family.

Reported-by: Jianlin Shi <jishi@redhat.com>
Fixes: eacb9384a3fe ("ipv6: support sport, dport and ip_proto in RTM_GETROUTE")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/net/ip.h
net/ipv4/netlink.c
net/ipv4/route.c
net/ipv6/route.c