All of lore.kernel.org
 help / color / mirror / Atom feed
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



             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.