[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <389f9a36-28ef-1bb6-e7bb-ea9f597e29f0@katalix.com>
Date: Wed, 2 Dec 2020 10:34:43 +0000
From: James Chapman <jchapman@...alix.com>
To: Tom Parkin <tparkin@...alix.com>, netdev@...r.kernel.org
Cc: gnault@...hat.com
Subject: Re: [PATCH v2 net-next 0/2] add ppp_generic ioctl(s) to bridge
channels
On 01/12/2020 11:52, Tom Parkin wrote:
> Following on from my previous RFC[1], this series adds two ioctl calls
> to the ppp code to implement "channel bridging".
>
> When two ppp channels are bridged, frames presented to ppp_input() on
> one channel are passed to the other channel's ->start_xmit function for
> transmission.
>
> The primary use-case for this functionality is in an L2TP Access
> Concentrator where PPP frames are typically presented in a PPPoE session
> (e.g. from a home broadband user) and are forwarded to the ISP network in
> a PPPoL2TP session.
>
> The two new ioctls, PPPIOCBRIDGECHAN and PPPIOCUNBRIDGECHAN form a
> symmetric pair.
>
> Userspace code testing and illustrating use of the ioctl calls is
> available in the go-l2tp[2] and l2tp-ktest[3] repositories.
>
> [1]. Previous RFC series:
>
> https://lore.kernel.org/netdev/20201106181647.16358-1-tparkin@katalix.com/
>
> [2]. go-l2tp: a Go library for building L2TP applications on Linux
> systems. Support for the PPPIOCBRIDGECHAN ioctl is on a branch:
>
> https://github.com/katalix/go-l2tp/tree/tp_002_pppoe_2
>
> [3]. l2tp-ktest: a test suite for the Linux Kernel L2TP subsystem.
> Support for the PPPIOCBRIDGECHAN ioctl is on a branch:
>
> https://github.com/katalix/l2tp-ktest/tree/tp_ac_pppoe_tests_2
>
> Changelog:
>
> v2:
> * Add missing __rcu annotation to struct channel 'bridge' field in
> order to squash a sparse warning from a C=1 build
> * Integrate review comments from gnault@...hat.com
> * Have ppp_unbridge_channels return -EINVAL if the channel isn't
> part of a bridge: this better aligns with the return code from
> ppp_disconnect_channel.
> * Improve docs update by including information on ioctl arguments
> and error return codes.
>
> Tom Parkin (2):
> ppp: add PPPIOCBRIDGECHAN and PPPIOCUNBRIDGECHAN ioctls
> docs: update ppp_generic.rst to document new ioctls
>
> Documentation/networking/ppp_generic.rst | 9 ++
> drivers/net/ppp/ppp_generic.c | 143 ++++++++++++++++++++++-
> include/uapi/linux/ppp-ioctl.h | 2 +
> 3 files changed, 152 insertions(+), 2 deletions(-)
>
Reviewed-by: James Chapman <jchapman@...alix.com>
Powered by blists - more mailing lists