summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Aring <alex.aring@gmail.com>2013-10-30 09:18:23 +0100
committerDavid S. Miller <davem@davemloft.net>2013-10-30 17:18:46 -0400
commit578d524127612354d91905f932ee88d73d8d1645 (patch)
treebfcb902eba18bd0e162eb28349985bab97e8f001
parent3e69162ea4a9e927cb3619b96c86aae4ded60112 (diff)
downloadlinux-578d524127612354d91905f932ee88d73d8d1645.tar.gz
linux-578d524127612354d91905f932ee88d73d8d1645.tar.bz2
linux-578d524127612354d91905f932ee88d73d8d1645.zip
6lowpan: set 6lowpan network and transport header
This is necessary to access network header with the skb_network_header function instead of calculate the position with mac_len, etc. Do the same for the transport header, when we replace the IPv6 header with the 6LoWPAN header. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Acked-by: Werner Almesberger <werner@almesberger.net> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ieee802154/6lowpan.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
index e6db1f51bf5b..58c07fd967d1 100644
--- a/net/ieee802154/6lowpan.c
+++ b/net/ieee802154/6lowpan.c
@@ -654,7 +654,9 @@ static int lowpan_header_create(struct sk_buff *skb,
head[1] = iphc1;
skb_pull(skb, sizeof(struct ipv6hdr));
+ skb_reset_transport_header(skb);
memcpy(skb_push(skb, hc06_ptr - head), head, hc06_ptr - head);
+ skb_reset_network_header(skb);
lowpan_raw_dump_table(__func__, "raw skb data dump", skb->data,
skb->len);