aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorHåkon Solbjørg <hakon@solbj.org>2023-04-06 21:39:01 +0200
committerHåkon Solbjørg <hakon@solbj.org>2023-04-06 21:39:01 +0200
commitffb757bc51d6095335b7d46e363381c1e80e5cb3 (patch)
tree1569449551fb5dae10f17c4b50d54db51caf75a7 /tools
parentffe7b78ebcba7c06effe6860dc977855d8296801 (diff)
fix(netbox2gondul): Don't (try to) send non-global IPv6 addresses to Gondul
Diffstat (limited to 'tools')
-rw-r--r--tools/netbox/scripts/netbox2gondul/netbox2gondul.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/netbox/scripts/netbox2gondul/netbox2gondul.py b/tools/netbox/scripts/netbox2gondul/netbox2gondul.py
index 64d57d9..c78110f 100644
--- a/tools/netbox/scripts/netbox2gondul/netbox2gondul.py
+++ b/tools/netbox/scripts/netbox2gondul/netbox2gondul.py
@@ -7,6 +7,7 @@ from django.utils.text import slugify
from dcim.choices import DeviceStatusChoices, InterfaceModeChoices, InterfaceTypeChoices, SiteStatusChoices
from dcim.models import Cable, CableTermination, Device, DeviceRole, DeviceType, Interface, Manufacturer, Site
from extras.scripts import *
+from ipaddress import IPv6Address
from ipam.models import IPAddress, Prefix, VLAN
from ipam.lookups import NetHostContained
@@ -243,11 +244,11 @@ class Netbox2Gondul(Script):
continue
prefix_v6: Prefix = None
- if device.primary_ip6:
+ if device.primary_ip6 and IPv6Address(str(device.primary_ip6)).is_global:
prefix_v6 = Prefix.objects.get(NetHostContained(F('prefix'), str(device.primary_ip6)))
vlan = prefix_v6.vlan
else:
- self.log_warning(f'Device <a href="{device.get_absolute_url()}">{device.name}</a> is missing primary IPv6 address. Skipping.')
+ self.log_warning(f'Device <a href="{device.get_absolute_url()}">{device.name}</a> is missing global primary IPv6 address. Skipping.')
continue
if not vlan: