Netdev List
 help / color / mirror / Atom feed
* [net-2.6 PATCH 1/2] ixgbe: Fix receive on real device when VLANs are configured
@ 2009-08-14  0:09 Jeff Kirsher
  2009-08-14  0:09 ` [net-2.6 PATCH 2/2] ixgbe: Do not return 0 in ixgbe_fcoe_ddp() upon FCP_RSP in DDP completion Jeff Kirsher
  2009-08-14  3:14 ` [net-2.6 PATCH 1/2] ixgbe: Fix receive on real device when VLANs are configured David Miller
  0 siblings, 2 replies; 4+ messages in thread
From: Jeff Kirsher @ 2009-08-14  0:09 UTC (permalink / raw)
  To: davem; +Cc: netdev, gospo, Lucy Liu, Peter P Waskiewicz Jr, Jeff Kirsher

From: Lucy Liu <lucy.liu@intel.com>

Traffic received with a priority tag (VID = 0) and non-zero priority value was
incorrectly handled by the VLAN packet code path due to a check on zero for
the whole VLAN tag instead of just the VID.

This patch masked out the priority field when checking the vlan tag for
received VLAN packets.

Signed-off-by: Lucy Liu <lucy.liu@intel.com>
Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/ixgbe/ixgbe_main.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index e3cb949..77b0381 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -492,12 +492,12 @@ static void ixgbe_receive_skb(struct ixgbe_q_vector *q_vector,
 
 	skb_record_rx_queue(skb, ring->queue_index);
 	if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL)) {
-		if (adapter->vlgrp && is_vlan && (tag != 0))
+		if (adapter->vlgrp && is_vlan && (tag & VLAN_VID_MASK))
 			vlan_gro_receive(napi, adapter->vlgrp, tag, skb);
 		else
 			napi_gro_receive(napi, skb);
 	} else {
-		if (adapter->vlgrp && is_vlan && (tag != 0))
+		if (adapter->vlgrp && is_vlan && (tag & VLAN_VID_MASK))
 			vlan_hwaccel_rx(skb, adapter->vlgrp, tag);
 		else
 			netif_rx(skb);


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [net-2.6 PATCH 2/2] ixgbe: Do not return 0 in ixgbe_fcoe_ddp() upon FCP_RSP in DDP completion
  2009-08-14  0:09 [net-2.6 PATCH 1/2] ixgbe: Fix receive on real device when VLANs are configured Jeff Kirsher
@ 2009-08-14  0:09 ` Jeff Kirsher
  2009-08-14  3:14   ` David Miller
  2009-08-14  3:14 ` [net-2.6 PATCH 1/2] ixgbe: Fix receive on real device when VLANs are configured David Miller
  1 sibling, 1 reply; 4+ messages in thread
From: Jeff Kirsher @ 2009-08-14  0:09 UTC (permalink / raw)
  To: davem; +Cc: netdev, gospo, Yi Zou, Peter P Waskiewicz Jr, Jeff Kirsher

From: Yi Zou <yi.zou@intel.com>

We return the ddp->len in ixgbe_fcoe_ddp() to indicate the length of data that
have been DDPed. However, it is possible that the length is 0, e.g., for SCSI
READ, the FCP_RSP may come back w/ SCSI status 0x28 as Task Set Full with no FCP
data for DDP. In ixgbe_fcoe_ddp(), we return 0 to indicate not passing DDPed
packets to upper layer. Therefore in the case of ddp->len being 0 upon FCP_RSP,
we do not want to return the 0 ddp->len as we want FCP_RSP to be always
delivered to the upper layer. This patch fixes this bug by setting rc only if
ddp->len is non-zero.

Signed-off-by: Yi Zou <yi.zou@intel.com>
Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/ixgbe/ixgbe_fcoe.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_fcoe.c b/drivers/net/ixgbe/ixgbe_fcoe.c
index fa9f24e..28cf104 100644
--- a/drivers/net/ixgbe/ixgbe_fcoe.c
+++ b/drivers/net/ixgbe/ixgbe_fcoe.c
@@ -336,7 +336,7 @@ int ixgbe_fcoe_ddp(struct ixgbe_adapter *adapter,
 		/* return 0 to bypass going to ULD for DDPed data */
 		if (fcstat == IXGBE_RXDADV_STAT_FCSTAT_DDP)
 			rc = 0;
-		else
+		else if (ddp->len)
 			rc = ddp->len;
 	}
 


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [net-2.6 PATCH 1/2] ixgbe: Fix receive on real device when VLANs are configured
  2009-08-14  0:09 [net-2.6 PATCH 1/2] ixgbe: Fix receive on real device when VLANs are configured Jeff Kirsher
  2009-08-14  0:09 ` [net-2.6 PATCH 2/2] ixgbe: Do not return 0 in ixgbe_fcoe_ddp() upon FCP_RSP in DDP completion Jeff Kirsher
@ 2009-08-14  3:14 ` David Miller
  1 sibling, 0 replies; 4+ messages in thread
From: David Miller @ 2009-08-14  3:14 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, lucy.liu, peter.p.waskiewicz.jr

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 13 Aug 2009 17:09:38 -0700

> From: Lucy Liu <lucy.liu@intel.com>
> 
> Traffic received with a priority tag (VID = 0) and non-zero priority value was
> incorrectly handled by the VLAN packet code path due to a check on zero for
> the whole VLAN tag instead of just the VID.
> 
> This patch masked out the priority field when checking the vlan tag for
> received VLAN packets.
> 
> Signed-off-by: Lucy Liu <lucy.liu@intel.com>
> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

Applied.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [net-2.6 PATCH 2/2] ixgbe: Do not return 0 in ixgbe_fcoe_ddp() upon FCP_RSP in DDP completion
  2009-08-14  0:09 ` [net-2.6 PATCH 2/2] ixgbe: Do not return 0 in ixgbe_fcoe_ddp() upon FCP_RSP in DDP completion Jeff Kirsher
@ 2009-08-14  3:14   ` David Miller
  0 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2009-08-14  3:14 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, yi.zou, peter.p.waskiewicz.jr

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 13 Aug 2009 17:09:58 -0700

> From: Yi Zou <yi.zou@intel.com>
> 
> We return the ddp->len in ixgbe_fcoe_ddp() to indicate the length of data that
> have been DDPed. However, it is possible that the length is 0, e.g., for SCSI
> READ, the FCP_RSP may come back w/ SCSI status 0x28 as Task Set Full with no FCP
> data for DDP. In ixgbe_fcoe_ddp(), we return 0 to indicate not passing DDPed
> packets to upper layer. Therefore in the case of ddp->len being 0 upon FCP_RSP,
> we do not want to return the 0 ddp->len as we want FCP_RSP to be always
> delivered to the upper layer. This patch fixes this bug by setting rc only if
> ddp->len is non-zero.
> 
> Signed-off-by: Yi Zou <yi.zou@intel.com>
> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

Applied.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-08-14  3:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-14  0:09 [net-2.6 PATCH 1/2] ixgbe: Fix receive on real device when VLANs are configured Jeff Kirsher
2009-08-14  0:09 ` [net-2.6 PATCH 2/2] ixgbe: Do not return 0 in ixgbe_fcoe_ddp() upon FCP_RSP in DDP completion Jeff Kirsher
2009-08-14  3:14   ` David Miller
2009-08-14  3:14 ` [net-2.6 PATCH 1/2] ixgbe: Fix receive on real device when VLANs are configured David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox