• Alexander Duyck's avatar
    i40e: Fix support for flow director programming status · 0e626ff7
    Alexander Duyck authored
    This patch fixes an issue I introduced when I converted the code over to
    using the length field to determine if a descriptor was done or not. It
    turns out that we are also processing programming descriptors in the Rx
    path and need to have these processed even though the length field will be
    0 on these packets.  What will happen with a programming descriptor is that
    we will receive a descriptor that has the SPH bit set, and the header
    length and packet length fields cleared.
    
    To account for this we should be checking for the bit for split header
    being set even though we aren't actually using header split. This bit is
    set in the length field to indicate if a programming descriptor response is
    contained in the descriptor. Since we don't support header split we don't
    need to perform the extra checks of using a fixed value for the entire
    length field.
    
    In addition I am moving the function for checking if a filter is a
    programming status filter into the i40e_txrx.c file since there is no
    longer support for FCoE it doesn't make sense to keep this file in i40e.h.
    
    Change-ID: I12c359c3dc70adb9d6b92b27324bb2c7f04c1a06
    Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    0e626ff7
i40e_txrx.c 63.4 KB