Page MenuHomeFreeBSD

Retire synchronous PPP kernel driver sppp(4).
ClosedPublic

Authored by glebius on Oct 21 2021, 2:55 PM.
Tags
None
Referenced Files
F82060053: D32590.diff
Thu, Apr 25, 3:30 AM
Unknown Object (File)
Tue, Apr 9, 1:57 PM
Unknown Object (File)
Mon, Apr 8, 10:50 AM
Unknown Object (File)
Fri, Apr 5, 10:24 PM
Unknown Object (File)
Fri, Apr 5, 10:24 PM
Unknown Object (File)
Fri, Apr 5, 10:24 PM
Unknown Object (File)
Fri, Apr 5, 10:12 PM
Unknown Object (File)
Thu, Mar 28, 4:14 PM

Details

Summary

The last two drivers that required sppp are cp(4) and ce(4).

Those devices are still produced and can be purchased
at Cronyx http://cronyx.ru/hardware/wan.html.

Since Roman Kurakin <rik@FreeBSD.org> has quit them, they no
longer support FreeBSD officially. Later they have dropped
support for Linux drivers to. As of mid-2020 they don't even
have a developer to maintain their Windows driver. However,
their support verbally told me that they could provide aid to
a FreeBSD developer with documentaion in case if there appears
a new customer for their devices.

These drivers have a feature to not use sppp(4) and create an
interface, but instead expose the device as netgraph(4) node.
Then, you can attach ng_ppp(4) with help of ports/net/mpd5 on
top of the node and get your synchronous PPP. Alternatively
you can attach ng_frame_relay(4) or ng_cisco(4) for HDLC.
Actually, last time I used cp(4) back in 2004, using netgraph(4)
instead of sppp(4) was already the right way to do.

Thus, remove the sppp(4) related part of the drivers and enable
by default the negraph(4) part. Further maintainence of these
drivers in the tree shouldn't be a big deal.

While doing that, remove some cruft and enable cp(4) compilation
on amd64. The ce(4) for some unknown reason marks its internal
DDK functions with attribute fastcall, which most likely is
safe to remove, but without hardware I'm not going to do that, so
ce(4) remains i386-only.

See also: https://reviews.freebsd.org/D23928

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 42289
Build 39177: arc lint + arc unit

Event Timeline

Added more explicit reviewers, taking from D23928.

No objection to removing sppp

Thank you for simplifying the code without dropping the functionality.

This revision is now accepted and ready to land.Oct 22 2021, 11:16 AM
emaste added inline comments.
ObsoleteFiles.inc
50–52

Prior to removal please add deprecation notices to these files and cherry-pick to stable/13 and stable/12

lib/libc/net/getnameinfo.c
470

I assume this is just a long-standing omission you discovered as part of this work.