diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2020-12-14 11:18:04 -0600 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2020-12-14 11:18:04 -0600 |
commit | 5928e8ee8dc341ace36a3bfecbeceae74d5ea392 (patch) | |
tree | 6d785488ad1bfe52e146a24764e569fd3ddb7b95 | |
parent | 0f9d52f18cc80d9a5aae8d08a28d65254291b4ac (diff) | |
download | netconfapk-5928e8ee8dc341ace36a3bfecbeceae74d5ea392.tar.gz netconfapk-5928e8ee8dc341ace36a3bfecbeceae74d5ea392.tar.bz2 netconfapk-5928e8ee8dc341ace36a3bfecbeceae74d5ea392.tar.xz netconfapk-5928e8ee8dc341ace36a3bfecbeceae74d5ea392.zip |
ietf-ip: 169.254/16 addrs not static are random (source: YANG)
-rw-r--r-- | ncserver/module/ip.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ncserver/module/ip.py b/ncserver/module/ip.py index a7f645c..0f3eff1 100644 --- a/ncserver/module/ip.py +++ b/ncserver/module/ip.py @@ -200,6 +200,7 @@ def operational(node): # IPv4 ipv4 = _add_ipv4(iface, nmsa.curr_param) + apipa_net = ipaddress.IPv4Network("169.254.0.0/16") for addr in addrs: if not isinstance(addr, ipaddress.IPv4Interface): continue @@ -213,6 +214,8 @@ def operational(node): conf = "{a}/{p}".format(a=str(addr.ip), p=addr.network.prefixlen) if conf in nmsa.list_addresses(name): origin = "static" + elif addr in apipa_net: + origin = "random" addr_node.append(util.leaf_elm('ip:origin', origin)) # IPv6 ipv6 = _add_ipv6(iface, nmsa.curr_param) |