diff options
author | Stig Thormodsrud <stig@vyatta.com> | 2007-12-18 09:54:39 -0800 |
---|---|---|
committer | Stig Thormodsrud <stig@vyatta.com> | 2007-12-18 09:54:39 -0800 |
commit | 527ebe536c85691d79e5d81cd4f1fae4746db8c8 (patch) | |
tree | e821f97c50066133b058f28641965c4e4e6049f1 | |
parent | 1802eb010fb9b382dde4d3e1574fd578027c7dc0 (diff) | |
parent | 44a2449730a5c379c96a486a8161daa8ebe2504f (diff) | |
download | vyatta-cfg-system-527ebe536c85691d79e5d81cd4f1fae4746db8c8.tar.gz vyatta-cfg-system-527ebe536c85691d79e5d81cd4f1fae4746db8c8.zip |
Merge branch 'master' of http://phuket.vyatta.com/vyatta-cfg-system
-rw-r--r-- | Makefile.am | 11 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | debian/vyatta-cfg-system.postinst.in | 2 | ||||
-rwxr-xr-x | etc/init.d/vyatta-udev | 58 | ||||
-rwxr-xr-x[-rw-r--r--] | scripts/vyatta_net_name | 13 |
5 files changed, 76 insertions, 10 deletions
diff --git a/Makefile.am b/Makefile.am index f893bf13..2d109577 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,8 @@ -cfgdir = $(datadir)/vyatta-cfg/templates -share_perl5dir = $(datarootdir)/perl5 -libudevdir = /lib/udev -etcudevdir = /etc/udev +cfgdir = $(datadir)/vyatta-cfg/templates +share_perl5dir = $(datarootdir)/perl5 +libudevdir = /lib/udev +etcudevdir = /etc/udev +initddir = /etc/init.d bin_SCRIPTS = sbin_SCRIPTS = @@ -39,6 +40,8 @@ sysconf_DATA += sysconf/config.boot.default libudev_SCRIPTS = scripts/vyatta_net_name etcudev_DATA = sysconf/vyatta-net.rules +initd_SCRIPTS = etc/init.d/vyatta-udev + cpiop = find . ! -regex '\(.*~\|.*\.bak\|.*\.swp\|.*\#.*\#\)' -print0 | \ cpio -0pd diff --git a/debian/control b/debian/control index 19f15004..d950155d 100644 --- a/debian/control +++ b/debian/control @@ -12,7 +12,7 @@ Depends: bash (>= 3.1), perl (>= 5.8.8), procps (>= 1:3.2.7-3), coreutils (>= 5.97-5.3), - vyatta-cfg, sysv-rc, ifrename, ntp, sysklogd, busybox, ssh, whois, sudo, + vyatta-cfg, sysv-rc, ntp, sysklogd, busybox, ssh, whois, sudo, snmpd, keepalived, vyatta-bash, bridge-utils Suggests: util-linux (>= 2.13-5), net-tools, diff --git a/debian/vyatta-cfg-system.postinst.in b/debian/vyatta-cfg-system.postinst.in index 13ba6dc6..b747b786 100644 --- a/debian/vyatta-cfg-system.postinst.in +++ b/debian/vyatta-cfg-system.postinst.in @@ -22,6 +22,8 @@ esac ln -sf ../vyatta-net.rules /etc/udev/rules.d/$vyatta_net_rules +update-rc.d vyatta-udev start 21 S . + if [ "$sysconfdir" != "/etc" ]; then # for "admin" level (FIXME) sed -i 's/^# %sudo ALL=NOPASSWD: ALL/%sudo ALL=NOPASSWD: ALL/' /etc/sudoers diff --git a/etc/init.d/vyatta-udev b/etc/init.d/vyatta-udev new file mode 100755 index 00000000..5c2c1d37 --- /dev/null +++ b/etc/init.d/vyatta-udev @@ -0,0 +1,58 @@ +#!/bin/bash +### BEGIN INIT INFO +# Provides: vyatta-udev +# Required-Start: udev module-init-tools +# Required-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: Trigger udev net subsystem to process interface renaming +### END INIT INFO +# **** License **** +# Version: VPL 1.0 +# +# The contents of this file are subject to the Vyatta Public License +# Version 1.0 ("License"); you may not use this file except in +# compliance with the License. You may obtain a copy of the License at +# http://www.vyatta.com/vpl +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +# the License for the specific language governing rights and limitations +# under the License. +# +# This code was originally developed by Vyatta, Inc. +# Portions created by Vyatta are Copyright (C) 2007 Vyatta, Inc. +# All Rights Reserved. +# +# Author: Tom Grennan <tgrennan@vyatta.com> +# **** End License **** + +. /lib/lsb/init-functions + +: ${vyatta_env:=/etc/default/vyatta} +source $vyatta_env + +declare progname=${0##*/} +declare action=$1; shift + +start () +{ + log_action_begin_msg "Trigger rename of network interfaces" + udevtrigger --subsystem-match=net + udevsettle + log_action_end_msg $? +} + +case "$action" in + start) start ;; + stop|restart|force-reload) true ;; + *) log_failure_msg "usage: $progname [ start|stop|restart ]" ; + false ;; +esac + +exit $? + +# Local Variables: +# mode: shell-script +# sh-indentation: 4 +# End: diff --git a/scripts/vyatta_net_name b/scripts/vyatta_net_name index 5cc1f4c5..43c71c1d 100644..100755 --- a/scripts/vyatta_net_name +++ b/scripts/vyatta_net_name @@ -108,7 +108,8 @@ for name_hwid in ${cfg_net_hwid[@]} ; do if [ "$hwid" == "$attr_address" ] ; then # we mod the config file interface sub-clock in case it is missing # "link-detect" - ${vyatta_sbindir}/mod_bootfile_eth_hwid $BOOTFILE $name $attr_address + [[ "$BOOTFILE" != *test_* ]] && \ + ${vyatta_sbindir}/mod_bootfile_eth_hwid $BOOTFILE $name $attr_address echo $name exit 0 fi @@ -119,18 +120,17 @@ done [ -z "$kname" ] && \ exit 1 - # have not found matching hwid in config, see if we can use kernel name if [ -z "$match" ] ; then # the kernel interface name isnot in config # so, we might as well use it name=$kname - ${vyatta_sbindir}/add_bootfile_eth_hwid $BOOTFILE $name $attr_address + cmd=add elif [ -z "${match#*=}" ] ; then # the config has this interface but the sub-block is missing the hwid # so again, we might as well use the kernel name name=$kname - ${vyatta_sbindir}/mod_bootfile_eth_hwid $BOOTFILE $name $attr_address + cmd=mod else # The device mac address is not in the config but the config # has another hwid associated with the device name. This @@ -139,9 +139,12 @@ else # Since this is non-deterministic, we make a new name. (( ethn = last_ethn + 1 )) name=eth$ethn - ${vyatta_sbindir}/add_bootfile_eth_hwid $BOOTFILE $name $attr_address + cmd=add fi +[[ "$BOOTFILE" != *test_* ]] && \ + ${vyatta_sbindir}/${cmd}_bootfile_eth_hwid $BOOTFILE $name $attr_address + echo $name # Local Variables: |