Page MenuHomeFreeBSD

Retire synchronous PPP kernel driver sppp(4).
ClosedPublic

Authored by glebius on Oct 21 2021, 2:55 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
R10 FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

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
49–51

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.