From 7b6bd34e06ed9852e6c4b8f7d142b9e936278002 Mon Sep 17 00:00:00 2001
From: Emil Renner Berthing <esmil@labitat.dk>
Date: Fri, 30 Nov 2018 21:06:31 +0100
Subject: space_server: use systemd-network for RAs

..rather radvd
---
 roles/space_server/files/networkd/10-lan11.network | 14 +++-
 roles/space_server/files/networkd/10-lan12.network | 14 +++-
 roles/space_server/files/networkd/10-lan13.network | 14 +++-
 roles/space_server/files/networkd/10-lan14.network | 14 +++-
 roles/space_server/files/networkd/10-lan15.network | 23 +++++-
 roles/space_server/files/radvd.conf                | 94 ----------------------
 roles/space_server/tasks/main.yml                  |  2 -
 roles/space_server/tasks/radvd.yml                 | 25 ------
 roles/space_server/vars/main.yml                   |  1 -
 9 files changed, 73 insertions(+), 128 deletions(-)
 delete mode 100644 roles/space_server/files/radvd.conf
 delete mode 100644 roles/space_server/tasks/radvd.yml

diff --git a/roles/space_server/files/networkd/10-lan11.network b/roles/space_server/files/networkd/10-lan11.network
index 88d714f..52c2359 100644
--- a/roles/space_server/files/networkd/10-lan11.network
+++ b/roles/space_server/files/networkd/10-lan11.network
@@ -4,10 +4,10 @@ Name=lan11
 [Network]
 DHCP=no
 IPv6AcceptRA=no
-LinkLocalAddressing=no
 Address=10.42.1.1/24
 #Address=2a01:4262:1ab:b::1/64
 Address=fe80::1/64
+IPv6PrefixDelegation=static
 IPForward=yes
 LLMNR=yes
 MulticastDNS=yes
@@ -17,3 +17,15 @@ EmitLLDP=yes
 [Route]
 Destination=2a01:4262:1ab:b::/64
 PreferredSource=2a01:4262:1ab::
+
+[IPv6PrefixDelegation]
+RouterLifetimeSec=14400
+RouterPreference=medium
+EmitDNS=yes
+DNS=2a01:4262:1ab::
+DNSLifetimeSec=14400
+
+[IPv6Prefix]
+Prefix=2a01:4262:1ab:b::/64
+ValidLifetimeSec=86400
+PreferredLifetimeSec=14400
diff --git a/roles/space_server/files/networkd/10-lan12.network b/roles/space_server/files/networkd/10-lan12.network
index 7f48f5b..e35b8db 100644
--- a/roles/space_server/files/networkd/10-lan12.network
+++ b/roles/space_server/files/networkd/10-lan12.network
@@ -4,10 +4,10 @@ Name=lan12
 [Network]
 DHCP=no
 IPv6AcceptRA=no
-LinkLocalAddressing=no
 Address=10.42.2.1/24
 #Address=2a01:4262:1ab:c::1/64
 Address=fe80::1/64
+IPv6PrefixDelegation=static
 IPForward=yes
 LLMNR=yes
 MulticastDNS=yes
@@ -17,3 +17,15 @@ EmitLLDP=yes
 [Route]
 Destination=2a01:4262:1ab:c::/64
 PreferredSource=2a01:4262:1ab::
+
+[IPv6PrefixDelegation]
+RouterLifetimeSec=14400
+RouterPreference=medium
+EmitDNS=yes
+DNS=2a01:4262:1ab::
+DNSLifetimeSec=14400
+
+[IPv6Prefix]
+Prefix=2a01:4262:1ab:c::/64
+ValidLifetimeSec=86400
+PreferredLifetimeSec=14400
diff --git a/roles/space_server/files/networkd/10-lan13.network b/roles/space_server/files/networkd/10-lan13.network
index 81e3911..26c8345 100644
--- a/roles/space_server/files/networkd/10-lan13.network
+++ b/roles/space_server/files/networkd/10-lan13.network
@@ -4,10 +4,10 @@ Name=lan13
 [Network]
 DHCP=no
 IPv6AcceptRA=no
-LinkLocalAddressing=no
 Address=10.42.3.1/24
 #Address=2a01:4262:1ab:d::1/64
 Address=fe80::1/64
