Subject: Re: bug#51440: [PATCH 00/10] Declarative static networking interface

From: Julien Lepiller <[email-masked]>
Date: Sat, 11 Dec 2021 17:19:24 -0500

Le 11 décembre 2021 16:39:19 GMT-05:00, "Ludovic Courtès" <[email-masked]> a écrit :
>Hi Vivien,
>
>Vivien Kraus <[email-masked]> skribis:
>
>> Le vendredi 10 décembre 2021 à 11:51 +0100, Ludovic Courtès a écrit :
>>> Vivien Kraus <[email-masked]> skribis:
>
>[...]
>
>>> Julien fixed this interesting bug in Guile-Netlink 1.1.1, which is now
>>> in ‘master’ (thanks!).
>>> 
>>> I rebased ‘wip-networking-netlink’ to get this fix.
>>> 
>>> Could you give it another try?
>>
>> The IP seems good.
>
>\o/
>
>>> Any other issues left?
>>
>> I have a couple:
>> - I get an extra IPv6 (inet6 xxxx/64 scope global dynamic mngtmpaddr
>> valid_lft forever preferred_lft forever) that I did not ask for and
>> that takes precedence as a source for the default route, which defeats
>> the purpose. I’m not sure it’s guile-netlink’s fault.
>
>Hmm, what’s that IPv6 address?  Is it here even if you do not configure
>any IPv6 address in ‘static-networking’?
>
>Julien, could the ‘link-set’ call in ‘network-set-up/linux’ be the
>culprit?
>
>    #$@(map (lambda (address)
>              #~(begin
>                  (addr-add #$(network-address-device address)
>                            #$(network-address-value address)
>                            #:ipv6?
>                            #$(network-address-ipv6? address))
>                  ;; FIXME: loopback?
>                  (link-set #$(network-address-device address)
>                            #:up #t)))
>            addresses)
>
>It seems to be the only way to mark the device as “up”, but since it has
>arguments that seem redundant with those of ‘addr-add’, I wonder if
>something could go wrong here.
>
>Thanks for testing, Vivien!
>
>Ludo’.

I don't think so. Setting the interface up will always assign a link-local address (starts with fe80), and that's not under netlink control. Then, maybe once the interface is up, it may react to an RA from the router and get an additional address that way? Not sure.