From: Christoph Lameter <c...@linux.com>
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 don't think you can assume there is an ipv6 header here
at all.

You'll need to parse the encapsulated protocol and process it as
ipv4 or ipv6 as needed.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to