All of lore.kernel.org
 help / color / mirror / Atom feed
* Problem using AF_PACKET with SOCK_RAW on ieee802514 devices
@ 2018-06-13 22:35 Josef Filzmaier
  2018-06-14 14:20 ` Alexander Aring
  0 siblings, 1 reply; 6+ messages in thread
From: Josef Filzmaier @ 2018-06-13 22:35 UTC (permalink / raw)
  To: linux-wpan

Hello everyone (again)!

I am using the linux-wpan stack with the atusb and at86rf230 drivers (rf212).
Moreover i am using raw sockets to test some userspace implemenation of a 
custom protocol. In userspace i am using (attention, golang ahead)

> protocol = htons(syscall.ETH_P_IEEE802154)
> syscall.Socket(syscall.AF_PACKET, syscall.SOCK_RAW, int(protocol))

to create a raw socket. This has been working as desired up until commit 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?
id=b84bbaf7a6c8cca24f8acf25a2c8e46913a947ba

After this commit the kernel mistakenly attaches two uninitialized bytes at 
the end of my raw data. I am currently using a patched kernel which uses the 
following code in af_packet.c (Modified the else if over Willem de Brujin's 
patch)

> } else if (sock->type != SOCK_RAW && reserve {
> 	skb_push(skb, reserve);
> }

Making this modification i can use my raw sockets with the correct length 
again. I wanted to ask if my solution is sensible here. I'm not 100% sure on 
why the patch was introduced, and my solution might not be sufficient for all 
use cases.

Another solution i thought of was to change the dev->hard_header_len but i'm 
unsure about changing these constants.

Is anyone else having this problem here, or can anyone else reproduce?
Any comments on whether my solution (or a modified one) could be upstreamed?

Thanks

-- 
Filzmaier Josef



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-06-14 19:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-13 22:35 Problem using AF_PACKET with SOCK_RAW on ieee802514 devices Josef Filzmaier
2018-06-14 14:20 ` Alexander Aring
2018-06-14 15:57   ` Josef Filzmaier
2018-06-14 17:13     ` Alexander Aring
2018-06-14 18:37       ` Josef Filzmaier
2018-06-14 19:12         ` Alexander Aring

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.