ixgbe: Do not pad FCoE frames as this can cause issues with FCoE DDP
FCoE target mode was experiencing issues due to the fact that we were sending up data frames that were padded to 60 bytes after the DDP logic had already stripped the frame down to 52 or 56 depending on the use of VLANs. This was resulting in the FCoE DDP logic having issues since it thought the frame still had data in it due to the padding. To resolve this, adding code so that we do not pad FCoE frames prior to handling them to the stack. CC: <stable@vger.kernel.org> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
a2842a1e66
commit
57efd44c8c
@@ -196,7 +196,7 @@ enum ixgbe_ring_state_t {
|
||||
__IXGBE_HANG_CHECK_ARMED,
|
||||
__IXGBE_RX_RSC_ENABLED,
|
||||
__IXGBE_RX_CSUM_UDP_ZERO_ERR,
|
||||
__IXGBE_RX_FCOE_BUFSZ,
|
||||
__IXGBE_RX_FCOE,
|
||||
};
|
||||
|
||||
#define check_for_tx_hang(ring) \
|
||||
@@ -290,7 +290,7 @@ struct ixgbe_ring_feature {
|
||||
#if defined(IXGBE_FCOE) && (PAGE_SIZE < 8192)
|
||||
static inline unsigned int ixgbe_rx_pg_order(struct ixgbe_ring *ring)
|
||||
{
|
||||
return test_bit(__IXGBE_RX_FCOE_BUFSZ, &ring->state) ? 1 : 0;
|
||||
return test_bit(__IXGBE_RX_FCOE, &ring->state) ? 1 : 0;
|
||||
}
|
||||
#else
|
||||
#define ixgbe_rx_pg_order(_ring) 0
|
||||
|
Reference in New Issue
Block a user