The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Qingfang Deng <qingfang.deng@linux.dev>
To: "Pali Rohár" <pali@kernel.org>
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:17:14 +0800	[thread overview]
Message-ID: <76232f9c-2a5a-454a-905e-e046b6c78cef@linux.dev> (raw)
In-Reply-To: <20260809145836.5pqf2rgf574fjlds@pali>

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.

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

  reply	other threads:[~2026-08-09 16:17 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 [this message]
2026-08-09 22:59     ` Pali Rohár
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=76232f9c-2a5a-454a-905e-e046b6c78cef@linux.dev \
    --to=qingfang.deng@linux.dev \
    --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=pali@kernel.org \
    --cc=paulus@ozlabs.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox