Netdev List
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali@kernel.org>
To: Qingfang Deng <qingfang.deng@linux.dev>
Cc: Guillaume Nault <gnault@redhat.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Kees Cook <kees@kernel.org>,
	Asim Viladi Oglu Manizada <manizada@pm.me>,
	Eric Woudstra <ericwouds@gmail.com>, Felix Fietkau <nbd@nbd.name>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	Paul Mackerras <paulus@ozlabs.org>,
	Michal Ostrowski <mostrows@gmail.com>
Subject: Re: [RFC net-next] pppoe: remove session socket receive support
Date: Mon, 10 Aug 2026 00:59:54 +0200	[thread overview]
Message-ID: <20260809225954.i36fajv6twbnjfdp@pali> (raw)
In-Reply-To: <76232f9c-2a5a-454a-905e-e046b6c78cef@linux.dev>

On Monday 10 August 2026 00:17:14 Qingfang Deng wrote:
> Hi Pali,
> 
> On 8/9/2026 10:58 PM, Pali Rohár wrote:
> > Hello, I would like to point out that "no know open source
> > userspace implementation" does not have to mean that there cannot be
> > some closed source or not publicly available. But I agree that
> > probability is too low.
> > 
> > Anyway, could you describe what is this functionality (which is being
> > removed) doing? Or how to use it? From the code and description I have
> > not figure out how it is suppose to be used or for what kind of scenario
> > or use case can be it hypothetically used.
> > 
> > Would be nice to know what exactly is being removing and what userspace
> > applications cannot do after applying this change.
> 
> pppoe_recvmsg()/sendmsg() can be used to receive/send PPPoE session packets
> without the generic layer. I just found out that the RP-PPPoE package,
> maintained by Dianne Skoll, actually provides a standalone PPPoE client that
> does not depend on pppd and instead uses these syscalls. So long as the
> package is still being maintained, these syscalls should not be removed.

Yes, that is right. I completely forgot that there are real userspace
implementations of PPPoE which are in use. RP-PPPoE is one of them.
RP-PPPoE provides plugin for pppd, but that plugin does not use kernel
PPPoE module.

> The state transition still needs to be fixed, though. It's done by the
> PPPIOCGCHAN ioctl. Note that despite the "Getter" semantic, it actually
> alters a socket's internal state by setting the PPPOX_BOUND bit, to indicate
> that the socket is now "bound" to the generic PPP layer. The code is carried
> over from the very first version of the PPPoX driver and the intention of
> this behavior was not known. A fix may move the transition to a non-getter
> ioctl and drain the socket receive queue once a socket is bound.
> 
> Best regards,
> Qingfang

I see. Maybe you could ask developers of the first version of driver if
they remember something. But probably nobody would remember old things.

Clearing the queue after the transition happens sounds like a good idea.
If I understand correctly, it does not make sense to get packets into
userspace once the socket is bound to PPP layer.

I have feeling that kernel PPP layer and its API do fully fit into the
API for network devices and netlink layer for userspace.

  reply	other threads:[~2026-08-09 22:59 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-06  9:16 [RFC net-next] pppoe: remove session socket receive support Qingfang Deng
2026-08-09 14:58 ` Pali Rohár
2026-08-09 16:17   ` Qingfang Deng
2026-08-09 22:59     ` Pali Rohár [this message]
2026-08-10  2:28       ` Qingfang Deng

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=20260809225954.i36fajv6twbnjfdp@pali \
    --to=pali@kernel.org \
    --cc=andrew+netdev@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=ericwouds@gmail.com \
    --cc=gnault@redhat.com \
    --cc=kees@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=manizada@pm.me \
    --cc=mostrows@gmail.com \
    --cc=nbd@nbd.name \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=paulus@ozlabs.org \
    --cc=qingfang.deng@linux.dev \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox