| Index: mod_for_test_scripts/100setupTestingInterface
|
| diff --git a/mod_for_test_scripts/100setupTestingInterface b/mod_for_test_scripts/100setupTestingInterface
|
| deleted file mode 100755
|
| index 9fc540913a732a8fc55b0a6fb2f97eb037bc5884..0000000000000000000000000000000000000000
|
| --- a/mod_for_test_scripts/100setupTestingInterface
|
| +++ /dev/null
|
| @@ -1,132 +0,0 @@
|
| -#!/bin/bash
|
| -
|
| -# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -echo "Configuring for backchannel network device"
|
| -
|
| -testif=eth_test
|
| -
|
| -# Prevent flimflam from taking control of the backchannel network device.
|
| -ORIG_CONF=${ROOT_FS_DIR}/etc/init/flimflam.conf
|
| -TEMP_CONF=${ORIG_CONF}.tmp
|
| -sed "s,/usr/sbin/flimflamd,/usr/sbin/flimflamd -I ${testif}," ${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-network.rules <<EOF
|
| -KERNEL=="eth*", SUBSYSTEMS=="usb", ACTION=="add", RUN+="/sbin/backchannel-setup %k"
|
| -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
|
| -
|
| -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" != "\${testif}" ]; then
|
| - initctl stop flimflam
|
| - # \$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 \${testif} \${bdev_mac}
|
| - if [ -n "\${orig_mac}" ]; then
|
| - nameif \$1 \${orig_mac}
|
| - fi
|
| - initctl start flimflam
|
| -fi
|
| -
|
| -# Bring up the backchannel interface
|
| -dhclient -q -pf /var/run/dhclient-\${testif}.pid \\
|
| - -lf /var/run/dhclient-\${testif}.leases \\
|
| - -cf /etc/dhclient-backchannel.conf \\
|
| - -sf /sbin/dhclient-backchannel-script \\
|
| - \${testif}
|
| -EOF
|
| -
|
| -chmod +x ${ROOT_FS_DIR}/sbin/backchannel-setup
|
| -
|
| -cat > ${ROOT_FS_DIR}/etc/dhclient-backchannel.conf <<EOF
|
| -request subnet-mask, broadcast-address, routers;
|
| -EOF
|
| -
|
| -cat > ${ROOT_FS_DIR}/sbin/dhclient-backchannel-script <<EOF
|
| -#!/bin/sh
|
| -
|
| -if [ -n "\$new_broadcast_address" ]; then
|
| - new_broadcast_arg="broadcast \$new_broadcast_address"
|
| -fi
|
| -if [ -n "\$new_subnet_mask" ]; then
|
| - new_subnet_arg="netmask \$new_subnet_mask"
|
| -fi
|
| -
|
| -
|
| -case "\$reason" in
|
| - MEDIUM|ARPCHECK|ARPSEND)
|
| - # Do nothing
|
| - ;;
|
| - PREINIT)
|
| - # The DHCP client is requesting that an interface be
|
| - # configured as required in order to send packets prior to
|
| - # receiving an actual address. - dhclient-script(8)
|
| -
|
| - ifconfig \$interface inet 0 up
|
| -
|
| - # We need to give the kernel some time to get the interface up.
|
| - sleep 1
|
| - ;;
|
| -
|
| - BOUND|RENEW|REBIND|REBOOT|TIMEOUT)
|
| - if [ -n "\$old_ip_address" -a \
|
| - "\$old_ip_address" != "\$new_ip_address" ]; then
|
| - # IP address changed. Bringing down the interface will delete all routes,
|
| - # and clear the ARP cache.
|
| - ifconfig \$interface inet 0
|
| -
|
| - fi
|
| -
|
| - if [ -z "\$old_ip_address" -o "\$old_ip_address" != "\$new_ip_address" -o \
|
| - "\$reason" = "BOUND" -o "\$reason" = "REBOOT" ]; then
|
| -
|
| - ifconfig \$interface inet \$new_ip_address \$new_subnet_arg \
|
| - \$new_broadcast_arg \$mtu_arg
|
| -
|
| - # Since this script is for the backchannel testing interface,
|
| - # we don't set the default route from here, but we do stash
|
| - # it for possible later use in setting up a host route.
|
| - cp /dev/null /var/run/dhclient-\${interface}.routers
|
| - for router in \$new_routers; do
|
| - echo \$router >> /var/run/dhclient-\${interface}.routers
|
| - done
|
| - fi
|
| - ;;
|
| -
|
| - EXPIRE|FAIL|RELEASE|STOP)
|
| - if [ -n "\$old_ip_address" ]; then
|
| - # Shut down interface, which will delete routes and clear arp cache.
|
| - ifconfig \$interface inet 0
|
| - fi
|
| - ;;
|
| -esac
|
| -EOF
|
| -
|
| -chmod +x ${ROOT_FS_DIR}/sbin/dhclient-backchannel-script
|
|
|