Commit 4666669f authored by Alexander Aring's avatar Alexander Aring Committed by David S. Miller

6lowpan: introduce lowpan_fetch_skb function

This patch adds a helper function to parse the ipv6 header to a
6lowpan header in stream.

This function checks first if we can pull data with a specific
length from a skb. If this seems to be okay, we copy skb data to
a destination pointer and run skb_pull.
Signed-off-by: default avatarAlexander Aring <alex.aring@gmail.com>
Reviewed-by: default avatarWerner Almesberger <werner@almesberger.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 31afe1f7
...@@ -230,4 +230,16 @@ ...@@ -230,4 +230,16 @@
dest = 16 bit inline */ dest = 16 bit inline */
#define LOWPAN_NHC_UDP_CS_P_11 0xF3 /* source & dest = 0xF0B + 4bit inline */ #define LOWPAN_NHC_UDP_CS_P_11 0xF3 /* source & dest = 0xF0B + 4bit inline */
static inline bool lowpan_fetch_skb(struct sk_buff *skb,
void *data, const unsigned int len)
{
if (unlikely(!pskb_may_pull(skb, len)))
return true;
skb_copy_from_linear_data(skb, data, len);
skb_pull(skb, len);
return false;
}
#endif /* __6LOWPAN_H__ */ #endif /* __6LOWPAN_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment