Re: Issues during assigning addresses on point to point interfaces
From: Nicolas Dichtel <hidden>
Date: 2021-06-25 15:06:27
Also in:
lkml
Le 25/06/2021 à 10:40, Pali Rohár a écrit :
On Thursday 24 June 2021 14:57:41 Nicolas Dichtel wrote:quoted
Le 24/06/2021 à 12:45, Marek Behún a écrit :quoted
On Sun, 6 Jun 2021 17:10:08 +0200 Pali Rohár [off-list ref] wrote:quoted
Hello! Seems that there is a bug during assigning IP addresses on point to point interfaces. Assigning just one local address works fine: ip address add fe80::6 dev ppp1 --> inet6 fe80::6/128 scope link Assigning both local and remote peer address also works fine: ip address add fe80::7 peer fe80::8 dev ppp1 ---> inet6 fe80::7 peer fe80::8/128 scope link But trying to assign just remote peer address does not work. Moreover "ip address" call does not fail, it returns zero but instead of setting remote peer address, it sets local address: ip address add peer fe80::5 dev ppp1 --> inet6 fe80::5/128 scope linkAdding some other people to Cc in order to get their opinions. It seems this bug is there from the beginning, from commit caeaba79009c2 ("ipv6: add support of peer address") https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=caeaba79009c2 Maybe some older user-space utilities use IFA_ADDRESS instead of IFA_LOCAL, and this was done in order to be compatible with them?If I remember well, there was an issue in the uAPI. IFA_LOCAL is supposed to be the address of the interface and IFA_ADDRESS is supposed to be the endpoint of a point-to-point interface. However, in case of IPv6, it was not the case. In netlink messages generated by the kernel, IFA_ADDRESS was used instead of IFA_LOCAL. The patch tried to keep the backward compatibility and the symmetry between msg from userland and notification from the kernel.Hello Nicolas! See my original email where I put also rtnetlink packets (how strace see them). Seems that there is a bug in handling them (or bug in iproute2) as setting just peer (remote) IPv6 address is ignored: https://lore.kernel.org/netdev/20210606151008.7dwx5ukrlvxt4t3k@pali/ (local) Do you have any idea if this is affected by that "issue in the uAPI"? And what is the way how to fix it?
What about forcing IFA_LOCAL address to :: in your case?