make -C tools/testing/selftests TARGETS=net TEST_PROGS=fib_nexthops.sh TESST_GEN_PROGS="" run_tests make: Entering directory '/home/virtme/testing-1/tools/testing/selftests' make[1]: Entering directory '/home/virtme/testing-1/tools/testing/selftests/net' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/virtme/testing-1/tools/testing/selftests/net' make[1]: Entering directory '/home/virtme/testing-1/tools/testing/selftests/net' TAP version 13 1..1 # timeout set to 6000 # selftests: net: fib_nexthops.sh [ 2.545059] ip (272) used greatest stack depth: 11880 bytes left # # Basic functional tests # ---------------------- # TEST: List with nothing defined [ OK ] # TEST: Nexthop get on non-existent id [ OK ] # TEST: Nexthop with no device or gateway [ OK ] # TEST: Nexthop with down device [ OK ] # TEST: Nexthop with device that is linkdown [ OK ] # TEST: Nexthop with device only [ OK ] # TEST: Nexthop with duplicate id [ OK ] # TEST: Blackhole nexthop [ OK ] # TEST: Blackhole nexthop with other attributes [ OK ] # TEST: Blackhole nexthop with loopback device down [ OK ] # TEST: Maximum nexthop ID dump [ OK ] # TEST: Create group [ OK ] # TEST: Create group with blackhole nexthop [ OK ] # TEST: Create multipath group where 1 path is a blackhole [ OK ] # TEST: Multipath group can not have a member replaced by blackhole [ OK ] # TEST: Create group with non-existent nexthop [ OK ] # TEST: Create group with same nexthop multiple times [ OK ] # TEST: Replace nexthop with nexthop group [ OK ] # TEST: Replace nexthop group with nexthop [ OK ] # TEST: Nexthop group and device [ OK ] # TEST: Test proto flush [ OK ] # TEST: Nexthop group and blackhole [ OK ] # TEST: Large scale nexthop flushing [ OK ] # # Basic resilient nexthop group functional tests # ---------------------------------------------- # TEST: Add a nexthop group with default parameters [ OK ] # TEST: Get a nexthop group with default parameters [ OK ] # TEST: Get a nexthop group with non-default parameters [ OK ] # TEST: Add a nexthop group with 0 buckets [ OK ] # TEST: Replace nexthop group parameters [ OK ] # TEST: Get a nexthop group after replacing parameters [ OK ] # TEST: Replace idle timer [ OK ] # TEST: Get a nexthop group after replacing idle timer [ OK ] # TEST: Replace unbalanced timer [ OK ] # TEST: Get a nexthop group after replacing unbalanced timer [ OK ] # TEST: Replace with no parameters [ OK ] # TEST: Get a nexthop group after replacing no parameters [ OK ] # TEST: Replace nexthop group type - implicit [ OK ] # TEST: Replace nexthop group type - explicit [ OK ] # TEST: Replace number of nexthop buckets [ OK ] # TEST: Get a nexthop group after replacing with invalid parameters [ OK ] # TEST: Dump all nexthop buckets [ OK ] # TEST: Dump all nexthop buckets in a group [ OK ] # TEST: All nexthop buckets report a positive near-zero idle time [ OK ] # TEST: Dump all nexthop buckets with a specific nexthop device [ OK ] # TEST: Dump all nexthop buckets with a specific nexthop identifier [ OK ] # TEST: Dump all nexthop buckets in a non-existent group [ OK ] # TEST: Dump all nexthop buckets in a non-resilient group [ OK ] # TEST: Dump all nexthop buckets using a non-existent device [ OK ] # TEST: Dump all nexthop buckets with invalid 'groups' keyword [ OK ] # TEST: Dump all nexthop buckets with invalid 'fdb' keyword [ OK ] # TEST: Maximum nexthop ID dump [ OK ] # TEST: Get a valid nexthop bucket [ OK ] # TEST: Get a nexthop bucket with valid group, but invalid index [ OK ] # TEST: Get a nexthop bucket from a non-resilient group [ OK ] # TEST: Get a nexthop bucket from a non-existent group [ OK ] # TEST: Initial bucket allocation [ OK ] # TEST: Bucket allocation after replace [ OK ] # TEST: Buckets migrated after idle timer change [ OK ] # # IPv4 functional # ---------------------- # TEST: Create nexthop with id, gw, dev [ OK ] # TEST: Get nexthop by id [ OK ] # TEST: Delete nexthop by id [ OK ] # TEST: Create nexthop - gw only [ OK ] # TEST: Create nexthop - invalid gw+dev combination [ OK ] # TEST: Create nexthop - gw+dev and onlink [ OK ] # TEST: Nexthops removed on admin down [ OK ] # TEST: Delete nexthop route warning [ OK ] # TEST: Delete multipath route with only nh id based entry [ OK ] # TEST: Delete route when specifying only nexthop device [ OK ] # TEST: Delete route when specifying only gateway [ OK ] # TEST: Delete route when not specifying nexthop attributes [ OK ] # # IPv4 groups functional # ---------------------- # TEST: Create nexthop group with single nexthop [ OK ] # TEST: Get nexthop group by id [ OK ] # TEST: Delete nexthop group by id [ OK ] # TEST: Nexthop group with multiple nexthops [ OK ] # TEST: Nexthop group updated when entry is deleted [ OK ] # TEST: Nexthop group with weighted nexthops [ OK ] # TEST: Weighted nexthop group updated when entry is deleted [ OK ] # TEST: Nexthops in groups removed on admin down [ OK ] # TEST: Multiple groups with same nexthop [ OK ] # TEST: Nexthops in group removed on admin down - mixed group [ OK ] # TEST: Nexthop group can not have a group as an entry [ OK ] # TEST: Nexthop group with a blackhole entry [ OK ] # TEST: Nexthop group can not have a blackhole and another nexthop [ OK ] # # IPv4 resilient groups functional # -------------------------------- # TEST: Nexthop group updated when entry is deleted [ OK ] # TEST: Nexthop buckets updated when entry is deleted [ OK ] # TEST: Nexthop group updated after replace [ OK ] # TEST: Nexthop buckets updated after replace [ OK ] # TEST: Nexthop group updated when entry is deleted - nECMP [ OK ] # TEST: Nexthop buckets updated when entry is deleted - nECMP [ OK ] # TEST: Nexthop group updated after replace - nECMP [ OK ] # TEST: Nexthop buckets updated after replace - nECMP [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv4 route with IPv6 gateway [ OK ] # TEST: IPv4 route with invalid IPv6 gateway [ OK ] # # IPv4 functional runtime # ----------------------- # TEST: Route add [ OK ] # TEST: Route delete [ OK ] # TEST: Route add - scope conflict with nexthop [ OK ] # TEST: Nexthop replace with invalid scope for existing route [ OK ] # TEST: IPv4 route with invalid metric [ OK ] # TEST: Basic ping [ OK ] # TEST: Ping - multipath [ OK ] # TEST: Ping - multiple default routes, nh first [ OK ] # TEST: Ping - multiple default routes, nh second [ OK ] # TEST: Ping - blackhole [ OK ] # TEST: Ping - blackhole replaced with gateway [ OK ] # TEST: Ping - gateway replaced by blackhole [ OK ] # TEST: Ping - group with blackhole [ OK ] # TEST: Ping - group blackhole replaced with gateways [ OK ] # TEST: IPv4 route with device only nexthop [ OK ] # TEST: IPv4 multipath route with nexthop mix - dev only + gw [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv4 route with mixed v4-v6 multipath route [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv4 route with IPv6 gateway [ OK ] # TEST: IPv4 default route with IPv6 gateway [ OK ] # TEST: IPv4 route with MPLS encap [ OK ] # TEST: IPv4 route with MPLS encap - check [ OK ] # TEST: IPv4 route with MPLS encap and v6 gateway [ OK ] # TEST: IPv4 route with MPLS encap, v6 gw - check [ OK ] # # IPv4 large groups (x32) # --------------------- # TEST: Dump large (x32) ecmp groups [ OK ] # # IPv4 large resilient group (128k buckets) # ----------------------------------------- # TEST: Dump large (x131072) nexthop buckets [ OK ] # # IPv4 nexthop api compat mode # ---------------------------- # TEST: IPv4 default nexthop compat mode check [ OK ] # TEST: IPv4 compat mode on - route add notification [ OK ] # TEST: IPv4 compat mode on - route dump [ OK ] # TEST: IPv4 compat mode on - nexthop change [ OK ] # TEST: IPv4 set compat mode - 0 [ OK ] # TEST: IPv4 compat mode off - route add notification [ OK ] # TEST: IPv4 compat mode off - route dump [ OK ] # TEST: IPv4 compat mode off - nexthop change [ OK ] # TEST: IPv4 compat mode off - nexthop delete [ OK ] # TEST: IPv4 set compat mode - 1 [ OK ] # # IPv4 fdb groups functional # -------------------------- # TEST: Fdb Nexthop group with multiple nexthops [ OK ] # TEST: Get Fdb nexthop group by id [ OK ] # TEST: Fdb Nexthop group with non-fdb nexthops [ OK ] # TEST: Non-Fdb Nexthop group with fdb nexthops [ OK ] # TEST: Fdb Nexthop with blackhole [ OK ] # TEST: Fdb Nexthop with oif [ OK ] # TEST: Fdb Nexthop with onlink [ OK ] # TEST: Fdb Nexthop with encap [ OK ] # TEST: Fdb mac add with nexthop group [ OK ] # TEST: Fdb mac add with nexthop [ OK ] # TEST: Route add with fdb nexthop [ OK ] # TEST: Route add with fdb nexthop group [ OK ] # TEST: Fdb entry after deleting a single nexthop [ OK ] # TEST: Fdb nexthop delete [ OK ] # TEST: Fdb entry after deleting a nexthop group [ OK ] # # IPv4 multipath selection # ------------------------ # TEST: Use valid neighbor during multipath selection [ OK ] # TEST: Multipath selection with no valid neighbor [ OK ] # # IPv4 runtime torture # -------------------- # TEST: IPv4 torture test [ OK ] # # IPv4 runtime resilient nexthop group torture # -------------------------------------------- # TEST: IPv4 resilient nexthop group torture test [ OK ] # # IPv6 # ---------------------- # TEST: Create nexthop with id, gw, dev [ OK ] # TEST: Get nexthop by id [ OK ] # TEST: Delete nexthop by id [ OK ] # TEST: Create nexthop - gw only [ OK ] # TEST: Create nexthop - invalid gw+dev combination [ OK ] # TEST: Create nexthop - gw+dev and onlink [ OK ] # TEST: Nexthops removed on admin down [ OK ] # # IPv6 groups functional # ---------------------- # TEST: Create nexthop group with single nexthop [ OK ] # TEST: Get nexthop group by id [ OK ] # TEST: Delete nexthop group by id [ OK ] # TEST: Nexthop group with multiple nexthops [ OK ] # TEST: Nexthop group updated when entry is deleted [ OK ] # TEST: Nexthop group with weighted nexthops [ OK ] # TEST: Weighted nexthop group updated when entry is deleted [ OK ] # TEST: Nexthops in groups removed on admin down [ OK ] # TEST: Multiple groups with same nexthop [ OK ] # TEST: Nexthops in group removed on admin down - mixed group [ OK ] # TEST: Nexthop group can not have a group as an entry [ OK ] # TEST: Nexthop group with a blackhole entry [ OK ] # TEST: Nexthop group can not have a blackhole and another nexthop [ OK ] # TEST: Nexthop group replace refcounts [ OK ] # # IPv6 resilient groups functional # -------------------------------- # TEST: Nexthop group updated when entry is deleted [ OK ] # TEST: Nexthop buckets updated when entry is deleted [ OK ] # TEST: Nexthop group updated after replace [ OK ] # TEST: Nexthop buckets updated after replace [ OK ] # TEST: Nexthop group updated when entry is deleted - nECMP [ OK ] # TEST: Nexthop buckets updated when entry is deleted - nECMP [ OK ] # TEST: Nexthop group updated after replace - nECMP [ OK ] # TEST: Nexthop buckets updated after replace - nECMP [ OK ] # # IPv6 functional runtime # ----------------------- # TEST: Route add [ OK ] # TEST: Route delete [ OK ] # TEST: Ping with nexthop [ OK ] # TEST: Ping - multipath [ OK ] # TEST: Ping - blackhole [ OK ] # TEST: Ping - blackhole replaced with gateway [ OK ] # TEST: Ping - gateway replaced by blackhole [ OK ] # TEST: Ping - group with blackhole [ OK ] # TEST: Ping - group blackhole replaced with gateways [ OK ] # TEST: IPv6 route with device only nexthop [ OK ] # TEST: IPv6 multipath route with nexthop mix - dev only + gw [ OK ] # TEST: IPv6 route can not have a v4 gateway [ OK ] # TEST: Nexthop replace - v6 route, v4 nexthop [ OK ] # TEST: Nexthop replace of group entry - v6 route, v4 nexthop [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route using a group after removing v4 gateways [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route using a group after replacing v4 gateways [ OK ] # TEST: IPv6 route can not use src routing with external nexthop [ OK ] # TEST: IPv6 route with invalid metric [ OK ] # TEST: Nexthop with default route and rpfilter [ OK ] # TEST: Nexthop with multipath default route and rpfilter [ OK ] # # IPv6 large groups (x32) # --------------------- # TEST: Dump large (x32) ecmp groups [ OK ] # # IPv6 large resilient group (128k buckets) # ----------------------------------------- # TEST: Dump large (x131072) nexthop buckets [ OK ] # # IPv6 nexthop api compat mode test # -------------------------------- # TEST: IPv6 default nexthop compat mode check [ OK ] # TEST: IPv6 compat mode on - route add notification [ OK ] # TEST: IPv6 compat mode on - route dump [ OK ] # TEST: IPv6 compat mode on - nexthop change [ OK ] # TEST: IPv6 set compat mode - 0 [ OK ] # TEST: IPv6 compat mode off - route add notification [ OK ] # TEST: IPv6 compat mode off - route dump [ OK ] # TEST: IPv6 compat mode off - nexthop change [ OK ] # TEST: IPv6 compat mode off - nexthop delete [ OK ] # TEST: IPv6 set compat mode - 1 [ OK ] # # IPv6 fdb groups functional # -------------------------- # TEST: Fdb Nexthop group with multiple nexthops [ OK ] # TEST: Get Fdb nexthop group by id [ OK ] # TEST: Fdb Nexthop group with non-fdb nexthops [ OK ] # TEST: Non-Fdb Nexthop group with fdb nexthops [ OK ] # TEST: Fdb Nexthop with blackhole [ OK ] # TEST: Fdb Nexthop with oif [ OK ] # TEST: Fdb Nexthop with onlink [ OK ] # TEST: Fdb Nexthop with encap [ OK ] # TEST: Fdb mac add with nexthop group [ OK ] # TEST: Fdb mac add with nexthop [ OK ] # TEST: Route add with fdb nexthop [ OK ] # TEST: Route add with fdb nexthop group [ OK ] # TEST: Fdb entry after deleting a single nexthop [ OK ] # TEST: Fdb nexthop delete [ OK ] # TEST: Fdb entry after deleting a nexthop group [ OK ] # # IPv6 multipath selection # ------------------------ # TEST: Use valid neighbor during multipath selection [ OK ] # TEST: Multipath selection with no valid neighbor [ OK ] # # IPv6 runtime torture # -------------------- # TEST: IPv6 torture test [ OK ] # # IPv6 runtime resilient nexthop group torture # -------------------------------------------- # TEST: IPv6 resilient nexthop group torture test [ OK ] # # Tests passed: 234 # Tests failed: 0 ok 1 selftests: net: fib_nexthops.sh make[1]: Leaving directory '/home/virtme/testing-1/tools/testing/selftests/net' make: Leaving directory '/home/virtme/testing-1/tools/testing/selftests' xx__-> echo $? 0 xx__->