net.fail

A blog about building and running a larger network, with an IPv6-first mentality. And unrelated video/audio/tech-stuff.

Impressum

About Prefix delegation on L3 Switches

2018-07-20

While evaluating new switches for student dormitory networks, I decided it was time to try out Prefix delegation. We had already allocated a /56 for each tenant, and the only missing link was to hand them out. The relevant config on the router (ArubaOS-Switch) is:

As a positive aside, it was possible to run everything including firmware update via tftp on an ipv6-only network.

dhcpv6-relay

vlan 101
  name Room1
  ipv6 enable
  ipv6 address 2001:db8:c:101::1/64
  ipv6 address fe80::1 link-local
  ipv6 nd ra other-config-flag 
  ipv6 nd ra router-preference high
  ipv6 helper-address unicast 2001:db8:a::8

And the isc-dhcp-server config for handing out /60 to requesting clients:

subnet6 2001:db8:c:101::/64 {
	prefix6 2001:db8:d:1000:: 2001:db8:c:10f0:: /60;
}

Attaching an openwrt router to the hp switch resulted in the prefix being delegated, but not useable since no route was installed in the routing table. Thus far, I've not found any way to get the hp to inject the prefixes received by the dhcpv6-relay into it's routing table.

This itched my curiosity, and I tried it out on a Juniper Router. With the config snipped

forwarding-option {
	dhcp-relay {
		dhcpv6 {
			group test-clients {
				active-server-group test-v6;
				interface irb.101;
				interface irb.102;
			}
			server-group {
				test-v6 {
					2001:db8:a::8;
				}
			}
		}
	}
}

Lo and behold, it worked first try and installed the route into routing table.

There are also some domitories routed using a Mirkotik CCR. So what about RouterOS?
A quick try using dhcpv6-relay yielded the same result as on the hp, prefix got delegated, but the router did not install the route in it's routing-table. Since RouterOS also has a build-in dhcpv6-server I decided to give that a try. Using the config below worked.

/ipv6 pool add name=test-room1 prefix=2001:db8:c:1000::/56 prefix-length=60
/ipv6 dhcp-server add address-pool=test-room1 interface=test-room1 name=test-room1

Next up: Trying it out on a Whitebox Switch with CumulusLinux and PicOs. As for the ArubaOS Switch, I can only wait for tech-support to get back to me.