PPP over TCP/IP not work on FreeBSD 12.0 - 13.2
After start mpd5 - it start to listen configured TCP port.
It is respond well to telnet connection, but NOT generate output like: { {{{ {{ {{ {{.
MPD5 not send anything on connect.
Same configuration and same version on MPD5 word well in FreeBSD 11.
Sample of problematic configuration:
startup:
default:
load ppp_server
ppp_server:
set ippool add pool2 10.0.0.0 10.0.255.255
create bundle template B2
set ipcp ranges 10.0.1.1/16 ippool pool2
set iface enable proxy-arp
set iface enable tcpmssfix
set iface idle 0
create link template L2 tcp
set link enable multilink
set link enable shortseq
set link yes acfcomp protocomp
set link action bundle B2
set link disable chap pap eap
set link enable chap chap-msv1 chap-msv2 chap-md5
set tcp self 127.0.0.1 57
set link enable incoming
Please specify exact mpd5 version you use, as per:
pkg info -x mpd5
mpd5-5.9_16 and mpd5-5.9_13 tested - they have same effect.
Also tested mpd5-5.8_7 with FreeBSD 12.0 - same problem. Look like it is related to new NG and it was started in kernel shipped with FreeBSD 12.0. FreeBSD 11.* work fine with same mpd5 versions.
I believe the problem should be discussed in the FreeBSD Bugzilla then. Please file a Problem Report there: https://bugs.freebsd.org/ for its base system (kernel part) and post PR number here. The Problem Report should include exact versions of FreeBSD and mpd5.
Last edit: Eugene Grosbein 2023-07-02
Already done, but no any progress with it yet.
Ticket is here: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272319
Connect problem - is not single question. MPD5 also crash with this PPP/TCP configuration on daemon stop. I think that kernel crash question - mostly related to kernel team, and ability mpd5 to response to new TCP connection - mostly to MPD5 developers.
Problem of }}}}}} can be just because MPD5 not take "connect" event confirmation in PPP code from NG level, like it do with PPTP signaling link. PPTP listen TCP port well, and respond to new connections with data exchange very well under any FreeBSD. PPP just listen TCP port and not make any data exchange under FreeBSD 12 and 13.
Both tasks (PPTP and PPP) are almost same - to accept external TCP connection and exchange data.
3rd problem with PPP, known to me - PPP not work over UDP (if configured). It is starting to listen configured UDP socket, it is accepting incoming UDP packets from PPP-client over UDP, but not send any UDP PPP packets back as answers. I think, that MPD5 code is waiting in code for tcp-like "connect" with UDP, and it is not exist with UDP protocol. So existing code not able to start data exchange on first incoming PPP packet over UDP. It was tested long time ago and I have
no ready to use example of question now. It was not work even on FreeBSD 11. I think, that problem in PPP over TCP and PPP over UDP have almost same reason.