summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2012-01-19 19:04:24 -0800
committerStephen Hemminger <shemminger@vyatta.com>2012-01-19 19:04:24 -0800
commit501a4c7fd2ce8af909e553894ee3f1956e29a91c (patch)
treedd935ae13dc3ae2c34c5a168d09981d22879c2a4
parentfdf34bda65a33229f780a229a05fd300ff1250c5 (diff)
downloadvyatta-cfg-system-501a4c7fd2ce8af909e553894ee3f1956e29a91c.tar.gz
vyatta-cfg-system-501a4c7fd2ce8af909e553894ee3f1956e29a91c.zip
Enforce length restriction on interface description
Bug 7730 Kernel limit on interface description (ifalias) is 256 characters.
-rw-r--r--templates/interfaces/bonding/node.tag/description/node.def4
-rw-r--r--templates/interfaces/bonding/node.tag/vif/node.tag/description/node.def4
-rw-r--r--templates/interfaces/bonding/node.tag/vif/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def4
-rw-r--r--templates/interfaces/bonding/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def4
-rw-r--r--templates/interfaces/bridge/node.tag/description/node.def4
-rw-r--r--templates/interfaces/ethernet/node.tag/description/node.def4
-rw-r--r--templates/interfaces/ethernet/node.tag/vif/node.tag/description/node.def4
-rw-r--r--templates/interfaces/ethernet/node.tag/vif/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def4
-rw-r--r--templates/interfaces/ethernet/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def4
-rw-r--r--templates/interfaces/loopback/node.tag/description/node.def4
-rw-r--r--templates/interfaces/pseudo-ethernet/node.tag/description/node.def4
-rw-r--r--templates/interfaces/pseudo-ethernet/node.tag/vif/node.tag/description/node.def4
-rw-r--r--templates/interfaces/tunnel/node.tag/description/node.def4
13 files changed, 52 insertions, 0 deletions
diff --git a/templates/interfaces/bonding/node.tag/description/node.def b/templates/interfaces/bonding/node.tag/description/node.def
index e4807d2f..c6d2789d 100644
--- a/templates/interfaces/bonding/node.tag/description/node.def
+++ b/templates/interfaces/bonding/node.tag/description/node.def
@@ -1,4 +1,8 @@
type: txt
help: Description
+
+syntax:expression: pattern $VAR(@) "^.{1,256}$" \
+ ; "interface description is too long (limit 256 characters)"
+
update: sudo sh -c "echo \"$VAR(@)\" >/sys/class/net/$VAR(../@)/ifalias"
delete: sudo sh -c "echo '' >/sys/class/net/$VAR(../@)/ifalias"
diff --git a/templates/interfaces/bonding/node.tag/vif/node.tag/description/node.def b/templates/interfaces/bonding/node.tag/vif/node.tag/description/node.def
index ce6c5fd0..a0b29f05 100644
--- a/templates/interfaces/bonding/node.tag/vif/node.tag/description/node.def
+++ b/templates/interfaces/bonding/node.tag/vif/node.tag/description/node.def
@@ -1,4 +1,8 @@
type: txt
help: Description
+
+syntax:expression: pattern $VAR(@) "^.{1,256}$" \
+ ; "interface description is too long (limit 256 characters)"
+
update: sudo sh -c "echo \"$VAR(@)\" >/sys/class/net/$VAR(../../@).$VAR(../@)/ifalias"
delete: sudo sh -c "echo '' >/sys/class/net/$VAR(../../@).$VAR(../@)/ifalias"
diff --git a/templates/interfaces/bonding/node.tag/vif/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def b/templates/interfaces/bonding/node.tag/vif/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def
index 7d3ab379..a0f78074 100644
--- a/templates/interfaces/bonding/node.tag/vif/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def
+++ b/templates/interfaces/bonding/node.tag/vif/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def
@@ -1,5 +1,9 @@
priority: 820 # after vrrp
type: txt
+
+syntax:expression: pattern $VAR(@) "^.{1,256}$" \
+ ; "interface description is too long (limit 256 characters)"
+
help: Description for this interface
update: sudo sh -c "echo \"$VAR(@)\" >/sys/class/net/$VAR(../../../../../@).$VAR(../../../../@)v$VAR(../../@)/ifalias"
delete: sudo sh -c "echo '' >/sys/class/net/$VAR(../../../../../@).$VAR(../../../../@)v$VAR(../../@)/ifalias"
diff --git a/templates/interfaces/bonding/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def b/templates/interfaces/bonding/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def
index 75400c58..df48a57b 100644
--- a/templates/interfaces/bonding/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def
+++ b/templates/interfaces/bonding/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def
@@ -1,5 +1,9 @@
priority: 820 # after vrrp
type: txt
+
+syntax:expression: pattern $VAR(@) "^.{1,256}$" \
+ ; "interface description is too long (limit 256 characters)"
+
help: Description for this interface
update: sudo sh -c "echo \"$VAR(@)\" >/sys/class/net/$VAR(../../../../@)v$VAR(../../@)/ifalias"
delete: sudo sh -c "echo '' >/sys/class/net/$VAR(../../../../@)v$VAR(../../@)/ifalias"
diff --git a/templates/interfaces/bridge/node.tag/description/node.def b/templates/interfaces/bridge/node.tag/description/node.def
index e4807d2f..c6d2789d 100644
--- a/templates/interfaces/bridge/node.tag/description/node.def
+++ b/templates/interfaces/bridge/node.tag/description/node.def
@@ -1,4 +1,8 @@
type: txt
help: Description
+
+syntax:expression: pattern $VAR(@) "^.{1,256}$" \
+ ; "interface description is too long (limit 256 characters)"
+
update: sudo sh -c "echo \"$VAR(@)\" >/sys/class/net/$VAR(../@)/ifalias"
delete: sudo sh -c "echo '' >/sys/class/net/$VAR(../@)/ifalias"
diff --git a/templates/interfaces/ethernet/node.tag/description/node.def b/templates/interfaces/ethernet/node.tag/description/node.def
index e4807d2f..c6d2789d 100644
--- a/templates/interfaces/ethernet/node.tag/description/node.def
+++ b/templates/interfaces/ethernet/node.tag/description/node.def
@@ -1,4 +1,8 @@
type: txt
help: Description
+
+syntax:expression: pattern $VAR(@) "^.{1,256}$" \
+ ; "interface description is too long (limit 256 characters)"
+
update: sudo sh -c "echo \"$VAR(@)\" >/sys/class/net/$VAR(../@)/ifalias"
delete: sudo sh -c "echo '' >/sys/class/net/$VAR(../@)/ifalias"
diff --git a/templates/interfaces/ethernet/node.tag/vif/node.tag/description/node.def b/templates/interfaces/ethernet/node.tag/vif/node.tag/description/node.def
index ce6c5fd0..a0b29f05 100644
--- a/templates/interfaces/ethernet/node.tag/vif/node.tag/description/node.def
+++ b/templates/interfaces/ethernet/node.tag/vif/node.tag/description/node.def
@@ -1,4 +1,8 @@
type: txt
help: Description
+
+syntax:expression: pattern $VAR(@) "^.{1,256}$" \
+ ; "interface description is too long (limit 256 characters)"
+
update: sudo sh -c "echo \"$VAR(@)\" >/sys/class/net/$VAR(../../@).$VAR(../@)/ifalias"
delete: sudo sh -c "echo '' >/sys/class/net/$VAR(../../@).$VAR(../@)/ifalias"
diff --git a/templates/interfaces/ethernet/node.tag/vif/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def b/templates/interfaces/ethernet/node.tag/vif/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def
index 7d3ab379..a0f78074 100644
--- a/templates/interfaces/ethernet/node.tag/vif/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def
+++ b/templates/interfaces/ethernet/node.tag/vif/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def
@@ -1,5 +1,9 @@
priority: 820 # after vrrp
type: txt
+
+syntax:expression: pattern $VAR(@) "^.{1,256}$" \
+ ; "interface description is too long (limit 256 characters)"
+
help: Description for this interface
update: sudo sh -c "echo \"$VAR(@)\" >/sys/class/net/$VAR(../../../../../@).$VAR(../../../../@)v$VAR(../../@)/ifalias"
delete: sudo sh -c "echo '' >/sys/class/net/$VAR(../../../../../@).$VAR(../../../../@)v$VAR(../../@)/ifalias"
diff --git a/templates/interfaces/ethernet/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def b/templates/interfaces/ethernet/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def
index 75400c58..df48a57b 100644
--- a/templates/interfaces/ethernet/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def
+++ b/templates/interfaces/ethernet/node.tag/vrrp/vrrp-group/node.tag/interface/description/node.def
@@ -1,5 +1,9 @@
priority: 820 # after vrrp
type: txt
+
+syntax:expression: pattern $VAR(@) "^.{1,256}$" \
+ ; "interface description is too long (limit 256 characters)"
+
help: Description for this interface
update: sudo sh -c "echo \"$VAR(@)\" >/sys/class/net/$VAR(../../../../@)v$VAR(../../@)/ifalias"
delete: sudo sh -c "echo '' >/sys/class/net/$VAR(../../../../@)v$VAR(../../@)/ifalias"
diff --git a/templates/interfaces/loopback/node.tag/description/node.def b/templates/interfaces/loopback/node.tag/description/node.def
index e4807d2f..c6d2789d 100644
--- a/templates/interfaces/loopback/node.tag/description/node.def
+++ b/templates/interfaces/loopback/node.tag/description/node.def
@@ -1,4 +1,8 @@
type: txt
help: Description
+
+syntax:expression: pattern $VAR(@) "^.{1,256}$" \
+ ; "interface description is too long (limit 256 characters)"
+
update: sudo sh -c "echo \"$VAR(@)\" >/sys/class/net/$VAR(../@)/ifalias"
delete: sudo sh -c "echo '' >/sys/class/net/$VAR(../@)/ifalias"
diff --git a/templates/interfaces/pseudo-ethernet/node.tag/description/node.def b/templates/interfaces/pseudo-ethernet/node.tag/description/node.def
index e2a1534b..e57584a8 100644
--- a/templates/interfaces/pseudo-ethernet/node.tag/description/node.def
+++ b/templates/interfaces/pseudo-ethernet/node.tag/description/node.def
@@ -1,4 +1,8 @@
type: txt
help: Description for this interface
+
+syntax:expression: pattern $VAR(@) "^.{1,256}$" \
+ ; "interface description is too long (limit 256 characters)"
+
update: sudo sh -c "echo \"$VAR(@)\" >/sys/class/net/$VAR(../@)/ifalias"
delete: sudo sh -c "echo '' >/sys/class/net/$VAR(../@)/ifalias"
diff --git a/templates/interfaces/pseudo-ethernet/node.tag/vif/node.tag/description/node.def b/templates/interfaces/pseudo-ethernet/node.tag/vif/node.tag/description/node.def
index ce6c5fd0..a0b29f05 100644
--- a/templates/interfaces/pseudo-ethernet/node.tag/vif/node.tag/description/node.def
+++ b/templates/interfaces/pseudo-ethernet/node.tag/vif/node.tag/description/node.def
@@ -1,4 +1,8 @@
type: txt
help: Description
+
+syntax:expression: pattern $VAR(@) "^.{1,256}$" \
+ ; "interface description is too long (limit 256 characters)"
+
update: sudo sh -c "echo \"$VAR(@)\" >/sys/class/net/$VAR(../../@).$VAR(../@)/ifalias"
delete: sudo sh -c "echo '' >/sys/class/net/$VAR(../../@).$VAR(../@)/ifalias"
diff --git a/templates/interfaces/tunnel/node.tag/description/node.def b/templates/interfaces/tunnel/node.tag/description/node.def
index e4807d2f..c6d2789d 100644
--- a/templates/interfaces/tunnel/node.tag/description/node.def
+++ b/templates/interfaces/tunnel/node.tag/description/node.def
@@ -1,4 +1,8 @@
type: txt
help: Description
+
+syntax:expression: pattern $VAR(@) "^.{1,256}$" \
+ ; "interface description is too long (limit 256 characters)"
+
update: sudo sh -c "echo \"$VAR(@)\" >/sys/class/net/$VAR(../@)/ifalias"
delete: sudo sh -c "echo '' >/sys/class/net/$VAR(../@)/ifalias"