• Michal Swiatkowski's avatar
    ice: fix choosing UDP header type · 0e32ff02
    Michal Swiatkowski authored
    In tunnels packet there can be two UDP headers:
    - outer which for hw should be mark as ICE_UDP_OF
    - inner which for hw should be mark as ICE_UDP_ILOS or as ICE_TCP_IL if
      inner header is of TCP type
    
    In none tunnels packet header can be:
    - UDP, which for hw should be mark as ICE_UDP_ILOS
    - TCP, which for hw should be mark as ICE_TCP_IL
    
    Change incorrect ICE_UDP_OF for none tunnel packets to ICE_UDP_ILOS.
    ICE_UDP_OF is incorrect for none tunnel packets and setting it leads to
    error from hw while adding this kind of recipe.
    
    In summary, for tunnel outer port type should always be set to
    ICE_UDP_OF, for none tunnel outer and tunnel inner it should always be
    set to ICE_UDP_ILOS.
    
    Fixes: 9e300987 ("ice: VXLAN and Geneve TC support")
    Signed-off-by: default avatarMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
    Tested-by: default avatarSandeep Penigalapati <sandeep.penigalapati@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    0e32ff02
ice_tc_lib.c 37.5 KB