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...
This commit is contained in:
Thomas Haller 2021-10-01 17:43:01 +02:00
parent 7bb1d9b1f4
commit 1b488fe34c
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
2 changed files with 18 additions and 2 deletions

View file

@ -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" \

View file

@ -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 <<EOF | tmp_file "$BASEDIR/data-gdbinit"
@ -245,6 +247,7 @@ RUN dnf install -y \\
make \\
meson \\
meson \\
mlocate \\
mobile-broadband-provider-info-devel \\
newt-devel \\
nss-devel \\
@ -262,6 +265,7 @@ RUN dnf install -y \\
python3-pyyaml \\
radvd \\
readline-devel \\
rp-pppoe \\
rpm-build \\
strace \\
systemd \\
@ -304,6 +308,8 @@ RUN sed 's/.*RateLimitBurst=.*/RateLimitBurst=0/' /etc/systemd/journald.conf -i
RUN rm -rf /etc/NetworkManager/system-connections/*
RUN echo -e '\n. /etc/bashrc.my\n' >> /etc/bashrc
RUN updatedb
EOF
}