summaryrefslogtreecommitdiff
path: root/templates/interfaces/ethernet
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2010-11-22 10:32:04 -0800
committerStephen Hemminger <stephen.hemminger@vyatta.com>2010-11-22 11:14:18 -0800
commit39a799dac616edd4b42a1b4de2c861f248318e1f (patch)
tree821d778a77ff75015dba4936ca10652824224ef9 /templates/interfaces/ethernet
parentb17d21023482c752c490754a11450d4c41c83607 (diff)
downloadvyatta-cfg-quagga-39a799dac616edd4b42a1b4de2c861f248318e1f.tar.gz
vyatta-cfg-quagga-39a799dac616edd4b42a1b4de2c861f248318e1f.zip
Use script vyatta-address to set interface
Avoid the overhead of perl compilation of vyatta-interfaces for each address added. Handle the case of deleting address on deleted device cleanly. Clean up dhcpv6 script so it can be used on interfaces other than ethernet.
Diffstat (limited to 'templates/interfaces/ethernet')
-rw-r--r--templates/interfaces/ethernet/node.tag/address/node.def31
-rw-r--r--templates/interfaces/ethernet/node.tag/vif/node.tag/address/node.def4
2 files changed, 4 insertions, 31 deletions
diff --git a/templates/interfaces/ethernet/node.tag/address/node.def b/templates/interfaces/ethernet/node.tag/address/node.def
index c1bd8fc8..3cf32ef7 100644
--- a/templates/interfaces/ethernet/node.tag/address/node.def
+++ b/templates/interfaces/ethernet/node.tag/address/node.def
@@ -6,36 +6,9 @@ syntax:expression: exec "/opt/vyatta/sbin/valid_address $VAR(@)"
commit:expression: exec "/opt/vyatta/sbin/vyatta-interfaces.pl --valid-addr-commit $VAR(@@) --dev $VAR(../@)"
-create:
- ifname=$VAR(../@)
- param=$VAR(@)
- if [ "$param" = "dhcpv6" ]; then
- if [ -n "$VAR(../dhcpv6-options/parameters-only)" ]; then
- echo "parameters-only is set"
- arg1="--parameters-only"
- fi
- if [ -n "$VAR(../dhcpv6-options/temporary)" ]; then
- echo "temporary is set"
- arg2="--temporary"
- fi
+create: sudo /opt/vyatta/sbin/vyatta-address add $VAR(../@) $VAR(@)
- echo "Starting DHCPv6 client on ${ifname}..."
- sudo /opt/vyatta/sbin/vyatta-dhcpv6-client.pl --start \
- --ifname $ifname $arg1 $arg2
- else
- sudo /opt/vyatta/sbin/vyatta-interfaces.pl --eth-addr-update $VAR(@) --dev $VAR(../@)
- fi
-
-delete:
- ifname=$VAR(../@)
- param=$VAR(@)
- if [ "$param" = "dhcpv6" ]; then
- echo "Stopping DHCPv6 client on ${ifname}..."
- sudo /opt/vyatta/sbin/vyatta-dhcpv6-client.pl --stop --ifname \
- $ifname
- else
- sudo /opt/vyatta/sbin/vyatta-interfaces.pl --eth-addr-delete $VAR(@) --dev $VAR(../@)
- fi
+delete: sudo /opt/vyatta/sbin/vyatta-address delete $VAR(../@) $VAR(@)
allowed: echo "dhcp dhcpv6 <>"
diff --git a/templates/interfaces/ethernet/node.tag/vif/node.tag/address/node.def b/templates/interfaces/ethernet/node.tag/vif/node.tag/address/node.def
index 535fa6d2..5c37e92d 100644
--- a/templates/interfaces/ethernet/node.tag/vif/node.tag/address/node.def
+++ b/templates/interfaces/ethernet/node.tag/vif/node.tag/address/node.def
@@ -6,9 +6,9 @@ syntax:expression: exec "/opt/vyatta/sbin/valid_address $VAR(@)"
commit:expression: exec "/opt/vyatta/sbin/vyatta-interfaces.pl --valid-addr-commit $VAR(@@) --dev $VAR(../../@).$VAR(../@)"
-create:sudo /opt/vyatta/sbin/vyatta-interfaces.pl --eth-addr-update $VAR(@) --dev $VAR(../../@).$VAR(../@)
+create: sudo /opt/vyatta/sbin/vyatta-address add $VAR(../../@).$VAR(../@) $VAR(@)
-delete:sudo /opt/vyatta/sbin/vyatta-interfaces.pl --eth-addr-delete $VAR(@) --dev $VAR(../../@).$VAR(../@)
+delete: sudo /opt/vyatta/sbin/vyatta-address delete $VAR(../../@).$VAR(../@) $VAR(@)
allowed: echo "dhcp <>"