• Vladimir Oltean's avatar
    selftests: forwarding: add a test for local_termination.sh · 90b9566a
    Vladimir Oltean authored
    This tests the capability of switch ports to filter out undesired
    traffic. Different drivers are expected to have different capabilities
    here (so some may fail and some may pass), yet the test still has some
    value, for example to check for regressions.
    
    There are 2 kinds of failures, one is when a packet which should have
    been accepted isn't (and that should be fixed), and the other "failure"
    (as reported by the test) is when a packet could have been filtered out
    (for being unnecessary) yet it was received.
    
    The bridge driver fares particularly badly at this test:
    
    TEST: br0: Unicast IPv4 to primary MAC address                      [ OK ]
    TEST: br0: Unicast IPv4 to macvlan MAC address                      [ OK ]
    TEST: br0: Unicast IPv4 to unknown MAC address                      [FAIL]
            reception succeeded, but should have failed
    TEST: br0: Unicast IPv4 to unknown MAC address, promisc             [ OK ]
    TEST: br0: Unicast IPv4 to unknown MAC address, allmulti            [FAIL]
            reception succeeded, but should have failed
    TEST: br0: Multicast IPv4 to joined group                           [ OK ]
    TEST: br0: Multicast IPv4 to unknown group                          [FAIL]
            reception succeeded, but should have failed
    TEST: br0: Multicast IPv4 to unknown group, promisc                 [ OK ]
    TEST: br0: Multicast IPv4 to unknown group, allmulti                [ OK ]
    TEST: br0: Multicast IPv6 to joined group                           [ OK ]
    TEST: br0: Multicast IPv6 to unknown group                          [FAIL]
            reception succeeded, but should have failed
    TEST: br0: Multicast IPv6 to unknown group, promisc                 [ OK ]
    TEST: br0: Multicast IPv6 to unknown group, allmulti                [ OK ]
    
    mainly because it does not implement IFF_UNICAST_FLT. Yet I still think
    having the test (with the failures) is useful in case somebody wants to
    tackle that problem in the future, to make an easy before-and-after
    comparison.
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    90b9566a
local_termination.sh 6.11 KB