Page MenuHomeVyOS Platform

IPv6 router-advert not working
Closed, ResolvedPublic

Description

I have no idea why this is not working. I ran tcpdump -n -i eth0 icmp6 on a machine for at least 30 minutes and no router-adverts were seen, just router-solicitation and neighbor packets.
The config file looks right, service is running, restarting the service has no effect (if it was a boot ordering issue it would).
Also, the help text on the 'service router-advert' node is wrong.

vyos@rt-home# sudo systemctl status radvd
● radvd.service - Router advertisement daemon for IPv6
   Loaded: loaded (/lib/systemd/system/radvd.service; disabled; vendor preset: enabled)
   Active: active (running) since Mon 2020-04-20 18:24:23 CEST; 3h 43min ago
     Docs: man:radvd(8)
 Main PID: 2574 (radvd)
    Tasks: 2 (limit: 542)
   Memory: 1.0M
   CGroup: /system.slice/radvd.service
           ├─2574 /usr/sbin/radvd --logmethod stderr_clean
           └─2575 /usr/sbin/radvd --logmethod stderr_clean

Apr 20 18:24:23 rt-home systemd[1]: Starting Router advertisement daemon for IPv6...
Apr 20 18:24:23 rt-home radvd[2572]: config file, /etc/radvd.conf, syntax ok
Apr 20 18:24:23 rt-home radvd[2573]: version 2.17 started
Apr 20 18:24:23 rt-home systemd[1]: Started Router advertisement daemon for IPv6.
Apr 20 18:24:36 rt-home systemd[1]: /lib/systemd/system/radvd.service:11: PIDFile= references path below legacy directory /var/run/, updating /var/run/radvd.pid → /run/radvd.pid; please update the unit f
Apr 20 18:24:39 rt-home systemd[1]: /lib/systemd/system/radvd.service:11: PIDFile= references path below legacy directory /var/run/, updating /var/run/radvd.pid → /run/radvd.pid; please update the unit f
[edit]
vyos@rt-home# sudo vi /etc/radvd.conf 
[edit]
vyos@rt-home# sudo systemctl reload radvd
[edit]
vyos@rt-home# sudo systemctl restart radvd
[edit]
vyos@rt-home# set service router-advert 
Possible completions:
+> interface    Interface to send DDNS updates for [REQUIRED]

      
[edit]
vyos@rt-home# set service router-advert interface br0 interval max 60
[edit]
vyos@rt-home# commit
[ service router-advert interface br0 interval max 60 ]


[ service router-advert ]


[edit]
vyos@rt-home# sudo systemctl status radvd
● radvd.service - Router advertisement daemon for IPv6
   Loaded: loaded (/lib/systemd/system/radvd.service; disabled; vendor preset: enabled)
   Active: active (running) since Mon 2020-04-20 22:16:09 CEST; 24s ago
     Docs: man:radvd(8)
  Process: 6882 ExecStartPre=/usr/sbin/radvd --logmethod stderr_clean --configtest (code=exited, status=0/SUCCESS)
  Process: 6884 ExecStart=/usr/sbin/radvd --logmethod stderr_clean (code=exited, status=0/SUCCESS)
 Main PID: 6885 (radvd)
    Tasks: 2 (limit: 542)
   Memory: 900.0K
   CGroup: /system.slice/radvd.service
           ├─6885 /usr/sbin/radvd --logmethod stderr_clean
           └─6886 /usr/sbin/radvd --logmethod stderr_clean

Apr 20 22:16:09 rt-home systemd[1]: Starting Router advertisement daemon for IPv6...
Apr 20 22:16:09 rt-home radvd[6882]: config file, /etc/radvd.conf, syntax ok
Apr 20 22:16:09 rt-home radvd[6884]: version 2.17 started
Apr 20 22:16:09 rt-home systemd[1]: Started Router advertisement daemon for IPv6.
[edit]
vyos@rt-home# show service router-advert 
 interface br0 {
     hop-limit 64
     interval {
         max 60
     }
     managed-flag
     prefix 2001:db8::/64 {
         valid-lifetime 2592000
     }
     reachable-time 0
     retrans-timer 0
 }
[edit]
vyos@rt-home# sudo cat /etc/radvd.conf 
### Autogenerated by service-router-advert.py ###

interface br0 {
    IgnoreIfMissing on;
    AdvDefaultPreference medium;
    AdvManagedFlag on;
    MaxRtrAdvInterval 60;
    AdvReachableTime 0;
    AdvIntervalOpt on;
    AdvSendAdvert on;
    AdvOtherConfigFlag off;
    AdvRetransTimer 0;
    AdvCurHopLimit 64;
    prefix 2001:db8::/64 {
        AdvAutonomous on;
        AdvValidLifetime 2592000;
        AdvOnLink on;
        AdvPreferredLifetime 14400;
    };
};
[edit]
vyos@rt-home# show interfaces bridge br0 
 address 192.0.2.1/24
 address 2001:db8::1/64
 aging 300
 description LAN
 firewall {
     local {
         name lan-local
     }
 }
 hello-time 2
 ipv6 {
     dup-addr-detect-transmits 2
 }
 max-age 20
 member {
     interface eth0 {
     }
     interface eth1 {
     }
     interface eth2 {
     }
     interface eth4 {
     }
 }
 priority 20480
 stp
[edit]

Details

Difficulty level
Unknown (require assessment)
Version
1.3-rolling-202004200558
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

jjakob triaged this task as High priority.Apr 20 2020, 8:24 PM
jjakob created this task.
jjakob created this object in space S1 VyOS Public.
jjakob changed the task status from Open to In progress.Apr 21 2020, 10:47 AM
jjakob claimed this task.
jjakob moved this task from Need Triage to In Progress on the VyOS 1.3 Equuleus board.

This is due to the bridge missing a link-local address. The bridge members also don't need link-local addresses (currently they have them) and IPv6 can be disabled entirely on them.

jjakob moved this task from In Progress to Finished on the VyOS 1.3 Equuleus board.

Fixed by T2362

erkin set Issue type to Bug (incorrect behavior).Aug 30 2021, 6:44 AM
erkin removed a subscriber: Active contributors.