diff options
author | Christian Breunig <christian@breunig.cc> | 2024-03-10 12:50:35 +0100 |
---|---|---|
committer | Mergify <37929162+mergify[bot]@users.noreply.github.com> | 2024-03-10 14:18:20 +0000 |
commit | c70d6dec4f3a95845a7275a54cee5e7014dd3357 (patch) | |
tree | b14a16eacfc20d316ad63a87bf71e02e405dd1ca | |
parent | 6b52ad6d456e9e90cb983649b3ae43ac1c597f74 (diff) | |
download | vyos-1x-c70d6dec4f3a95845a7275a54cee5e7014dd3357.tar.gz vyos-1x-c70d6dec4f3a95845a7275a54cee5e7014dd3357.zip |
xml: T5738: lower maximum description to 255 characters
e.g. Linux Kernel only supports 255 and not 256 characters for the ifalias field.
(cherry picked from commit a72ededa0b29c25efaab52f2db170c34eba50248)
-rw-r--r-- | interface-definitions/include/generic-description.xml.i | 4 | ||||
-rw-r--r-- | smoketest/scripts/cli/base_interfaces_test.py | 16 |
2 files changed, 18 insertions, 2 deletions
diff --git a/interface-definitions/include/generic-description.xml.i b/interface-definitions/include/generic-description.xml.i index 63e5e174e..ffe037a01 100644 --- a/interface-definitions/include/generic-description.xml.i +++ b/interface-definitions/include/generic-description.xml.i @@ -7,9 +7,9 @@ <description>Description</description> </valueHelp> <constraint> - <regex>[[:ascii:]]{0,256}</regex> + <regex>[[:ascii:]]{1,255}</regex> </constraint> - <constraintErrorMessage>Description too long (limit 256 characters)</constraintErrorMessage> + <constraintErrorMessage>Description too long (limit 255 characters)</constraintErrorMessage> </properties> </leafNode> <!-- include end --> diff --git a/smoketest/scripts/cli/base_interfaces_test.py b/smoketest/scripts/cli/base_interfaces_test.py index a40b762a8..9b705c801 100644 --- a/smoketest/scripts/cli/base_interfaces_test.py +++ b/smoketest/scripts/cli/base_interfaces_test.py @@ -318,6 +318,22 @@ class BasicInterfaceTest: self.assertEqual(tmp, str()) self.assertEqual(Interface(intf).get_alias(), str()) + # Test maximum interface description lengt (255 characters) + test_string='abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789___' + for intf in self._interfaces: + + self.cli_set(self._base_path + [intf, 'description', test_string]) + for option in self._options.get(intf, []): + self.cli_set(self._base_path + [intf] + option.split()) + + self.cli_commit() + + # Validate interface description + for intf in self._interfaces: + tmp = read_file(f'/sys/class/net/{intf}/ifalias') + self.assertEqual(tmp, test_string) + self.assertEqual(Interface(intf).get_alias(), test_string) + def test_add_single_ip_address(self): addr = '192.0.2.0/31' for intf in self._interfaces: |