+IPv6PrefixDelegation=static
 IPForward=yes
 LLMNR=yes
 MulticastDNS=yes
@@ -17,3 +17,15 @@ EmitLLDP=yes
 [Route]
 Destination=2a01:4262:1ab:d::/64
 PreferredSource=2a01:4262:1ab::
+
+[IPv6PrefixDelegation]
+RouterLifetimeSec=14400
+RouterPreference=medium
+EmitDNS=yes
+DNS=2a01:4262:1ab::
+DNSLifetimeSec=14400
+
+[IPv6Prefix]
+Prefix=2a01:4262:1ab:d::/64
+ValidLifetimeSec=86400
+PreferredLifetimeSec=14400
diff --git a/roles/space_server/files/networkd/10-lan14.network b/roles/space_server/files/networkd/10-lan14.network
index 5b40bbf..ece840c 100644
--- a/roles/space_server/files/networkd/10-lan14.network
+++ b/roles/space_server/files/networkd/10-lan14.network
@@ -4,10 +4,10 @@ Name=lan14
 [Network]
 DHCP=no
 IPv6AcceptRA=no
-LinkLocalAddressing=no
 Address=10.42.4.1/24
 #Address=2a01:4262:1ab:e::1/64
 Address=fe80::1/64
+IPv6PrefixDelegation=static
 IPForward=yes
 LLMNR=yes
 MulticastDNS=yes
@@ -17,3 +17,15 @@ EmitLLDP=yes
 [Route]
 Destination=2a01:4262:1ab:e::/64
 PreferredSource=2a01:4262:1ab::
+
+[IPv6PrefixDelegation]
+RouterLifetimeSec=14400
+RouterPreference=medium
+EmitDNS=yes
+DNS=2a01:4262:1ab::
+DNSLifetimeSec=14400
+
+[IPv6Prefix]
+Prefix=2a01:4262:1ab:e::/64
+ValidLifetimeSec=86400
+PreferredLifetimeSec=14400
diff --git a/roles/space_server/files/networkd/10-lan15.network b/roles/space_server/files/networkd/10-lan15.network
index e3c99dd..fbcfb87 100644
--- a/roles/space_server/files/networkd/10-lan15.network
+++ b/roles/space_server/files/networkd/10-lan15.network
@@ -4,11 +4,30 @@ Name=lan15
 [Network]
 DHCP=no
 IPv6AcceptRA=no
-LinkLocalAddressing=no
-Address=2a01:4262:1ab:f::1/64
+# systemd-networkd thinks link is degraded
+# unless it has an ipv4 address :(
+Address=10.42.5.1/24
+#Address=2a01:4262:1ab:f::1/64
 Address=fe80::1/64
+IPv6PrefixDelegation=static
 IPForward=ipv6
 LLMNR=yes
 MulticastDNS=yes
 LLDP=yes
 EmitLLDP=yes
