On Tue, Nov 04, 2014 at 02:34:53PM +0000, Simon Vincent wrote: > If you use RAW sockets the transport header offset is not set by the > ipv6 stack so when we get to the udp header compression it does not > compress the right part of the packet. > > This patch adds a check for this scenario and sets the transport > header offset. > > Signed-off-by: Simon Vincent <simon.vincent@xxxxxxxxxx> > --- > net/6lowpan/iphc.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/net/6lowpan/iphc.c b/net/6lowpan/iphc.c > index 73a7065..305bf2b 100644 > --- a/net/6lowpan/iphc.c > +++ b/net/6lowpan/iphc.c > @@ -512,9 +512,17 @@ static u8 lowpan_compress_addr_64(u8 **hc_ptr, u8 shift, > > static void compress_udp_header(u8 **hc_ptr, struct sk_buff *skb) > { > - struct udphdr *uh = udp_hdr(skb); > + struct udphdr *uh; > u8 tmp; > > + /* In the case of RAW sockets the transport header is not set by > + * the ip6 stack so we must set it ourselves > + */ Should be: /* In the case of RAW sockets the transport header is not set by * the ip6 stack so we must set it ourselves */ Otherwise looking good! ;-) - Alex -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html