• Edward Cree's avatar
    sfc: support TC decap rules matching on enc_ip_tos · 3c9561c0
    Edward Cree authored
    Allow efx_tc_encap_match entries to include an ip_tos and ip_tos_mask.
    To avoid partially-overlapping Outer Rules (which can lead to undefined
     behaviour in the hardware), store extra "pseudo" entries in our
     encap_match hashtable, which are used to enforce that all Outer Rule
     entries within a given <src_ip,dst_ip,udp_dport> tuple (or IPv6
     equivalent) have the same ip_tos_mask.
    The "direct" encap_match entry takes a reference on the "pseudo",
     allowing it to be destroyed when all "direct" entries using it are
     removed.
    efx_tc_em_pseudo_type is an enum rather than just a bool because in
     future an additional pseudo-type will be added to support Conntrack
     offload.
    Signed-off-by: default avatarEdward Cree <ecree.xilinx@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    3c9561c0
tc.c 47.2 KB