05-04-2024 06:40 AM - edited 05-04-2024 06:44 AM
Hi,
how to manually enable the R flag (R-bit) in ipv6 config, let us say in a cisco csr1000v?
I have this documentation:
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipv6/command/ipv6-cr-book/ipv6-i3.html#wp1103499300
but unfortunately I could only find information on how to deactivate this function. For example, the "ipv6 nd prefix default" configuration itself does not activate this bit.
Cheers,
Michal
05-06-2024 07:48 AM
Hi @michal-miac ,
The R flag is used specifically for Mobile IPv6. Mobile IPv6 is defined in RFC6275.
https://www.rfc-editor.org/rfc/rfc6275
Regards,
05-06-2024 08:26 AM
Hi @Harold Ritter ,
I will read this document. But I suspect that the configuration for setting the R-bit in a Cisco machine is not in there? Until then, I can say that I experimented a bit and connected a Cisco router csr1000v and a Linux machine. Without an R flag in the router advertisement sent by the Cisco router, the Linux machine did not generate a global unique address. I then connected two Linux machines together and used the radvd program on one and manually set the R flag - that helped, the other Linux machine generates the GUA. The next step for me is now the question of what the configuration on the Cisco machine looks like for the R flag. If there is no "one line" command, do other configurations that are linked to this option play a role?
Regards,
Michal
05-06-2024 01:14 PM - edited 05-06-2024 01:15 PM
Hi @michal-miac ,
> Without an R flag in the router advertisement sent by the Cisco router, the Linux machine did not generate a global unique address.
A Linux hosts normally don't need the R flag to be set to do SLAAC. Is your Linux host configured for Mobile IPv6 or just for regular SLAAC?
I have personally never configured Mobile IPv6, as it is not very commonly seen.
Regards,
05-06-2024 10:48 PM
Hi @Harold Ritter,
I don't use Mobile IPv6, just SLAAC on the Linux machine. Let me work on this topic some more. I will come back with an answer. As you say, I can imagine that the R flag does not have to be set for the Linux machine and SLAAC, especially since there are many different network services on the Linux machines that could all handle RA packages differently.
Regards,
Michal
05-07-2024 06:41 AM - edited 05-07-2024 06:43 AM
Hi @michal-miac ,
There are various settings in Linux that control the SLAAC behavior. One of them if the accept_ra. The accept_ra setting can be seen using the following command:
sysctl -a | grep net.ipv6.conf.*.accept_ra
accept_ra generally needs to be set to 1 on a workstation.
One common reason for a Linux workstation not to generate an IPv6 address using SLAAC is when the OS is configured for routing. To find out if it is the case for you you can do the following:
sysctl -a | grep net.ipv6.conf.*.forwarding
if the forwarding is set to 1, the accept_ra generally needs to be set to 2 for it to work.
Regards,
05-15-2024 08:43 AM
Hello @Harold Ritter, as promised I have an answer. So on the one hand it was really hard to figure it out, but on the other hand you can say it's a simple configuration. It is the prefix in the RA, which unless 64 was set otherwise, in my case 72, led to Linux not wanting to configure a GUA with SLAAC. I didn't try to play with the prefix, but 64 was the answer.
05-15-2024 09:44 AM
Hi @michal-miac ,
Yes, /64 is an absolute requirement for SLAAC to work.
Regards,
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide