--- /dev/null
+#!/usr/bin/python3
+
+import ipaddress
+import subprocess
+import sys
+
+def get_ipv6_addrs():
+ ip_output = subprocess.check_output(['ip', '-o', '-6', 'addr', 'show'])
+ s = set()
+ for line in ip_output.decode().splitlines():
+ fields = line.split()
+ if len(fields) < 4:
+ continue
+ ipv6addr = ipaddress.IPv6Interface(fields[3])
+ if ipv6addr.is_global:
+ s.add(ipv6addr)
+ return s
+
+def get_default_v6_route():
+ ip_output = subprocess.check_output(['ip', '-o', '-6', 'route', 'show'])
+ s = set()
+ for line in ip_output.decode().splitlines():
+ fields = line.split()
+ if fields[0] == "default":
+ return line
+ return None
+
+ipv6addrs = get_ipv6_addrs()
+if len(ipv6addrs) == 0:
+ print("OK: No ipv6 interfaces")
+ sys.exit(0)
+
+v6route = get_default_v6_route()
+if v6route is None:
+ print("Warning: No ipv6 default route")
+ sys.exit(1)
+else:
+ print("OK:", v6route)
+ sys.exit(0)
+dsa-nagios-checks (116) UNRELEASED; urgency=medium
+
+ * Add dsa-check-ipv6-default-gw.
+
+ -- Peter Palfrader <weasel@debian.org> Sun, 11 Mar 2018 09:03:51 +0100
+
dsa-nagios-checks (115) unstable; urgency=medium
[ Julien Cristau ]