• Sridhar Samudrala's avatar
    ixgbe: Fix cls_u32 offload support for L4 ports · b5aea3de
    Sridhar Samudrala authored
    Fix support for 16 bit source/dest port matches in ixgbe model.
    u32 uses a single 32-bit key value for both source and destination ports
    starting at offset 0. So replace the 2 functions with a single function
    that takes this key value/mask to program both source and dest ports.
    
    Verified with the following filter:
    
     #tc qdisc add dev p4p1 ingress
     #tc filter add dev p4p1 parent ffff: protocol ip prio 99 \
    	handle 1: u32 divisor 1
     #tc filter add dev p4p1 parent ffff: protocol ip prio 99 \
    	handle 800:0:10 u32 ht 800: link 1: \
    	offset at 0 mask 0f00 shift 6 plus 0 eat match ip protocol 6 ff
     #tc filter add dev p4p1 parent ffff: protocol ip prio 99 \
    	handle 1:0:10 u32 ht 1: \
    	match tcp src 1024 ffff match tcp dst 80 ffff action drop
     #tc filter add dev p4p1 parent ffff: protocol ip prio 99 \
    	handle 1:0:11 u32 ht 1: \
    	match tcp src 1025 ffff action drop
     #tc filter add dev p4p1 parent ffff: protocol ip prio 99 \
    	handle 1:0:12 u32 ht 1: \
    	match tcp dst 81 ffff action drop
    Signed-off-by: default avatarSridhar Samudrala <sridhar.samudrala@intel.com>
    Acked-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    b5aea3de
ixgbe_model.h 3 KB