summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2019-10-08 21:39:45 +0200
committerChristian Poessinger <christian@poessinger.com>2019-10-09 17:19:04 +0200
commit2d3539f9dec19c0d5cec5bd962aaf9640a8cec23 (patch)
treee367413c11d8f522454352712a9446fe258adc84 /src
parentafc82770cce851da31267829f1726f85093d9d76 (diff)
downloadvyos-1x-2d3539f9dec19c0d5cec5bd962aaf9640a8cec23.tar.gz
vyos-1x-2d3539f9dec19c0d5cec5bd962aaf9640a8cec23.zip
T1430: add dhcp vendor-class-id client option
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/interface-bonding.py8
-rwxr-xr-xsrc/conf_mode/interface-bridge.py8
-rwxr-xr-xsrc/conf_mode/interface-ethernet.py11
3 files changed, 27 insertions, 0 deletions
diff --git a/src/conf_mode/interface-bonding.py b/src/conf_mode/interface-bonding.py
index 7caf9e0e8..49d2a05d4 100755
--- a/src/conf_mode/interface-bonding.py
+++ b/src/conf_mode/interface-bonding.py
@@ -34,6 +34,7 @@ default_config_data = {
'deleted': False,
'dhcp_client_id': '',
'dhcp_hostname': '',
+ 'dhcp_vendor_class_id': '',
'dhcpv6_prm_only': False,
'dhcpv6_temporary': False,
'disable': False,
@@ -164,6 +165,10 @@ def get_config():
if conf.exists('dhcp-options host-name'):
bond['dhcp_hostname'] = conf.return_value('dhcp-options host-name')
+ # DHCP client vendor identifier
+ if conf.exists('dhcp-options vendor-class-id'):
+ bond['dhcp_vendor_class_id'] = conf.return_value('dhcp-options vendor-class-id')
+
# DHCPv6 only acquire config parameters, no address
if conf.exists('dhcpv6-options parameters-only'):
bond['dhcpv6_prm_only'] = conf.return_value('dhcpv6-options parameters-only')
@@ -377,6 +382,9 @@ def apply(bond):
if bond['dhcp_hostname']:
opt['hostname'] = bond['dhcp_hostname']
+ if bond['dhcp_vendor_class_id']:
+ opt['vendor_class_id'] = bond['dhcp_vendor_class_id']
+
# store DHCP config dictionary - used later on when addresses
# are requested
b.set_dhcp_options(opt)
diff --git a/src/conf_mode/interface-bridge.py b/src/conf_mode/interface-bridge.py
index b2755547c..57ac98444 100755
--- a/src/conf_mode/interface-bridge.py
+++ b/src/conf_mode/interface-bridge.py
@@ -34,6 +34,7 @@ default_config_data = {
'deleted': False,
'dhcp_client_id': '',
'dhcp_hostname': '',
+ 'dhcp_vendor_class_id': '',
'dhcpv6_prm_only': False,
'dhcpv6_temporary': False,
'disable': False,
@@ -93,6 +94,10 @@ def get_config():
if conf.exists('dhcp-options host-name'):
bridge['dhcp_hostname'] = conf.return_value('dhcp-options host-name')
+ # DHCP client vendor identifier
+ if conf.exists('dhcp-options vendor-class-id'):
+ bridge['dhcp_vendor_class_id'] = conf.return_value('dhcp-options vendor-class-id')
+
# DHCPv6 only acquire config parameters, no address
if conf.exists('dhcpv6-options parameters-only'):
bridge['dhcpv6_prm_only'] = conf.return_value('dhcpv6-options parameters-only')
@@ -232,6 +237,9 @@ def apply(bridge):
if bridge['dhcp_hostname']:
opt['hostname'] = bridge['dhcp_hostname']
+ if bridge['dhcp_vendor_class_id']:
+ opt['vendor_class_id'] = bridge['dhcp_vendor_class_id']
+
# store DHCP config dictionary - used later on when addresses
# are requested
br.set_dhcp_options(opt)
diff --git a/src/conf_mode/interface-ethernet.py b/src/conf_mode/interface-ethernet.py
index 5f9b4d8b0..3cdc03ce5 100755
--- a/src/conf_mode/interface-ethernet.py
+++ b/src/conf_mode/interface-ethernet.py
@@ -31,6 +31,7 @@ default_config_data = {
'deleted': False,
'dhcp_client_id': '',
'dhcp_hostname': '',
+ 'dhcp_vendor_class_id': '',
'dhcpv6_prm_only': False,
'dhcpv6_temporary': False,
'disable': False,
@@ -75,6 +76,9 @@ def apply_vlan_config(vlan, config):
if config['dhcp_hostname']:
opt['hostname'] = config['dhcp_hostname']
+ if config['dhcp_vendor_class_id']:
+ opt['vendor_class_id'] = config['dhcp_vendor_class_id']
+
# store DHCP config dictionary - used later on when addresses
# are requested
vlan.set_dhcp_options(opt)
@@ -147,6 +151,10 @@ def get_config():
if conf.exists('dhcp-options host-name'):
eth['dhcp_hostname'] = conf.return_value('dhcp-options host-name')
+ # DHCP client vendor identifier
+ if conf.exists('dhcp-options vendor-class-id'):
+ eth['dhcp_vendor_class_id'] = conf.return_value('dhcp-options vendor-class-id')
+
# DHCPv6 only acquire config parameters, no address
if conf.exists('dhcpv6-options parameters-only'):
eth['dhcpv6_prm_only'] = conf.return_value('dhcpv6-options parameters-only')
@@ -295,6 +303,9 @@ def apply(eth):
if eth['dhcp_hostname']:
opt['hostname'] = eth['dhcp_hostname']
+ if eth['dhcp_vendor_class_id']:
+ opt['vendor_class_id'] = eth['dhcp_vendor_class_id']
+
# store DHCP config dictionary - used later on when addresses
# are requested
e.set_dhcp_options(opt)