Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'nexthops-Fix-multipath-notifications-for-IPv6-and-selftests'

David Ahern says:

====================
nexthops: Fix multipath notifications for IPv6 and selftests

A couple of bug fixes noticed while testing Donald's patch.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

+14 -12
+1 -1
net/ipv6/route.c
··· 5329 5329 if (nexthop_is_multipath(nh)) { 5330 5330 struct nlattr *mp; 5331 5331 5332 - mp = nla_nest_start(skb, RTA_MULTIPATH); 5332 + mp = nla_nest_start_noflag(skb, RTA_MULTIPATH); 5333 5333 if (!mp) 5334 5334 goto nla_put_failure; 5335 5335
+13 -11
tools/testing/selftests/net/fib_nexthops.sh
··· 212 212 printf " ${out}\n" 213 213 printf " Expected:\n" 214 214 printf " ${expected}\n\n" 215 + else 216 + echo " WARNING: Unexpected route entry" 215 217 fi 216 218 fi 217 219 ··· 276 274 277 275 run_cmd "$IP nexthop get id 52" 278 276 log_test $? 0 "Get nexthop by id" 279 - check_nexthop "id 52" "id 52 via 2001:db8:91::2 dev veth1" 277 + check_nexthop "id 52" "id 52 via 2001:db8:91::2 dev veth1 scope link" 280 278 281 279 run_cmd "$IP nexthop del id 52" 282 280 log_test $? 0 "Delete nexthop by id" ··· 481 479 run_cmd "$IP -6 nexthop add id 85 dev veth1" 482 480 run_cmd "$IP ro replace 2001:db8:101::1/128 nhid 85" 483 481 log_test $? 0 "IPv6 route with device only nexthop" 484 - check_route6 "2001:db8:101::1" "2001:db8:101::1 nhid 85 dev veth1" 482 + check_route6 "2001:db8:101::1" "2001:db8:101::1 nhid 85 dev veth1 metric 1024 pref medium" 485 483 486 484 run_cmd "$IP nexthop add id 123 group 81/85" 487 485 run_cmd "$IP ro replace 2001:db8:101::1/128 nhid 123" 488 486 log_test $? 0 "IPv6 multipath route with nexthop mix - dev only + gw" 489 - check_route6 "2001:db8:101::1" "2001:db8:101::1 nhid 85 nexthop via 2001:db8:91::2 dev veth1 nexthop dev veth1" 487 + check_route6 "2001:db8:101::1" "2001:db8:101::1 nhid 123 metric 1024 nexthop via 2001:db8:91::2 dev veth1 weight 1 nexthop dev veth1 weight 1 pref medium" 490 488 491 489 # 492 490 # IPv6 route with v4 nexthop - not allowed ··· 540 538 541 539 run_cmd "$IP nexthop get id 12" 542 540 log_test $? 0 "Get nexthop by id" 543 - check_nexthop "id 12" "id 12 via 172.16.1.2 src 172.16.1.1 dev veth1 scope link" 541 + check_nexthop "id 12" "id 12 via 172.16.1.2 dev veth1 scope link" 544 542 545 543 run_cmd "$IP nexthop del id 12" 546 544 log_test $? 0 "Delete nexthop by id" ··· 687 685 set +e 688 686 run_cmd "$IP ro add 172.16.101.1/32 nhid 11" 689 687 log_test $? 0 "IPv6 nexthop with IPv4 route" 690 - check_route "172.16.101.1" "172.16.101.1 nhid 11 via ${lladdr} dev veth1" 688 + check_route "172.16.101.1" "172.16.101.1 nhid 11 via inet6 ${lladdr} dev veth1" 691 689 692 690 set -e 693 691 run_cmd "$IP nexthop add id 12 via 172.16.1.2 dev veth1" ··· 696 694 run_cmd "$IP ro replace 172.16.101.1/32 nhid 101" 697 695 log_test $? 0 "IPv6 nexthop with IPv4 route" 698 696 699 - check_route "172.16.101.1" "172.16.101.1 nhid 101 nexthop via ${lladdr} dev veth1 weight 1 nexthop via 172.16.1.2 dev veth1 weight 1" 697 + check_route "172.16.101.1" "172.16.101.1 nhid 101 nexthop via inet6 ${lladdr} dev veth1 weight 1 nexthop via 172.16.1.2 dev veth1 weight 1" 700 698 701 699 run_cmd "$IP ro replace 172.16.101.1/32 via inet6 ${lladdr} dev veth1" 702 700 log_test $? 0 "IPv4 route with IPv6 gateway" 703 - check_route "172.16.101.1" "172.16.101.1 via ${lladdr} dev veth1" 701 + check_route "172.16.101.1" "172.16.101.1 via inet6 ${lladdr} dev veth1" 704 702 705 703 run_cmd "$IP ro replace 172.16.101.1/32 via inet6 2001:db8:50::1 dev veth1" 706 704 log_test $? 2 "IPv4 route with invalid IPv6 gateway" ··· 787 785 log_test $? 0 "IPv4 route with device only nexthop" 788 786 check_route "172.16.101.1" "172.16.101.1 nhid 85 dev veth1" 789 787 790 - run_cmd "$IP nexthop add id 122 group 21/85" 791 - run_cmd "$IP ro replace 172.16.101.1/32 nhid 122" 788 + run_cmd "$IP nexthop add id 123 group 21/85" 789 + run_cmd "$IP ro replace 172.16.101.1/32 nhid 123" 792 790 log_test $? 0 "IPv4 multipath route with nexthop mix - dev only + gw" 793 - check_route "172.16.101.1" "172.16.101.1 nhid 85 nexthop via 172.16.1.2 dev veth1 nexthop dev veth1" 791 + check_route "172.16.101.1" "172.16.101.1 nhid 123 nexthop via 172.16.1.2 dev veth1 weight 1 nexthop dev veth1 weight 1" 794 792 795 793 # 796 794 # IPv4 with IPv6 ··· 822 820 run_cmd "$IP ro replace 172.16.101.1/32 nhid 101" 823 821 log_test $? 0 "IPv4 route with mixed v4-v6 multipath route" 824 822 825 - check_route "172.16.101.1" "172.16.101.1 nhid 101 nexthop via ${lladdr} dev veth1 weight 1 nexthop via 172.16.1.2 dev veth1 weight 1" 823 + check_route "172.16.101.1" "172.16.101.1 nhid 101 nexthop via inet6 ${lladdr} dev veth1 weight 1 nexthop via 172.16.1.2 dev veth1 weight 1" 826 824 827 825 run_cmd "ip netns exec me ping -c1 -w1 172.16.101.1" 828 826 log_test $? 0 "IPv6 nexthop with IPv4 route"