• Ido Schimmel's avatar
    selftests: fib_nexthops: Test resilient nexthop groups · 557205f4
    Ido Schimmel authored
    Add test cases for resilient nexthop groups. Exhaustive forwarding tests
    are added separately under net/forwarding/.
    
    Examples:
    
     # ./fib_nexthops.sh -t basic_res
    
    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: 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: 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 ]
    
    Tests passed:  29
    Tests failed:   0
    
     # ./fib_nexthops.sh -t ipv4_large_res_grp
    
    IPv4 large resilient group (128k buckets)
    -----------------------------------------
    TEST: Dump large (x131072) nexthop buckets                          [ OK ]
    
    Tests passed:   1
    Tests failed:   0
    
     # ./fib_nexthops.sh -t ipv6_large_res_grp
    
    IPv6 large resilient group (128k buckets)
    -----------------------------------------
    TEST: Dump large (x131072) nexthop buckets                          [ OK ]
    
    Tests passed:   1
    Tests failed:   0
    
     # ./fib_nexthops.sh -t ipv4_res_torture
    
    IPv4 runtime resilient nexthop group torture
    --------------------------------------------
    TEST: IPv4 resilient nexthop group torture test                     [ OK ]
    
    Tests passed:   1
    Tests failed:   0
    
     # ./fib_nexthops.sh -t ipv6_res_torture
    
    IPv6 runtime resilient nexthop group torture
    --------------------------------------------
    TEST: IPv6 resilient nexthop group torture test                     [ OK ]
    
    Tests passed:   1
    Tests failed:   0
    
     # ./fib_nexthops.sh -t ipv4_res_grp_fcnal
    
    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 ]
    
    Tests passed:   8
    Tests failed:   0
    
     # ./fib_nexthops.sh -t ipv6_res_grp_fcnal
    
    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 ]
    
    Tests passed:   8
    Tests failed:   0
    Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
    Co-developed-by: default avatarPetr Machata <petrm@nvidia.com>
    Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    557205f4
fib_nexthops.sh 63.9 KB