-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
zebra: IP address is not assigned if interface is up #16344
Comments
Hi, |
Hi @Santhosh93M , No other steps. |
Hi @glazychev-art , Yes, I'm using IPv6 for reproducing. When I assign an IPv6 address, it gets assigned to the interface after using the command sysctl net.ipv6.conf.all.disable_ipv6=0. However, when I bring the interface up, the IPv6 address is still assigned to that interface. When I set the interface down, the IPv6 address is not assigned, which is expected behavior in Linux. Even without FRR, the IPv6 address vanishes when the interface is down and reappears when I set the interface up again. Please refer the image i attached below and tell me can i consider this as a frr bug ? |
You are right When you run FRR and then create
If I get you right, you use the same frr.conf file:
But on the picture, I don't see |
Hi @glazychev-art ,
Yes, I followed the steps mentioned here with FRR, but I used a different IPv6 address, which is why you can't see the address 'fc00:1::1/64'. I want to point out that this issue also occurs in Linux itself without FRR. Additionally, I would like to understand the significance of showing the IPv6 address when the interface is set to down. |
@Santhosh93M |
Hi @glazychev-art ,
Yes, I understand, but what I'm trying to say is that after Up--down--Up, the IPv6 address is still assigned. It is only when the interface is down that the IPv6 address is not assigned. |
@Santhosh93M |
Hi @glazychev-art , I would like to share my observation on this. Could you please review the following? Adding Ipv6 address manually in Linux wihtout frrubuntu@ubuntuser:~$ ip addr show
26: veth2@veth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9500 qdisc noqueue state UP group default qlen 1000
link/ether e6:f6:e1:9b:a1:76 brd ff:ff:ff:ff:ff:ff
Assigning IPv6 Address
ubuntu@ubuntuser:~$ sudo ip -6 addr add fc00:1::1/64 dev veth2
ubuntu@ubuntuser:~$ ip addr show
26: veth2@veth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9500 qdisc noqueue state UP group default qlen 1000
link/ether e6:f6:e1:9b:a1:76 brd ff:ff:ff:ff:ff:ff
inet6 fc00:1::1/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::e4f6:e1ff:fe9b:a176/64 scope link
valid_lft forever preferred_lft forever
Bringing Interface Down
ubuntu@ubuntuser:~$ sudo ip link set dev veth2 down
ubuntu@ubuntuser:~$ ip addr show
26: veth2@veth3: <BROADCAST,MULTICAST> mtu 9500 qdisc noqueue state DOWN group default qlen 1000
link/ether e6:f6:e1:9b:a1:76 brd ff:ff:ff:ff:ff:ff
Bringing Interface Up
ubuntu@ubuntuser:~$ sudo ip link set dev veth2 up
ubuntu@ubuntuser:~$ ip addr show
26: veth2@veth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9500 qdisc noqueue state UP group default qlen 1000
link/ether e6:f6:e1:9b:a1:76 brd ff:ff:ff:ff:ff:ff
inet6 fe80::e4f6:e1ff:fe9b:a176/64 scope link
valid_lft forever preferred_lft forever Note: When we add an IPv6 address to a Linux system without configuring frr , the IPv6 address disappears after toggling the interface. FRR with Write Memory Command
Note: When we configure FRR to add an IPv6 address, the address remains persistent even after toggling the interface, unlike manually adding the IPv6 address without configuring frr. FRR Without Write Memory Command
Note: The IPv6 address is not retained if we don’t use the write memory command, even after creating a dummy interface and toggling it. |
Hi @glazychev-art , The IPv6 address assignment issue is correctly working in the current FRR version even without the write memory command. The problem occurs only in FRR Routing 9.1.1, where the IPv6 address is not getting assigned after toggling. Can you please verify if this issue has been resolved now, or guide me on how to address it? |
@Santhosh93M |
I guess, it was this PR - #15055 |
Description
Hello,
I've found a problem with zebra interface settings. IP address is not assigned after interface down and up.
Version
How to reproduce
Steps to reproduce:
ip link add name dum1 type dummy
fc00:1::1/64
has been assignedip link set dev dum1 down
ip link set dev dum1 up
fc00:1::1/64
is not assignedExpected behavior
IP address is assigned
Actual behavior
IP address is not assigned
Additional context
I looked at zebra/interface.c. Most likely there is a problem with
ZEBRA_INTERFACE_ACTIVE
flag.Is it valid to unset
ZEBRA_INTERFACE_ACTIVE
in case of interface down?Checklist
The text was updated successfully, but these errors were encountered: