• Amritha Nambiar's avatar
    ixgbe: Error handler for duplicate filter locations in hardware for cls_u32 offloads · 12746fd2
    Amritha Nambiar authored
    For u32 classifier filters, avoid overwriting existing filter
    in a hardware location without removing it first, to clean up
    inconsistencies due to duplicate values for filter location.
    
    Verified with the following filters:
    
    Create child hash tables:
    	handle 1: u32 divisor 1
    	handle 2: u32 divisor 1
    
    Link to the child hash table from parent hash table:
    	handle 800:0:11 u32 ht 800: link 1: \
    	offset at 0 mask 0f00 shift 6 plus 0 eat \
    	match ip protocol 6 ff match ip dst 15.0.0.1/32
    
    	handle 800:0:12 u32 ht 800: link 2: \
    	offset at 0 mask 0f00 shift 6 plus 0 eat \
    	match ip protocol 17 ff match ip dst 16.0.0.1/32
    
    Add filter into child hash table:
    	handle 1:0:3 u32 ht 1: \
    	match tcp src 22 ffff action drop
    
    Add another filter to the same location:
    	handle 2:0:3 u32 ht 2: \
    	match tcp src 33 ffff action drop
    Signed-off-by: default avatarAmritha Nambiar <amritha.nambiar@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    12746fd2
ixgbe_main.c 276 KB