On 1/21/19 10:05 AM, Matt Ellison wrote: > On Mon, 21 Jan 2019 09:14:52 -0700 David Ahern <dsah...@gmail.com> wrote: > >> You always add IF_ID even if not set by user. The kernel code does not >> appear to require it so why pass a default value? > > 0 (the default) is a valid IF_ID, so setting an interface with a non-zero > IF_ID > back to 0 is possible. I think the better solution would be to check for > existing > values so an "ip link set" doesn't try and automatically use 0 if unsepcified.
I would expect IF_ID to only be added to the request if passed on the command line. That should handle the set link case. > >> The kernel code does appear to require this parameter, so why have >> this requirement in iproute2? > > Looks to be required, without the check I get: > RTNETLINK answers: No such device > >> What about IFLA_XFRM_LINK? > > It shows up as the parent interface when you ip link show: > > 13: xfrm2@wlan0: <NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group > default qlen 1000 > link/none 48:e2:44:f6:77:51 brd ff:ff:ff:ff:ff:ff > > But I can print it again if you think I should. > ok, so IFLA_XFRM_LINK duplicates IFLA_LINK. no need to print twice.