From: Josef Filzmaier <j.filzmaier@gmx.at>
To: linux-wpan@vger.kernel.org
Subject: Problem using AF_PACKET with SOCK_RAW on ieee802514 devices
Date: Thu, 14 Jun 2018 00:35:40 +0200 [thread overview]
Message-ID: <2998722.BvyPDujJB3@saab-desktop> (raw)
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
next reply other threads:[~2018-06-13 22:37 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-13 22:35 Josef Filzmaier [this message]
2018-06-14 14:20 ` Problem using AF_PACKET with SOCK_RAW on ieee802514 devices 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2998722.BvyPDujJB3@saab-desktop \
--to=j.filzmaier@gmx.at \
--cc=linux-wpan@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.