Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -230,4 +230,16 @@
					dest = 16 bit 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__ */