• David Bauer's avatar
    vxlan: drop packets from invalid src-address · f58f45c1
    David Bauer authored
    The VXLAN driver currently does not check if the inner layer2
    source-address is valid.
    
    In case source-address snooping/learning is enabled, a entry in the FDB
    for the invalid address is created with the layer3 address of the tunnel
    endpoint.
    
    If the frame happens to have a non-unicast address set, all this
    non-unicast traffic is subsequently not flooded to the tunnel network
    but sent to the learnt host in the FDB. To make matters worse, this FDB
    entry does not expire.
    
    Apply the same filtering for packets as it is done for bridges. This not
    only drops these invalid packets but avoids them from being learnt into
    the FDB.
    
    Fixes: d342894c ("vxlan: virtual extensible lan")
    Suggested-by: default avatarIdo Schimmel <idosch@nvidia.com>
    Signed-off-by: default avatarDavid Bauer <mail@david-bauer.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f58f45c1
vxlan_core.c 124 KB