#!/bin/sh # $NetBSD: script,v 1.3 2001/08/01 09:10:57 garbled Exp $ IFFILE="/etc/ifconfig.$1" MTU=`echo "$12" | sed -e 's/^0*//'` IFS=" " ALIASES=`cat /etc/ifconfig.$1 | grep alias` unset IFS if [ "$2" = "boot" -o "$2" = "both" ]; then echo -n "inet $3" > $IFFILE if [ ! -z $4 ]; then echo -n " netmask $4" >> $IFFILE fi if [ ! -z $5 ]; then echo -n " broadcast $5" >> $IFFILE fi echo >> $IFFILE if [ ! -z $6 ]; then echo -n "media $6" >> $IFFILE fi if [ ! -z $7 ]; then echo -n " mediaopt $7" >> $IFFILE fi echo >> $IFFILE if [ ! -z $8 ]; then echo -n "inet6 $8" >> $IFFILE fi if [ ! -z $9 ]; then echo -n " prefixlen $9" >> $IFFILE fi echo >> $IFFILE if [ ! -z $10 ]; then echo -n "nwid "\""$10"\""" >> $IFFILE fi if [ ! -z $11 ]; then LINK=`echo "$11" | sed -e 's/,/ /'` echo -n " $LINK" >> $IFFILE fi ifconfig -m $1 | grep 'Ethernet' >/dev/null if [ "$?" != "0" -o "$MTU" != "1500" ]; then if [ ! -z $MTU ]; then echo -n " mtu $MTU" >> $IFFILE fi fi if [ ! -z $13 -a $13 -ne 0 ]; then echo -n " metric $13" >> $IFFILE fi echo >> $IFFILE echo "$ALIASES" >> $IFFILE IFS=" " IFCON=`cat $IFFILE | sed -e 's/^$//' | sed -e 's/^ *//'` echo "$IFCON" > $IFFILE chown root:wheel $IFFILE chmod 644 $IFFILE echo "Modifications have been written to $IFFILE" unset $IFS echo echo "$IFCON" echo "" fi if [ "$2" = "now" -o "$2" = "both" ]; then NET=`echo -n "$1 inet $3"` NET2=`echo -n "$1"` if [ ! -z $4 ]; then NET=`echo -n " $NET netmask $4"` fi if [ ! -z $5 ]; then NET=`echo -n " $NET broadcast $5"` fi if [ ! -z $6 ]; then NET=`echo -n " $NET media $6"` fi if [ ! -z $7 ]; then NET=`echo -n " $NET mediaopt $7"` fi if [ ! -z $8 ]; then NET2=`echo -n " $NET2 inet6 $8"` fi if [ ! -z $9 ]; then NET2=`echo -n " $NET2 prefixlen $9"` fi if [ ! -z $10 ]; then NET=`echo -n " $NET nwid "\""$10"\"""` fi if [ ! -z $11 ]; then LINK=`echo "$11" | sed -e 's/,/ /'` NET=`echo -n " $NET $LINK"` fi ifconfig -m $1 | grep 'Ethernet' >/dev/null if [ "$?" != "0" -o "$MTU" != "1500" ]; then if [ ! -z $MTU ]; then NET=`echo -n " $NET mtu $MTU"` fi fi if [ ! -z $13 -a $13 -ne 0 ]; then NET=`echo -n " $NET metric $13"` fi ifconfig $NET if [ "$NET2" != "$1" ]; then ifconfig $NET2 fi echo "Modifications have been made to $1:" ifconfig $1 fi