From 1b488fe34c41bf681cb9f4a60c6916140de84c30 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 1 Oct 2021 17:43:01 +0200 Subject: [PATCH] contrib: make it easy to test PPPoE in container script It doesn't actually work inside the root-less container... Well, it works as far as starting to activate, before it fails. That is still somewhat useful. So have it there... --- .../scripts/nm-in-container.d/data-nm-env-prepare.sh | 12 +++++++++++- contrib/scripts/nm-in-container.sh | 8 +++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/contrib/scripts/nm-in-container.d/data-nm-env-prepare.sh b/contrib/scripts/nm-in-container.d/data-nm-env-prepare.sh index 5b536b82c0..61cee0371c 100755 --- a/contrib/scripts/nm-in-container.d/data-nm-env-prepare.sh +++ b/contrib/scripts/nm-in-container.d/data-nm-env-prepare.sh @@ -18,6 +18,10 @@ do_cleanup() { pkill -F "/tmp/nm-radvd-$PEER_PREFIX$IDX.pid" radvd &>/dev/null || : rm -rf "/tmp/nm-radvd-$PEER_PREFIX$IDX.pid" + pkill -F "/tmp/nm-pppoe-$PEER_PREFIX$IDX.pid" pppoe-server &>/dev/null || : + rm -rf "/tmp/nm-pppoe-$PEER_PREFIX$IDX.pid" + rm -rf "/tmp/nm-pppoe-allip-$PEER_PREFIX$IDX" + rm -rf "/tmp/nm-radvd-$PEER_PREFIX$IDX.conf" ip link del "$PEER_PREFIX$IDX" &>/dev/null || : @@ -33,9 +37,15 @@ do_setup() { ip link add "$NAME_PREFIX$IDX" type veth peer "$PEER_PREFIX$IDX" ip link set "$PEER_PREFIX$IDX" up - ip addr add "192.168.$((120 + $IDX)).1/23" dev "$PEER_PREFIX$IDX" + ip addr add "192.168.$((120 + IDX)).1/23" dev "$PEER_PREFIX$IDX" ip addr add "192:168:$((120 + IDX))::1/64" dev "$PEER_PREFIX$IDX" + # PPPoE inside the rootless container is not actually working, because + # /dev/ppp is not accessible. Still start it, so that we at least can + # test how far it goes... + echo "192.168.$((120 + $IDX)).180-200" > "/tmp/nm-pppoe-allip-$PEER_PREFIX$IDX" + pppoe-server -X "/tmp/nm-pppoe-$PEER_PREFIX$IDX.pid" -S isp -C isp -L "192.168.$((120 + IDX)).1" -p "/tmp/nm-pppoe-allip-$PEER_PREFIX$IDX" -I "$PEER_PREFIX$IDX" & + dnsmasq \ --conf-file=/dev/null \ --pid-file="/tmp/nm-dnsmasq-$PEER_PREFIX$IDX.pid" \ diff --git a/contrib/scripts/nm-in-container.sh b/contrib/scripts/nm-in-container.sh index cb12991e53..fa91721603 100755 --- a/contrib/scripts/nm-in-container.sh +++ b/contrib/scripts/nm-in-container.sh @@ -181,11 +181,13 @@ nm-env-prepare.sh nm-env-prepare.sh --prefix eth -i 4 nm_run_gdb nm_run_normal +nmcli device connect net1 +nmcli connection add type pppoe con-name ppp-net1 ifname ppp-net1 pppoe.parent net1 service isp username test password networkmanager autoconnect no for i in {1..9}; do nm-env-prepare.sh --prefix eth -i \$i; done systemctl status NetworkManager systemctl stop NetworkManager systemctl stop NetworkManager; /opt/test/sbin/NetworkManager --debug 2>&1 | tee -a /tmp/nm-log.txt -systemctl stop NetworkManager; gdb --args /opt/test/sbin/NetworkManager --debug +systemctl stop NetworkManager; gdb -ex run --args /opt/test/sbin/NetworkManager --debug EOF cat <> /etc/bashrc + +RUN updatedb EOF }