#!/sbin/runscript # : vim:set ts=4 ft=sh : #set -x LAN_IF="cnet0" LAN_IF_HWADDR="XX:XX:XX:XX:XX:XX" LAN_IF_ADDR="x.x.x.x/y" LAN_DHCP_PIDFILE="/var/run/dhclient.lan.pid" DEFAULT_ROUTE="x.x.x.x" depend() { need localmount after bootmisc provide net keyword -jail -prefix -vserver } mbrctl() { if="$1" op="$2" shift 2 brctl "$op" "$if" "$*" } stop() { ip link set "$LAN_IF" down # if [[ -e "$LAN_DHCP_PIDFILE" ]]; then # read pid < "$LAN_DHCP_PIDFILE" # kill $pid # fi # ip addr flush dev lo ip addr flush dev "$LAN_IF" ip link set br0 down mbrctl br0 delif "$LAN_IF" mbrctl br0 delbr } start() { # Ensure that loopback has the correct address ip addr add 127.0.0.1/8 brd 127.255.255.255 dev lo ip link set lo up ip link set "$LAN_IF" address "$LAN_IF_HWADDR" ip link set "$LAN_IF" up mbrctl br0 addbr mbrctl br0 sethello 1 mbrctl br0 setfd 0 ip link set br0 up mbrctl br0 addif "$LAN_IF" ip add add "$LAN_IF_ADDR" dev br0 ip route add default via "$DEFAULT_ROUTE" # -d -nw # dhclient -v -nw -lf /tmp/lan.leases -pf "$LAN_DHCP_PIDFILE" $LAN_IF }