• Amritha Nambiar's avatar
    i40e: Enable cloud filters via tc-flower · 2f4b411a
    Amritha Nambiar authored
    This patch enables tc-flower based hardware offloads. tc flower
    filter provided by the kernel is configured as driver specific
    cloud filter. The patch implements functions and admin queue
    commands needed to support cloud filters in the driver and
    adds cloud filters to configure these tc-flower filters.
    
    The classification function of the filter is to direct matched
    packets to a traffic class. The hardware traffic class is set
    based on the the classid reserved in the range :ffe0 - :ffef.
    
    Match Dst MAC and route to TC0:
      prio 1 flower dst_mac 3c:fd:fe:a0:d6:70 skip_sw\
      hw_tc 1
    
    Match Dst IPv4,Dst Port and route to TC1:
      prio 2 flower dst_ip 192.168.3.5/32\
      ip_proto udp dst_port 25 skip_sw\
      hw_tc 2
    
    Match Dst IPv6,Dst Port and route to TC1:
      prio 3 flower dst_ip fe8::200:1\
      ip_proto udp dst_port 66 skip_sw\
      hw_tc 2
    
    Delete tc flower filter:
    Example:
    
    Flow Director Sideband is disabled while configuring cloud filters
    via tc-flower and until any cloud filter exists.
    
    Unsupported matches when cloud filters are added using enhanced
    big buffer cloud filter mode of underlying switch include:
    1. source port and source IP
    2. Combined MAC address and IP fields.
    3. Not specifying L4 port
    
    These filter matches can however be used to redirect traffic to
    the main VSI (tc 0) which does not require the enhanced big buffer
    cloud filter support.
    Signed-off-by: default avatarAmritha Nambiar <amritha.nambiar@intel.com>
    Signed-off-by: default avatarKiran Patil <kiran.patil@intel.com>
    Signed-off-by: default avatarAnjali Singhai Jain <anjali.singhai@intel.com>
    Signed-off-by: default avatarJingjing Wu <jingjing.wu@intel.com>
    Acked-by: default avatarShannon Nelson <shannon.nelson@oracle.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    2f4b411a
i40e_common.c 164 KB