From ad492666069444a9ebc0c8fdf115375acf064c3f Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 11 Aug 2011 14:56:19 -0700 Subject: Don't bring ethernet device up if it is disabled If ethernet (or pseudo) is disabled, don't bounce link. --- templates/interfaces/ethernet/node.def | 4 +++- templates/interfaces/pseudo-ethernet/node.def | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'templates') diff --git a/templates/interfaces/ethernet/node.def b/templates/interfaces/ethernet/node.def index 426f8f87..45d6ec09 100644 --- a/templates/interfaces/ethernet/node.def +++ b/templates/interfaces/ethernet/node.def @@ -20,7 +20,9 @@ begin: rm -f /tmp/speed-duplex.$VAR(@) --set-mac "$VAR(mac/@)" fi -create: ip link set "$VAR(@)" up +create: if ! cli-shell-api exists interfaces ethernet $VAR(@) disable; + then ip link set $VAR(@) up + fi /opt/vyatta/sbin/vyatta-link-detect $VAR(@) on delete: [ -d /sys/class/net/$VAR(../@) ] || exit 0 diff --git a/templates/interfaces/pseudo-ethernet/node.def b/templates/interfaces/pseudo-ethernet/node.def index 5b0aaac9..4f8510f3 100644 --- a/templates/interfaces/pseudo-ethernet/node.def +++ b/templates/interfaces/pseudo-ethernet/node.def @@ -6,9 +6,14 @@ val_help: ; Pseudo Ethernet interface name syntax:expression: pattern $VAR(@) "^peth[0-9]+$" \ ; "name must be (peth0-peth999)" + commit:expression: $VAR(link) != "" ; "link device must be set for virtual ethernet $VAR(@)" + create: ip link add $VAR(@) link $VAR(link/@) type macvlan || exit 1 - ip link set $VAR(@) up + if ! cli-shell-api exists interfaces ethernet $VAR(@) disable; + then ip link set $VAR(@) up + fi /opt/vyatta/sbin/vyatta-link-detect $VAR(@) on + delete: ip link delete dev $VAR(@) type macvlan -- cgit v1.2.3