diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2007-03-14 20:05:37 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 01:26:01 -0400 |
commit | d10ba34b001944a8d1c8adb5646140ef089c432b (patch) | |
tree | cba54f5d23021a2b0061f5f2891ac7fa8fca6d5a /net/ipv6/mcast.c | |
parent | 55f79cc0c02f9ce8f85e965e9679796f62b790f5 (diff) |
[SK_BUFF]: More skb_put related skb_reset_transport_header
This time we have to set it to skb->tail that is not anymore equal to
skb->data, so we either add a new helper or just add the skb->tail - skb->data
offset, for now do the later.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/mcast.c')
-rw-r--r-- | net/ipv6/mcast.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index c6436f5e3e9f..07e86ebb46b8 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c | |||
@@ -1423,8 +1423,9 @@ static struct sk_buff *mld_newpack(struct net_device *dev, int size) | |||
1423 | 1423 | ||
1424 | memcpy(skb_put(skb, sizeof(ra)), ra, sizeof(ra)); | 1424 | memcpy(skb_put(skb, sizeof(ra)), ra, sizeof(ra)); |
1425 | 1425 | ||
1426 | pmr =(struct mld2_report *)skb_put(skb, sizeof(*pmr)); | 1426 | skb_set_transport_header(skb, skb->tail - skb->data); |
1427 | skb->h.raw = (unsigned char *)pmr; | 1427 | skb_put(skb, sizeof(*pmr)); |
1428 | pmr = (struct mld2_report *)skb_transport_header(skb); | ||
1428 | pmr->type = ICMPV6_MLD2_REPORT; | 1429 | pmr->type = ICMPV6_MLD2_REPORT; |
1429 | pmr->resv1 = 0; | 1430 | pmr->resv1 = 0; |
1430 | pmr->csum = 0; | 1431 | pmr->csum = 0; |