On Wed, Aug 26, 2020 at 09:33:29AM -0700, David Miller wrote: > From: Mira Ressel <ara...@aixah.de> > Date: Wed, 26 Aug 2020 16:29:01 +0000 > > > On Wed, Aug 26, 2020 at 08:28:57AM -0700, David Miller wrote: > >> From: Mira Ressel <ara...@aixah.de> > >> Date: Wed, 26 Aug 2020 15:20:00 +0000 > >> > >> > I'm setting the peer->perm_addr, which would otherwise be zero, to its > >> > dev_addr, which has been either generated randomly by the kernel or > >> > provided by userland in a netlink attribute. > >> > >> Which by definition makes it not necessarily a "permanent address" and > >> therefore is subject to being different across boots, which is exactly > >> what you don't want to happen for automatic address generation. > > > > That's true, but since veth devices aren't backed by any hardware, I > > unfortunately don't have a good source for a permanent address. The only > > inherently permanent thing about them is their name. > > > > People who use the default eui64-based address generation don't get > > persistent link-local addresses for their veth devices out of the box > > either -- the EUI64 is derived from the device's dev_addr, which is > > randomized by default. > > > > If that presents a problem for anyone, they can configure their userland > > to set the dev_addr to a static value, which handily fixes this problem > > for both address generation algorithms. > > > > I'm admittedly glancing over one problem here -- I'm only setting the > > perm_addr during device creation, whereas userland can change the > > dev_addr at any time. I'm not sure if it'd make sense here to update the > > perm_addr if the dev_addr is changed later on? > > We are talking about which parent device address to inherit from, you > have choosen to use dev_addr and I am saying you should use perm_addr. > > Can you explain why this isn't clear?
Which parent device? This is the veth patch, not the vlan patch. I'm setting the perm_addrs of both sides of the veth pair to their respective dev_addrs that they were assigned by userland or through random generation. If I were to give both of them the same perm_addr, we'd again have the problem that they'd get conflicting link-local addresses and trigger DAD. My apologies if I'm misunderstanding something here! Regards, Mira