On Fri, 6 Nov 2020 18:16:45 +0000 Tom Parkin wrote: > This small RFC series implements a suggestion from Guillaume Nault in > response to my previous submission to add an ac/pppoe driver to the l2tp > subsystem[1]. > > Following Guillaume's advice, this series adds an ioctl to the ppp code > to allow a ppp channel to be bridged to another. Quoting Guillaume: > > "It's just a matter of extending struct channel (in ppp_generic.c) with > a pointer to another channel, then testing this pointer in ppp_input(). > If the pointer is NULL, use the classical path, if not, forward the PPP > frame using the ->start_xmit function of the peer channel." > > This allows userspace to easily take PPP frames from e.g. a PPPoE > session, and forward them over a PPPoL2TP session; accomplishing the > same thing my earlier ac/pppoe driver in l2tp did but in much less code!
I have little understanding of the ppp code, but I can't help but wonder why this special channel connection is needed? We have great many ways to redirect traffic between interfaces - bpf, tc, netfilter, is there anything ppp specific that is required here?