summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-03-30 21:32:47 +0100
committerGitHub <noreply@github.com>2024-03-30 21:32:47 +0100
commit252d03d6e419aae14ae75caed38d1b1001c916a2 (patch)
tree750fad15556acda317c8f6381269db1fc74c0ada /python
parent89a6299156b86ac838462fd60af196dcb0d8877c (diff)
parent0d82dfa3725a23969fd6ae02b76b135a29be6df3 (diff)
downloadvyos-1x-252d03d6e419aae14ae75caed38d1b1001c916a2.tar.gz
vyos-1x-252d03d6e419aae14ae75caed38d1b1001c916a2.zip
Merge pull request #3195 from HollyGurza/T4718-current
dhcp-server: T4718: Listen-address is not commit if the ip address is on the interface with vrf
Diffstat (limited to 'python')
-rw-r--r--python/vyos/template.py2
-rw-r--r--python/vyos/utils/network.py4
2 files changed, 3 insertions, 3 deletions
diff --git a/python/vyos/template.py b/python/vyos/template.py
index 392322d46..1aa9ace8b 100644
--- a/python/vyos/template.py
+++ b/python/vyos/template.py
@@ -807,7 +807,7 @@ def kea_address_json(addresses):
out = []
for address in addresses:
- ifname = is_addr_assigned(address, return_ifname=True)
+ ifname = is_addr_assigned(address, return_ifname=True, include_vrf=True)
if not ifname:
continue
diff --git a/python/vyos/utils/network.py b/python/vyos/utils/network.py
index cac59475d..829124b57 100644
--- a/python/vyos/utils/network.py
+++ b/python/vyos/utils/network.py
@@ -310,7 +310,7 @@ def is_ipv6_link_local(addr):
return False
-def is_addr_assigned(ip_address, vrf=None, return_ifname=False) -> bool | str:
+def is_addr_assigned(ip_address, vrf=None, return_ifname=False, include_vrf=False) -> bool | str:
""" Verify if the given IPv4/IPv6 address is assigned to any interface """
from netifaces import interfaces
from vyos.utils.network import get_interface_config
@@ -321,7 +321,7 @@ def is_addr_assigned(ip_address, vrf=None, return_ifname=False) -> bool | str:
# case there is no need to proceed with this data set - continue loop
# with next element
tmp = get_interface_config(interface)
- if dict_search('master', tmp) != vrf:
+ if dict_search('master', tmp) != vrf and not include_vrf:
continue
if is_intf_addr_assigned(interface, ip_address):