summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2022-08-01 13:19:53 +0000
committerViacheslav Hletenko <v.gletenko@vyos.io>2022-08-01 14:22:42 +0000
commit29b0ee30bf2622a40ca3d17e3f6b9e94e5b62072 (patch)
tree12064fc7950be4c1030e1666b3201425d8a976e8
parentab84f1f3757bb82c3ddf95143c014cdb3d997977 (diff)
downloadvyos-1x-29b0ee30bf2622a40ca3d17e3f6b9e94e5b62072.tar.gz
vyos-1x-29b0ee30bf2622a40ca3d17e3f6b9e94e5b62072.zip
mtu: T4572: Add DHCP-option MTU to get values from DHCP-server
Ability to get MTU from DHCP-server and don't touch it per any interface change if interface 'dhcp-options mtu' is configured
-rw-r--r--interface-definitions/include/interface/dhcp-options.xml.i6
-rw-r--r--python/vyos/ifconfig/interface.py2
2 files changed, 7 insertions, 1 deletions
diff --git a/interface-definitions/include/interface/dhcp-options.xml.i b/interface-definitions/include/interface/dhcp-options.xml.i
index 914b60503..2ed5fd403 100644
--- a/interface-definitions/include/interface/dhcp-options.xml.i
+++ b/interface-definitions/include/interface/dhcp-options.xml.i
@@ -14,6 +14,12 @@
<help>Override system host-name sent to DHCP server</help>
</properties>
</leafNode>
+ <leafNode name="mtu">
+ <properties>
+ <help>Use MTU value from DHCP server - ignore interface setting</help>
+ <valueless/>
+ </properties>
+ </leafNode>
<leafNode name="vendor-class-id">
<properties>
<help>Identify the vendor client type to the DHCP server</help>
diff --git a/python/vyos/ifconfig/interface.py b/python/vyos/ifconfig/interface.py
index 555494f80..c50ead89f 100644
--- a/python/vyos/ifconfig/interface.py
+++ b/python/vyos/ifconfig/interface.py
@@ -1535,7 +1535,7 @@ class Interface(Control):
# before mangling any IPv6 option. If MTU is less then 1280 IPv6 will be
# automatically disabled by the kernel. Also MTU must be increased before
# configuring any IPv6 address on the interface.
- if 'mtu' in config:
+ if 'mtu' in config and dict_search('dhcp_options.mtu', config) == None:
self.set_mtu(config.get('mtu'))
# Configure MSS value for IPv6 TCP connections