public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Mathis Marion <Mathis.Marion@silabs•com>
To: "David S. Miller" <davem@davemloft•net>,
	David Ahern <dsahern@kernel•org>,
	Eric Dumazet <edumazet@google•com>,
	Jakub Kicinski <kuba@kernel•org>, Paolo Abeni <pabeni@redhat•com>
Cc: netdev@vger•kernel.org, linux-kernel@vger•kernel.org,
	"Jérôme Pouiller" <jerome.pouiller@silabs•com>,
	"Kylian Balan" <kylian.balan@silabs•com>,
	"Alexander Aring" <alex.aring@gmail•com>,
	"Mathis Marion" <mathis.marion@silabs•com>
Subject: [PATCH v1 0/2] ipv6: always accept routing headers with 0 segments left
Date: Mon, 24 Jun 2024 16:15:31 +0200	[thread overview]
Message-ID: <20240624141602.206398-1-Mathis.Marion@silabs.com> (raw)

From: Mathis Marion <mathis.marion@silabs•com>

Hello maintainers,

Here is a bit of context for this series: Silicon Labs is working
on implementing a Wi-SUN[1] routing daemon for Linux[2]. Wi-SUN uses
RPL[3] for routing, which uses a specialized IPv6 routing header[4],
supported by a kernel module[5]. Currently, our border router daemon
does not rely on that kernel module and instead inserts the Source
Routing Header (SRH) in userspace after reading the IPv6 packet from a
TUN device.

Future development is now geared towards a router implementation (as
opposed to a border router), which does not insert the SRH but instead
processes it. The first step was to implement a leaf node, which always
receive a SRH with 0 segments left. Even without having the RPL kernel
module enabled, I was expecting the kernel to properly receive these
packets, but they were instead being dropped. Looking at the kernel
code, it seems that the SRH would have been accepted before
8610c7c6e3bd ("net: ipv6: add support for rpl sr exthdr").

[1]: https://wi-sun.org/
[2]: https://github.com/SiliconLabs/wisun-br-linux
[3]: https://www.rfc-editor.org/rfc/rfc6550.html
[4]: https://www.rfc-editor.org/rfc/rfc6554.html
[5]: https://elixir.bootlin.com/linux/v6.9/source/net/ipv6/Kconfig#L322

Mathis Marion (2):
  ipv6: introduce ipv6_rthdr_rcv_last()
  ipv6: always accept routing headers with 0 segments left

 net/ipv6/exthdrs.c | 124 ++++++++++++++++++---------------------------
 1 file changed, 48 insertions(+), 76 deletions(-)

-- 
2.43.0


             reply	other threads:[~2024-06-24 14:32 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-24 14:15 Mathis Marion [this message]
2024-06-24 14:15 ` [PATCH v1 1/2] ipv6: introduce ipv6_rthdr_rcv_last() Mathis Marion
2024-06-24 14:15 ` [PATCH v1 2/2] ipv6: always accept routing headers with 0 segments left Mathis Marion
2024-06-25 21:38   ` Kuniyuki Iwashima
2024-06-26  1:45     ` Alexander Aring
2024-06-26 10:10       ` Mathis Marion
2024-06-26 13:48         ` Alexander Aring
2024-07-16 21:27         ` 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=20240624141602.206398-1-Mathis.Marion@silabs.com \
    --to=mathis.marion@silabs$(echo .)com \
    --cc=alex.aring@gmail$(echo .)com \
    --cc=davem@davemloft$(echo .)net \
    --cc=dsahern@kernel$(echo .)org \
    --cc=edumazet@google$(echo .)com \
    --cc=jerome.pouiller@silabs$(echo .)com \
    --cc=kuba@kernel$(echo .)org \
    --cc=kylian.balan@silabs$(echo .)com \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=pabeni@redhat$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox