My bad. I had some over aggressive module hardening in play. Arch Linux ARM works perfectly if you don't break it

Specifically I had a file in /etc/modprobe.d containing the following line.
$this->bbcode_second_pass_code('', '
install llc /bin/true
')
Don't do that if you want to use VLANs

Original post below.
------------------------
Hi
I'm setting up a machine I'm planning to use as a router and I'd like to partition the internal network using VLANs. I'm using a Rock64 running the stock aarch64 kernel. The relevant parts of my configuration are as follows. There's just one VLAN in this configuration, I'll add the rest when I get it working. I've renamed the interface to int.
/etc/systemd/network/int.network
$this->bbcode_second_pass_code('', '
[Match]
Name=int
Type=ether
[Network]
Description=Internal network interface
ConfigureWithoutCarrier=yes
VLAN=int.dmz
LinkLocalAddressing=no
LLDP=no
EmitLLDP=no
IPv6AcceptRA=no
IPv6SendRA=no
')
/etc/systemd/network/int.dmz.netdev
$this->bbcode_second_pass_code('', '
[NetDev]
Name=int.dmz
Kind=vlan
[VLAN]
Id=1
')
/etc/systemd/network/int.dmz.network
$this->bbcode_second_pass_code('', '
[Match]
Name=int.dmz
Type=vlan
[Network]
Description=DMZ network
DHCP=no
[Address]
Address=192.168.1.1/24
')
It doesn't create the VLAN. Inspecting the log shows the following.
$this->bbcode_second_pass_code('', '
Feb 23 08:04:55 cerberus systemd-networkd[515]: int: Could not create stacked netdev: Unknown device type. Operation not supported
Feb 23 08:04:55 cerberus systemd-networkd[515]: int: Failed
')
Any ideas?