+
+[Route]
+Destination=2a01:4262:1ab:f::/64
+PreferredSource=2a01:4262:1ab::
+
+[IPv6PrefixDelegation]
+RouterLifetimeSec=14400
+RouterPreference=medium
+EmitDNS=yes
+DNS=2a01:4262:1ab::
+DNSLifetimeSec=14400
+
+[IPv6Prefix]
+Prefix=2a01:4262:1ab:f::/64
+ValidLifetimeSec=86400
+PreferredLifetimeSec=14400
diff --git a/roles/space_server/files/radvd.conf b/roles/space_server/files/radvd.conf
deleted file mode 100644
index 8c48fbe..0000000
--- a/roles/space_server/files/radvd.conf
+++ /dev/null
@@ -1,94 +0,0 @@
-# Wired
-interface lan11 {
-	AdvSendAdvert on;
-	MinRtrAdvInterval 3;
-	MaxRtrAdvInterval 6;
-	AdvLinkMTU 1500;
-
-	prefix 2a01:4262:1ab:b::/64 {
-		AdvOnLink on;
-		AdvAutonomous on;
-		#AdvValidLifetime 86400;
-		#AdvPreferredLifetime 14400;
-	};
-
-	RDNSS 2a01:4262:1ab:: {
-		AdvRDNSSLifetime 14400;
-	};
-};
-
-# Private Wifi
-interface lan12 {
-	AdvSendAdvert on;
-	MinRtrAdvInterval 3;
-	MaxRtrAdvInterval 6;
-	AdvLinkMTU 1500;
-
-	prefix 2a01:4262:1ab:c::/64 {
-		AdvOnLink on;
-		AdvAutonomous on;
-		#AdvValidLifetime 86400;
-		#AdvPreferredLifetime 14400;
-	};
-
-	RDNSS 2a01:4262:1ab:: {
-		AdvRDNSSLifetime 14400;
-	};
-};
-
-# Free Wifi
-interface lan13 {
-	AdvSendAdvert on;
-	MinRtrAdvInterval 3;
-	MaxRtrAdvInterval 6;
-	AdvLinkMTU 1500;
-
-	prefix 2a01:4262:1ab:d::/64 {
-		AdvOnLink on;
-		AdvAutonomous on;
-		#AdvValidLifetime 86400;
-		#AdvPreferredLifetime 14400;
-	};
-
-	RDNSS 2a01:4262:1ab:: {
-		AdvRDNSSLifetime 14400;
-	};
-};
-
-# Password Protected Wifi
-interface lan14 {
-	AdvSendAdvert on;
-	MinRtrAdvInterval 3;
-	MaxRtrAdvInterval 6;
-	AdvLinkMTU 1500;
-
-	prefix 2a01:4262:1ab:e::/64 {
-		AdvOnLink on;
-		AdvAutonomous on;
-		#AdvValidLifetime 86400;
-		#AdvPreferredLifetime 14400;
-	};
-
-	RDNSS 2a01:4262:1ab:: {
-		AdvRDNSSLifetime 14400;
-	};
-};
-
-# NAT64 Wifi
-interface lan15 {
-	AdvSendAdvert on;
-	MinRtrAdvInterval 3;
-	MaxRtrAdvInterval 6;
-	AdvLinkMTU 1500;
-
-	prefix 2a01:4262:1ab:f::/64 {
-		AdvOnLink on;
-		AdvAutonomous on;
-		#AdvValidLifetime 86400;
-		#AdvPreferredLifetime 14400;
-	};
-
-	RDNSS 2a01:4262:1ab:: {
-		AdvRDNSSLifetime 14400;
-	};
-};
diff --git a/roles/space_server/tasks/main.yml b/roles/space_server/tasks/main.yml
index ba6e8ca..bc1b332 100644
--- a/roles/space_server/tasks/main.yml
+++ b/roles/space_server/tasks/main.yml
@@ -25,8 +25,6 @@
   tags: bird
 - import_tasks: dhcpd.yml
   tags: dhcpd
-- import_tasks: radvd.yml
-  tags: radvd
 - import_tasks: radius.yml
   tags: radius
   when: radius_passwords is defined
diff --git a/roles/space_server/tasks/radvd.yml b/roles/space_server/tasks/radvd.yml
deleted file mode 100644
index 2d831d1..0000000
--- a/roles/space_server/tasks/radvd.yml
+++ /dev/null
@@ -1,25 +0,0 @@
----
-- name: Configure radvd
-  copy:
-    dest: '/etc/radvd.conf'
-    src: radvd.conf
-    owner: root
-    group: root
-    mode: 0644
-  notify:
-  - restart radvd
-
-- name: Enable radvd service
-  systemd:
-    name: radvd.service
-    enabled: yes
-    masked: no
-    state: started
-  when: not chroot
-- name: '- when in chroot'
-  command: systemctl enable radvd.service
-  args:
-    creates: '/etc/systemd/system/multi-user.target.wants/radvd.service'
-  when: chroot
-
-# vim: set ts=2 sw=2 et:
diff --git a/roles/space_server/vars/main.yml b/roles/space_server/vars/main.yml
index cd9d18b..4b3fb14 100644
--- a/roles/space_server/vars/main.yml
+++ b/roles/space_server/vars/main.yml
@@ -33,7 +33,6 @@ dnf_packages:
   'bird': present
   'bird6': present
   'dhcp-server': present
-  'radvd': present
   'freeradius-python': present # pulls in radiusd
   'curl': present
   'diffutils': present
-- 
cgit v1.2.1