On Sat, Oct 8, 2022 at 10:55 AM Marcel Menzel <m...@mcl.gg> wrote:
>
> Hello List,
>
> after switching from radvd to systemd-networkd for router advertisements, I 
> noticed my Android device losing IPv6 connection after a while and not 
> displaying any IPv6 Addresses anymore in the network overview.
>
> I am aware with IPv6 issues on Android on certain vendors / ROMs, but after 
> trying to troubleshoot it, I noticed systemd-networkd not sending periodic 
> router advertisements into my network compared to radvd.
>
> In radvd, there's the MinRtrAdvInterval and MaxRtrAdvInterval config option, 
> whileas for systemd-networkd I wasn't able to find any of these options. 
> Trying to adjust timers for PreferredLifetimeSec, ValidLifetimeSec or 
> RouterLifetimeSec I still wasn't able to get networkd to send out periodic 
> RAs (either with the defaults or my own values).
>
> There will only be sent a router advertisement for client initiated router 
> solicitations, like with the rdisc6 tool. I confirmed this with radvdump and 
> tcpdump. As soon as I re-start radvd, IPv6 Adresses re-appear on my Android 
> device. Multicast snooping has been disabled on all of my bridges. My 
> sd-networkd .network config file for one bridge looks like this:
>
>     [Match]
>     Name=br0
>
>     [Network]
>     Address=fe80::1/64
>     Address=2a0f:85c1:beef:2031::/64
>     IPv6AcceptRA=false
>     IPv6SendRA=yes
>     IPv6PrivacyExtensions=no
>
>     [IPv6SendRA]
>     RouterLifetimeSec = 60
>     EmitDNS = yes
>     DNS = fd00:0:0:10::4
>     EmitDomains = no
>
>     [IPv6Prefix]
>     Prefix=2a0f:85c1:beef:2031::/64
>     PreferredLifetimeSec=60
>     ValidLifetimeSec=300
>
> Did I miss an option for enabling periodic RAs or isn't there simply a way to 
> achieve this?`

systemd-networkd sends periodic RAs on my home network. I am running
systemd-251.5.

The period is not directly configurable. It basically picks a random
number between 200 and 600 seconds by default. However, this time can
be reduced to as little as 4 seconds by setting RouterLifetimeSec to
some low value.

I have IPv6SendRA enabled directly on an ethernet interface; I wonder
if there is some conflict with trying to enable it on a bridge.
Perhaps you need to set the proper scope for your manually assigned
link-local address? Something like:

[Address]
Address=fe80::1/64
Scope=link

Reply via email to