L2TP PPP/NCP Interop
Ze as an LNS against a real xl2tpd/pppd
LAC, with FRR proving that a subscriber route makes it
all the way into BGP.
A peer-isolated Docker lab runs Ze as an LNS, a real
xl2tpd/pppd LAC, and FRR
as a BGP peer in separate privileged containers on
an isolated bridge network. It proves the complete
path from L2TP control tunnel through PPP LCP/IPCP,
kernel pppN interface creation,
dataplane connectivity, and BGP route
redistribution from a live PPP session.
Two scenarios: full PPP/IPv4 dataplane proof with cleanup verification, and a subscriber /32 BGP redistribution scenario -- advertised to FRR when the session comes up, withdrawn on teardown.
# Docker lab, all scenarios $ make ze-deployment-l2tp-ppp-docker-test # single scenario, verbose $ python3 test/l2tp-interop/run.py 01-ppp-ipv4 # QEMU path instead of Docker (needs tmp/kernel/vmlinuz) $ make ze-qemu-l2tp-ppp-test
Docker for the primary path. The QEMU path needs a
staged kernel (make ze-kernel
GOKRAZY_ARCH=arm64) and works where Docker
Desktop's VM lacks the PPPoL2TP kernel module.