All of lore.kernel.org
 help / color / mirror / Atom feed
* "Unicast, no dst" warning from IPoIB
@ 2010-03-22  9:55 Or Gerlitz
       [not found] ` <Pine.LNX.4.64.1003221142430.5956-aDiYczhfhVLdX2U7gxhm1tBPR1lH4CV8@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Or Gerlitz @ 2010-03-22  9:55 UTC (permalink / raw)
  To: Roland Dreier; +Cc: linux-rdma

Roland,

Recently (e.g now with 2.6.34-rc2) I came across this warning from ipoib_start_xmit.
I wasn't sure if it suggests that there's some real problem or not. It happens
few times and then vanishes, for some reason the type is always 0002 (ETH_P_AX25)

	ib0: Unicast, no dst: type 0002, QPN 200800 1404:0001:8000:0048:fe80:0000:0000:0000
	ib1: Unicast, no dst: type 0002, QPN 200800 1404:0001:8000:0049:fe80:0000:0000:0000

bringing up the driver with debug messages on, it happens few times but
not with specific correlation to something I can point on

Or.


ib%d: max_srq_sge=31
ib%d: max_cm_mtu = 0xfff0, num_frags=16
ib%d: max_srq_sge=31
ib%d: max_cm_mtu = 0xfff0, num_frags=16
ib1: bringing up interface
ib1: starting multicast thread
ib1: joining MGID ff12:401b:ffff:0000:0000:0000:ffff:ffff
ib1: restarting multicast task
ib1: stopping multicast thread
ib1: adding multicast entry for mgid ff12:401b:ffff:0000:0000:0000:0000:0001
ib1: adding multicast entry for mgid ff12:601b:ffff:0000:0000:0000:0000:0001
ib1: starting multicast thread
ib1: join completion for ff12:401b:ffff:0000:0000:0000:ffff:ffff (status 0)
ib1: Created ah ffff880223b0e000
ib1: MGID ff12:401b:ffff:0000:0000:0000:ffff:ffff AV ffff880223b0e000, LID 0xc000, SL 0
ib1: joining MGID ff12:401b:ffff:0000:0000:0000:0000:0001
ADDRCONF(NETDEV_UP): ib1: link is not ready
ADDRCONF(NETDEV_CHANGE): ib1: link becomes ready
ib1: restarting multicast task
ib1: stopping multicast thread
ib0: bringing up interface
ib1: adding multicast entry for mgid ff12:601b:ffff:0000:0000:0001:ff02:6be8
ib1: starting multicast thread
ib1: join completion for ff12:401b:ffff:0000:0000:0000:0000:0001 (status 0)
ib1: joining MGID ff12:601b:ffff:0000:0000:0000:0000:0001
ib1: Created ah ffff88022eed00c0
ib1: MGID ff12:401b:ffff:0000:0000:0000:0000:0001 AV ffff88022eed00c0, LID 0xc001, SL 0
ib1: join completion for ff12:601b:ffff:0000:0000:0000:0000:0001 (status 0)
ib1: Created ah ffff88022d05d680
ib1: MGID ff12:601b:ffff:0000:0000:0000:0000:0001 AV ffff88022d05d680, LID 0xc008, SL 0
ib0: starting multicast thread
ib1: joining MGID ff12:601b:ffff:0000:0000:0001:ff02:6be8
ADDRCONF(NETDEV_UP): ib0: link is not ready
ib1: successfully joined all multicast groups
ib0: joining MGID ff12:401b:ffff:0000:0000:0000:ffff:ffff
ib0: restarting multicast task
ib0: stopping multicast thread
ib0: adding multicast entry for mgid ff12:401b:ffff:0000:0000:0000:0000:0001
ib0: adding multicast entry for mgid ff12:601b:ffff:0000:0000:0000:0000:0001
ib0: starting multicast thread
ib1: join completion for ff12:601b:ffff:0000:0000:0001:ff02:6be8 (status 0)
ib0: join completion for ff12:401b:ffff:0000:0000:0000:ffff:ffff (status 0)
ib1: Created ah ffff88022d05dc00
ib1: MGID ff12:601b:ffff:0000:0000:0001:ff02:6be8 AV ffff88022d05dc00, LID 0xc009, SL 0
ib0: Created ah ffff88022d05dec0
ib0: MGID ff12:401b:ffff:0000:0000:0000:ffff:ffff AV ffff88022d05dec0, LID 0xc000, SL 0
ib0: joining MGID ff12:401b:ffff:0000:0000:0000:0000:0001
ib0: join completion for ff12:401b:ffff:0000:0000:0000:0000:0001 (status 0)
ib1: Unicast, no dst: type 0002, QPN 200800 1404:0001:8010:0049:fe80:0000:0000:0000
ib0: Created ah ffff880223b0e200
ib0: MGID ff12:401b:ffff:0000:0000:0000:0000:0001 AV ffff880223b0e200, LID 0xc001, SL 0
ADDRCONF(NETDEV_CHANGE): ib0: link becomes ready
ib0: joining MGID ff12:601b:ffff:0000:0000:0000:0000:0001
ib0: restarting multicast task
ib0: stopping multicast thread
ib0: adding multicast entry for mgid ff12:601b:ffff:0000:0000:0001:ff02:6be7
ib0: starting multicast thread
ib0: join completion for ff12:601b:ffff:0000:0000:0000:0000:0001 (status 0)
ib0: joining MGID ff12:601b:ffff:0000:0000:0001:ff02:6be7
ib0: Created ah ffff88022d05d480
ib0: MGID ff12:601b:ffff:0000:0000:0000:0000:0001 AV ffff88022d05d480, LID 0xc008, SL 0
ib0: join completion for ff12:601b:ffff:0000:0000:0001:ff02:6be7 (status 0)
ib0: successfully joined all multicast groups
ib0: Created ah ffff88022d05d980
ib0: MGID ff12:601b:ffff:0000:0000:0001:ff02:6be7 AV ffff88022d05d980, LID 0xc012, SL 0
ib0: Unicast, no dst: type 0002, QPN 200800 1404:0001:8010:0048:fe80:0000:0000:0000
ib1: setting up send only multicast group for ff12:601b:ffff:0000:0000:0000:0000:0016
ib1: no multicast record for ff12:601b:ffff:0000:0000:0000:0000:0016, starting join
ib1: multicast join failed for ff12:601b:ffff:0000:0000:0000:0000:0016, status -22
ib0: setting up send only multicast group for ff12:601b:ffff:0000:0000:0000:0000:0016
ib0: no multicast record for ff12:601b:ffff:0000:0000:0000:0000:0016, starting join
ib0: multicast join failed for ff12:601b:ffff:0000:0000:0000:0000:0016, status -22
ib0: Unicast, no dst: type 0002, QPN 200800 1404:0001:8010:0048:fe80:0000:0000:0000
ib1: Unicast, no dst: type 0002, QPN 200800 1404:0001:8010:0049:fe80:0000:0000:0000
ib1: setting up send only multicast group for ff12:601b:ffff:0000:0000:0000:0000:0002
ib1: no multicast record for ff12:601b:ffff:0000:0000:0000:0000:0002, starting join
ib1: multicast join failed for ff12:601b:ffff:0000:0000:0000:0000:0002, status -22
ib1: restarting multicast task
ib1: stopping multicast thread
ib1: adding multicast entry for mgid ff12:601b:ffff:0000:0000:0000:0000:00fb
ib1: starting multicast thread
ib1: joining MGID ff12:601b:ffff:0000:0000:0000:0000:00fb
ib1: join completion for ff12:601b:ffff:0000:0000:0000:0000:00fb (status 0)
ib1: Created ah ffff88022d05da00
ib1: MGID ff12:601b:ffff:0000:0000:0000:0000:00fb AV ffff88022d05da00, LID 0xc005, SL 0
ib1: successfully joined all multicast groups
ib1: no multicast record for ff12:601b:ffff:0000:0000:0000:0000:0016, starting join
ib1: multicast join failed for ff12:601b:ffff:0000:0000:0000:0000:0016, status -22
ib0: restarting multicast task
ib0: stopping multicast thread
ib0: adding multicast entry for mgid ff12:401b:ffff:0000:0000:0000:0000:00fb
ib0: starting multicast thread
ib0: joining MGID ff12:401b:ffff:0000:0000:0000:0000:00fb
ib0: join completion for ff12:401b:ffff:0000:0000:0000:0000:00fb (status 0)
ib0: Created ah ffff88022d05dd80
ib0: MGID ff12:401b:ffff:0000:0000:0000:0000:00fb AV ffff88022d05dd80, LID 0xc004, SL 0
ib0: Unicast, no dst: type 0002, QPN 200800 1404:0002:8010:0048:fe80:0000:0000:0000
ib1: Unicast, no dst: type 0002, QPN 200800 1404:0002:8010:0049:fe80:0000:0000:0000
ib0: successfully joined all multicast groups
ib1: restarting multicast task
ib1: stopping multicast thread
ib1: adding multicast entry for mgid ff12:401b:ffff:0000:0000:0000:0000:00fb
ib1: starting multicast thread
ib1: joining MGID ff12:401b:ffff:0000:0000:0000:0000:00fb
ib1: join completion for ff12:401b:ffff:0000:0000:0000:0000:00fb (status 0)
ib1: Created ah ffff88022d05d300
ib1: MGID ff12:401b:ffff:0000:0000:0000:0000:00fb AV ffff88022d05d300, LID 0xc004, SL 0
ib1: successfully joined all multicast groups
ib0: setting up send only multicast group for ff12:401b:ffff:0000:0000:0000:0000:0016
ib0: no multicast record for ff12:401b:ffff:0000:0000:0000:0000:0016, starting join
ib1: setting up send only multicast group for ff12:401b:ffff:0000:0000:0000:0000:0016
ib1: no multicast record for ff12:401b:ffff:0000:0000:0000:0000:0016, starting join
ib0: multicast join failed for ff12:401b:ffff:0000:0000:0000:0000:0016, status -22
ib1: multicast join failed for ff12:401b:ffff:0000:0000:0000:0000:0016, status -22
ib0: setting up send only multicast group for ff12:601b:ffff:0000:0000:0000:0000:0002
ib0: no multicast record for ff12:601b:ffff:0000:0000:0000:0000:0002, starting join
ib0: multicast join failed for ff12:601b:ffff:0000:0000:0000:0000:0002, status -22
ib0: restarting multicast task
ib0: stopping multicast thread
ib0: adding multicast entry for mgid ff12:601b:ffff:0000:0000:0000:0000:00fb
ib0: starting multicast thread
ib0: joining MGID ff12:601b:ffff:0000:0000:0000:0000:00fb
ib0: join completion for ff12:601b:ffff:0000:0000:0000:0000:00fb (status 0)
ib0: Created ah ffff88022e40cbc0
ib0: MGID ff12:601b:ffff:0000:0000:0000:0000:00fb AV ffff88022e40cbc0, LID 0xc005, SL 0
ib0: successfully joined all multicast groups
ib0: no multicast record for ff12:601b:ffff:0000:0000:0000:0000:0016, starting join
ib0: multicast join failed for ff12:601b:ffff:0000:0000:0000:0000:0016, status -22
ib1: Unicast, no dst: type 0002, QPN 200800 1404:0001:8010:0049:fe80:0000:0000:0000
ib0: Unicast, no dst: type 0002, QPN 200800 1404:0001:8010:0048:fe80:0000:0000:0000
ib1: no multicast record for ff12:601b:ffff:0000:0000:0000:0000:0002, starting join
ib1: multicast join failed for ff12:601b:ffff:0000:0000:0000:0000:0002, status -22
ib0: no multicast record for ff12:601b:ffff:0000:0000:0000:0000:0002, starting join
ib0: multicast join failed for ff12:601b:ffff:0000:0000:0000:0000:0002, status -22
ib1: no multicast record for ff12:401b:ffff:0000:0000:0000:0000:0016, starting join
ib1: multicast join failed for ff12:401b:ffff:0000:0000:0000:0000:0016, status -22
ib1: no multicast record for ff12:601b:ffff:0000:0000:0000:0000:0016, starting join
ib1: multicast join failed for ff12:601b:ffff:0000:0000:0000:0000:0016, status -22
ib0: no multicast record for ff12:401b:ffff:0000:0000:0000:0000:0016, starting join
ib0: multicast join failed for ff12:401b:ffff:0000:0000:0000:0000:0016, status -22
ib0: no multicast record for ff12:601b:ffff:0000:0000:0000:0000:0016, starting join
ib0: multicast join failed for ff12:601b:ffff:0000:0000:0000:0000:0016, status -22
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: "Unicast, no dst" warning from IPoIB
       [not found] ` <Pine.LNX.4.64.1003221142430.5956-aDiYczhfhVLdX2U7gxhm1tBPR1lH4CV8@public.gmane.org>
@ 2010-03-22 12:20   ` Eli Cohen
       [not found]     ` <20100322122040.GA12224-8YAHvHwT2UEvbXDkjdHOrw/a8Rv0c6iv@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Eli Cohen @ 2010-03-22 12:20 UTC (permalink / raw)
  To: Or Gerlitz; +Cc: Roland Dreier, linux-rdma

On Mon, Mar 22, 2010 at 11:55:18AM +0200, Or Gerlitz wrote:
> 
> Recently (e.g now with 2.6.34-rc2) I came across this warning from ipoib_start_xmit.
> I wasn't sure if it suggests that there's some real problem or not. It happens
> few times and then vanishes, for some reason the type is always 0002 (ETH_P_AX25)
> 
> 	ib0: Unicast, no dst: type 0002, QPN 200800 1404:0001:8000:0048:fe80:0000:0000:0000
> 	ib1: Unicast, no dst: type 0002, QPN 200800 1404:0001:8000:0049:fe80:0000:0000:0000
> 

The data printed is garbage - the correct data is at offset of 8
bytes. Thus we have:
protocol = 0x800 = IP
The IPoIB inteface is connected mode
The QP number is 0x48 which you're likely to find with mlx4 hardware.
Then we see the beginning of the GID which starts with fw80...

Why did we get this? It could happen since the IPoIB neighbour that
the specific instance of IPoIB CM is pointing to might have SKBs in
its queue. When REP arrives for this connection, it will re-queue all
the queued SKBs again but there may be no dst for them anymore.

The following patch could avoid these messages:


diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
index f8302c2..114404f 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
@@ -996,9 +996,14 @@ static int ipoib_cm_rep_handler(struct ib_cm_id *cm_id, struct ib_cm_event *even
 
 	while ((skb = __skb_dequeue(&skqueue))) {
 		skb->dev = p->dev;
-		if (dev_queue_xmit(skb))
-			ipoib_warn(priv, "dev_queue_xmit failed "
-				   "to requeue packet\n");
+		if (skb_dst(skb) && skb_dst(skb)->neighbour) {
+			if (dev_queue_xmit(skb))
+				ipoib_warn(priv, "dev_queue_xmit failed "
+					   "to requeue packet\n");
+		} else {
+			++p->dev->stats.tx_dropped;
+			dev_kfree_skb_any(skb);
+		}
 	}
 
 	ret = ib_send_cm_rtu(cm_id, NULL, 0);
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index 5e6c2de..12265b7 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -490,9 +490,14 @@ static void path_rec_completion(int status,
 
 	while ((skb = __skb_dequeue(&skqueue))) {
 		skb->dev = dev;
-		if (dev_queue_xmit(skb))
-			ipoib_warn(priv, "dev_queue_xmit failed "
-				   "to requeue packet\n");
+		if (skb_dst(skb) && skb_dst(skb)->neighbour) {
+			if (dev_queue_xmit(skb))
+				ipoib_warn(priv, "dev_queue_xmit failed "
+					   "to requeue packet\n");
+		} else {
+			++dev->stats.tx_dropped;
+			dev_kfree_skb_any(skb);
+		}
 	}
 }
 

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: "Unicast, no dst" warning from IPoIB
       [not found]     ` <20100322122040.GA12224-8YAHvHwT2UEvbXDkjdHOrw/a8Rv0c6iv@public.gmane.org>
@ 2010-03-22 16:13       ` Moni Shoua
       [not found]         ` <4BA79714.8030600-hKgKHo2Ms0F+cjeuK/JdrQ@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Moni Shoua @ 2010-03-22 16:13 UTC (permalink / raw)
  To: Eli Cohen; +Cc: Or Gerlitz, Roland Dreier, linux-rdma


> Why did we get this? It could happen since the IPoIB neighbour that
> the specific instance of IPoIB CM is pointing to might have SKBs in
> its queue. When REP arrives for this connection, it will re-queue all
> the queued SKBs again but there may be no dst for them anymore.
> 
Do you mean that it ("no dst for them anymore.") happened due to aging of the neigh?
My intuition tells me that it should be a very rare scenario, if I guess your intension correctly.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: "Unicast, no dst" warning from IPoIB
       [not found]         ` <4BA79714.8030600-hKgKHo2Ms0F+cjeuK/JdrQ@public.gmane.org>
@ 2010-03-22 16:21           ` Eli Cohen
  0 siblings, 0 replies; 4+ messages in thread
From: Eli Cohen @ 2010-03-22 16:21 UTC (permalink / raw)
  To: Moni Shoua; +Cc: Or Gerlitz, Roland Dreier, linux-rdma

On Mon, Mar 22, 2010 at 06:13:08PM +0200, Moni Shoua wrote:
> 
> Do you mean that it ("no dst for them anymore.") happened due to aging of the neigh?
Yes, the networking stack could do that while we were wating for a
REP.

> My intuition tells me that it should be a very rare scenario, if I guess your intension correctly.
Yes, it's rare. Last time I saw complaints on such messages was 3 years
ago...

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2010-03-22 16:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-22  9:55 "Unicast, no dst" warning from IPoIB Or Gerlitz
     [not found] ` <Pine.LNX.4.64.1003221142430.5956-aDiYczhfhVLdX2U7gxhm1tBPR1lH4CV8@public.gmane.org>
2010-03-22 12:20   ` Eli Cohen
     [not found]     ` <20100322122040.GA12224-8YAHvHwT2UEvbXDkjdHOrw/a8Rv0c6iv@public.gmane.org>
2010-03-22 16:13       ` Moni Shoua
     [not found]         ` <4BA79714.8030600-hKgKHo2Ms0F+cjeuK/JdrQ@public.gmane.org>
2010-03-22 16:21           ` Eli Cohen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.