Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Unified Diff: src/scripts/mod_for_test_scripts/100setupTestingInterface

Issue 1826003: Adjust backchannel network setup to require explicit enabling (Closed) Base URL: ssh://git@chromiumos-git/chromeos
Patch Set: Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/scripts/mod_for_test_scripts/100setupTestingInterface
diff --git a/src/scripts/mod_for_test_scripts/100setupTestingInterface b/src/scripts/mod_for_test_scripts/100setupTestingInterface
index 2712cdfce1cf75047d68f1be77d133df7ba61ec4..f5b84961150f6f7708529fdd39c452ba33c08d31 100755
--- a/src/scripts/mod_for_test_scripts/100setupTestingInterface
+++ b/src/scripts/mod_for_test_scripts/100setupTestingInterface
@@ -4,54 +4,63 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-echo "Configuring for eth1 backchannel"
+echo "Configuring for backchannel network device"
+
+testif=eth_test
# Prevent connman from taking control of the backchannel network device.
ORIG_CONF=${ROOT_FS_DIR}/etc/init/connman.conf
TEMP_CONF=${ORIG_CONF}.tmp
-sed 's/connmand -W/connmand -I eth1 -W/' ${ORIG_CONF} > ${TEMP_CONF}
+sed "s/connmand -W/connmand -I ${testif} -W/" ${ORIG_CONF} > ${TEMP_CONF}
mv -f ${TEMP_CONF} ${ORIG_CONF}
# Arrange to run dhclient on the backchannel device but without
# installing the default route, and stashing said route away for later
# installation as a host route.
-cat > ${ROOT_FS_DIR}/etc/udev/rules.d/50-backchannel-eth1.rules <<EOF
+cat > ${ROOT_FS_DIR}/etc/udev/rules.d/50-backchannel-network.rules <<EOF
KERNEL=="eth*", SUBSYSTEMS=="usb", ACTION=="add", RUN+="/sbin/backchannel-setup %k"
-KERNEL=="eth1", SUBSYSTEMS=="usb", ACTION=="remove", RUN+="kill \$(cat /var/run/dhclient-%k.pid)"
+KERNEL=="${testif}", SUBSYSTEMS=="usb", ACTION=="remove", RUN+="kill \$(cat /var/run/dhclient-%k.pid)"
EOF
cat > ${ROOT_FS_DIR}/sbin/backchannel-setup <<EOF
#!/bin/sh
-if [ -f /var/run/dhclient-eth1.pid ]; then
+testif=${testif}
+
+if [ ! -f /mnt/stateful_partition/etc/enable_backchannel_network ]; then
+ # This mechanism has to be explicitly enabled on the device.
+ exit
+fi
+
+if [ -f /var/run/dhclient-\${testif}.pid ]; then
# Something else is already going on - perhaps a second
# USB Ethernet device has been inserted. Let's not mess with it.
exit
fi
-if [ "\$1" != "eth1" ]; then
+if [ "\$1" != "\${testif}" ]; then
initctl stop connman
- # \$1 is the current name of the backchannel device. Swap it with eth1.
- if ifconfig eth1 > /dev/null 2>&1; then
- orig_eth1_mac=\$(ifconfig eth1 | awk '/HWaddr/ {print \$5}')
- ifconfig eth1 down # must be down for nameif to work
- nameif eth_tmp \${orig_eth1_mac}
+ # \$1 is the current name of the backchannel device. Swap it with testif.
+ if ifconfig \${testif} > /dev/null 2>&1; then
+ orig_mac=\$(ifconfig \${testif} | awk '/HWaddr/ {print \$5}')
+ ifconfig \${testif} down # must be down for nameif to work
+ nameif eth_tmp \${orig_mac}
fi
bdev_mac=\$(ifconfig \$1 | awk '/HWaddr/ {print \$5}')
ifconfig \$1 down # must be down for nameif to work
- nameif eth1 \${bdev_mac}
- if [ -n "\${orig_eth1_mac}" ]; then
- nameif \$1 \${orig_eth1_mac}
+ nameif \${testif} \${bdev_mac}
+ if [ -n "\${orig_mac}" ]; then
+ nameif \$1 \${orig_mac}
fi
initctl start connman
fi
# Bring up the backchannel interface
-dhclient -q -pf /var/run/dhclient-eth1.pid \\
- -lf /var/run/dhclient-eth1.leases \\
+dhclient -q -pf /var/run/dhclient-\${testif}.pid \\
+ -lf /var/run/dhclient-\${testif}.leases \\
-cf /etc/dhclient-backchannel.conf \\
-sf /sbin/dhclient-backchannel-script \\
- eth1
+ \${testif}
EOF
chmod +x ${ROOT_FS_DIR}/sbin/backchannel-setup
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698