Add IPv6 inside the PPP session and use enp2s0 in the example

- wan.ipv6.transport = "ppp": IPv6CP in pppd, router advertisements and
  DHCPv6 prefix delegation on the PPP device, DHCPv6 accepted on the PPP
  device, IPv6 MSS clamped to MTU-60. Allowed on a shared single-NIC
  link. A build-time check requires a PPPoE uplink.
- IPv4 MSS clamping now only matches IPv4 packets.
- The example uses the new box's NIC name (enp2s0).

Covered by the onestick VM test (radvd and a minimal DHCPv6-PD
responder as the ISP) and assertion cases.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-28 15:03:57 +01:00
co-authored by Claude Sonnet 5.5
parent b5429ad876
commit 70dddad206
9 changed files with 227 additions and 22 deletions
+40
View File
@@ -940,6 +940,45 @@ let
};
expect = [ "not a valid hostname" ];
};
pppTransportValid = {
router = {
wan = {
ipv4 = {
type = "pppoe";
pppoe = {
vlan = 1001;
username = "u";
passwordFile = "/var/lib/pw";
};
};
ipv6 = {
enable = true;
transport = "ppp";
};
};
lans.main = lan {
interface = "eth0";
ipv6.pd = true;
};
};
expect = [ ];
};
pppTransportNeedsPppoe = {
router = {
wan = {
ipv4.type = "dhcp";
ipv6 = {
enable = true;
transport = "ppp";
};
};
lans.main = lan { interface = "eth0"; };
};
expect = [
"needs a PPPoE uplink"
"also used by a LAN"
];
};
nonOverlappingLans = {
router.lans = {
a = lan { };
@@ -988,6 +1027,7 @@ let
"wgValid"
"wanValid"
"sharedLinkValid"
"pppTransportValid"
"dnsValid"
];