| title: | Re IPoIB Identify multicast packets and fi |
|
From: Christoph Lameter <cl@xxxxxxxxx
Date: Thu, 26 Aug 2010 16:31:14 -0500 (CDT)
@@ -271,6 +271,13 @@ static void ipoib_ib_handle_rx_wc(struct
ipoib_ud_dma_unmap_rx(priv, mapping);
ipoib_ud_skb_put_frags(priv, skb, wc- byte_len);
+ if ((wc- wc_flags & IB_WC_GRH) &&
+ IN6_IS_ADDR_MULTICAST(&((struct ipv6hdr *)skb- data)- daddr))
+
+ skb- pkt_type = PACKET_MULTICAST;
+ else
+ skb- pkt_type = PACKET_HOST;
I really dont think you can assume there is an ipv6 header here
at all.
Youll need to parse the encapsulated protocol and process it as
ipv4 or ipv6 as needed.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at rel="nofollow" vger.kernel.org/majordomo-info.html vger.kernel.org/majordomo-info.html
|