summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2011-08-11 14:56:19 -0700
committerStephen Hemminger <shemminger@vyatta.com>2011-08-11 14:56:19 -0700
commitad492666069444a9ebc0c8fdf115375acf064c3f (patch)
treeec13fee1d27ef4300035ea69db8d4b36a40c4cf1
parentf07bf374d762d5f67b2fbad6b8e58ceec2057193 (diff)
downloadvyatta-cfg-quagga-ad492666069444a9ebc0c8fdf115375acf064c3f.tar.gz
vyatta-cfg-quagga-ad492666069444a9ebc0c8fdf115375acf064c3f.zip
Don't bring ethernet device up if it is disabled
If ethernet (or pseudo) is disabled, don't bounce link.
-rw-r--r--templates/interfaces/ethernet/node.def4
-rw-r--r--templates/interfaces/pseudo-ethernet/node.def7
2 files changed, 9 insertions, 2 deletions
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: <pethN>; 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