• Sridhar Samudrala's avatar
    ixgbe: make 'action' field in struct ixgbe_fdir_filter a u64 value · 2a9ed5d1
    Sridhar Samudrala authored
    This field is used to record the RX queue index for a redirect action
    passed via ring_cookie field in struct ethtool_rx_flow_spec which is
    a u64 value.
    
    For ex: after adding a filter rule to redirect to a VF using ethtool
      # echo 4 > /sys/class/net/p4p1/device/sriov_numvfs
      # ethtool -N p4p1 flow-type ip4 src-ip 192.168.0.1 action 0x100000000
    
    querying for the rule shows the Action as 'Direct to queue 0'
    
      # ethtool -n p4p1
      4 RX rings available
      Total 1 rules
    
      Filter: 2045
     	Rule Type: Raw IPv4
    	Src IP addr: 192.168.0.1 mask: 0.0.0.0
    	Dest IP addr: 0.0.0.0 mask: 255.255.255.255
    	TOS: 0x0 mask: 0xff
    	Protocol: 0 mask: 0xff
    	L4 bytes: 0x0 mask: 0xffffffff
    	VLAN EtherType: 0x0 mask: 0xffff
    	VLAN: 0x0 mask: 0xffff
    	User-defined: 0x0 mask: 0xffffffffffffffff
    	Action: Direct to queue 0
    
    With this fix, ethtool will report the right queue index even for VFs.
    	Action: Direct to queue 4294967296
    
    Here 4294967296 corresponds to 0x100000000.
    We need to update 'ethtool' to report the queue index as a Hex value so
    that it is more  user friendly and matches with the 'action' value that
    is passed when adding the rule.
    Signed-off-by: default avatarSridhar Samudrala <sridhar.samudrala@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    2a9ed5d1
ixgbe.h 30.8 KB