Netdev List
 help / color / mirror / Atom feed
* Re: Bug#1106321: iproute2: "ip monitor" fails with current trixie's linux kernel / iproute2 combination
       [not found] <174794271559.992.2895280719007840700.reportbug@localhost>
@ 2025-05-22 22:55 ` Luca Boccassi
  2025-05-23  0:00   ` David Ahern
  0 siblings, 1 reply; 8+ messages in thread
From: Luca Boccassi @ 2025-05-22 22:55 UTC (permalink / raw)
  To: Stephen Hemminger, David Ahern; +Cc: 1106321, Netdev

On Thu, 22 May 2025 at 20:41, Adel Belhouane <bugs.a.b@free.fr> wrote:
>
> Package: iproute2
> Version: 6.14.0-3
> Severity: normal
> X-Debbugs-Cc: bugs.a.b@free.fr
>
> Dear Maintainer,
>
> Having iproute2 >= 6.14 while running a linux kernel < 6.14
> triggers this bug (tested using debian-13-nocloud-amd64-daily-20250520-2118.qcow2)
>
>     root@localhost:~# ip monitor
>     Failed to add ipv4 mcaddr group to list
>
> More specifically this subcommand, which didn't exist in iproute2 6.13
> is affected:
>
>     root@localhost:~# ip mon maddr
>     Failed to add ipv4 mcaddr group to list
>     root@localhost:~# ip -6 mon maddr
>     Failed to add ipv6 mcaddr group to list
>
> causing the generic "ip monitor" command to fail.
>
> As trixie will use a 6.12.x kernel, trixie is affected.
>
> bookworm's iproute2/bookworm-backports is also affected since currently
> bookworm's backport kernel is also 6.12.x
>
> Workarounds:
> * upgrade the kernel to experimental's (currently) 6.14.6-1~exp1
> * downgrade iproute2 to 6.13.0-1 (using snapshot.d.o)
> * on bookworm downgrade (using snapshot.d.o)
>   iproute2 backport to 6.13.0-1~bpo12+1
>
> Details I could gather:
>
> This appears to come from this iproute2 6.14's commit:
>
> https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?h=v6.14.0&id=7240e0e40f8332dd9f11348700c0c96b8df4ca5b
>
> which appears to depend on new kernel 6.14 rtnetlink features as described
> in Kernelnewbies ( https://kernelnewbies.org/Linux_6.14#Networking ):
>
> Add ipv6 anycast join/leave notifications
>
> with this (kernel 6.14) commit:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=33d97a07b3ae6fa713919de4e1864ca04fff8f80

Hi Stephen and David,

It looks like there's a regression in iproute2 6.14, and 'ip monitor'
no longer works with kernels < 6.14. Could you please have a look when
you have a moment? Thanks!

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Bug#1106321: iproute2: "ip monitor" fails with current trixie's linux kernel / iproute2 combination
  2025-05-22 22:55 ` Bug#1106321: iproute2: "ip monitor" fails with current trixie's linux kernel / iproute2 combination Luca Boccassi
@ 2025-05-23  0:00   ` David Ahern
  2025-05-23  0:03     ` Luca Boccassi
  0 siblings, 1 reply; 8+ messages in thread
From: David Ahern @ 2025-05-23  0:00 UTC (permalink / raw)
  To: Luca Boccassi, Stephen Hemminger, Yuyang Huang; +Cc: 1106321, Netdev

On 5/22/25 4:55 PM, Luca Boccassi wrote:
> On Thu, 22 May 2025 at 20:41, Adel Belhouane <bugs.a.b@free.fr> wrote:
>>
>> Package: iproute2
>> Version: 6.14.0-3
>> Severity: normal
>> X-Debbugs-Cc: bugs.a.b@free.fr
>>
>> Dear Maintainer,
>>
>> Having iproute2 >= 6.14 while running a linux kernel < 6.14
>> triggers this bug (tested using debian-13-nocloud-amd64-daily-20250520-2118.qcow2)
>>
>>     root@localhost:~# ip monitor
>>     Failed to add ipv4 mcaddr group to list
>>
>> More specifically this subcommand, which didn't exist in iproute2 6.13
>> is affected:
>>
>>     root@localhost:~# ip mon maddr
>>     Failed to add ipv4 mcaddr group to list
>>     root@localhost:~# ip -6 mon maddr
>>     Failed to add ipv6 mcaddr group to list
>>
>> causing the generic "ip monitor" command to fail.
>>
>> As trixie will use a 6.12.x kernel, trixie is affected.
>>
>> bookworm's iproute2/bookworm-backports is also affected since currently
>> bookworm's backport kernel is also 6.12.x
>>
>> Workarounds:
>> * upgrade the kernel to experimental's (currently) 6.14.6-1~exp1
>> * downgrade iproute2 to 6.13.0-1 (using snapshot.d.o)
>> * on bookworm downgrade (using snapshot.d.o)
>>   iproute2 backport to 6.13.0-1~bpo12+1
>>
>> Details I could gather:
>>
>> This appears to come from this iproute2 6.14's commit:
>>
>> https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?h=v6.14.0&id=7240e0e40f8332dd9f11348700c0c96b8df4ca5b
>>
>> which appears to depend on new kernel 6.14 rtnetlink features as described
>> in Kernelnewbies ( https://kernelnewbies.org/Linux_6.14#Networking ):
>>
>> Add ipv6 anycast join/leave notifications
>>
>> with this (kernel 6.14) commit:
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=33d97a07b3ae6fa713919de4e1864ca04fff8f80
> 
> Hi Stephen and David,
> 
> It looks like there's a regression in iproute2 6.14, and 'ip monitor'
> no longer works with kernels < 6.14. Could you please have a look when
> you have a moment? Thanks!

were not a lot of changes, so most likely the multiaddress or anycast
address changes from Yuyang Huang. Please take a look.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Bug#1106321: iproute2: "ip monitor" fails with current trixie's linux kernel / iproute2 combination
  2025-05-23  0:00   ` David Ahern
@ 2025-05-23  0:03     ` Luca Boccassi
  2025-05-23  0:58       ` Yuyang Huang
  0 siblings, 1 reply; 8+ messages in thread
From: Luca Boccassi @ 2025-05-23  0:03 UTC (permalink / raw)
  To: David Ahern; +Cc: Stephen Hemminger, Yuyang Huang, 1106321, Netdev

On Fri, 23 May 2025 at 01:00, David Ahern <dsahern@kernel.org> wrote:
>
> On 5/22/25 4:55 PM, Luca Boccassi wrote:
> > On Thu, 22 May 2025 at 20:41, Adel Belhouane <bugs.a.b@free.fr> wrote:
> >>
> >> Package: iproute2
> >> Version: 6.14.0-3
> >> Severity: normal
> >> X-Debbugs-Cc: bugs.a.b@free.fr
> >>
> >> Dear Maintainer,
> >>
> >> Having iproute2 >= 6.14 while running a linux kernel < 6.14
> >> triggers this bug (tested using debian-13-nocloud-amd64-daily-20250520-2118.qcow2)
> >>
> >>     root@localhost:~# ip monitor
> >>     Failed to add ipv4 mcaddr group to list
> >>
> >> More specifically this subcommand, which didn't exist in iproute2 6.13
> >> is affected:
> >>
> >>     root@localhost:~# ip mon maddr
> >>     Failed to add ipv4 mcaddr group to list
> >>     root@localhost:~# ip -6 mon maddr
> >>     Failed to add ipv6 mcaddr group to list
> >>
> >> causing the generic "ip monitor" command to fail.
> >>
> >> As trixie will use a 6.12.x kernel, trixie is affected.
> >>
> >> bookworm's iproute2/bookworm-backports is also affected since currently
> >> bookworm's backport kernel is also 6.12.x
> >>
> >> Workarounds:
> >> * upgrade the kernel to experimental's (currently) 6.14.6-1~exp1
> >> * downgrade iproute2 to 6.13.0-1 (using snapshot.d.o)
> >> * on bookworm downgrade (using snapshot.d.o)
> >>   iproute2 backport to 6.13.0-1~bpo12+1
> >>
> >> Details I could gather:
> >>
> >> This appears to come from this iproute2 6.14's commit:
> >>
> >> https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?h=v6.14.0&id=7240e0e40f8332dd9f11348700c0c96b8df4ca5b
> >>
> >> which appears to depend on new kernel 6.14 rtnetlink features as described
> >> in Kernelnewbies ( https://kernelnewbies.org/Linux_6.14#Networking ):
> >>
> >> Add ipv6 anycast join/leave notifications
> >>
> >> with this (kernel 6.14) commit:
> >>
> >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=33d97a07b3ae6fa713919de4e1864ca04fff8f80
> >
> > Hi Stephen and David,
> >
> > It looks like there's a regression in iproute2 6.14, and 'ip monitor'
> > no longer works with kernels < 6.14. Could you please have a look when
> > you have a moment? Thanks!
>
> were not a lot of changes, so most likely the multiaddress or anycast
> address changes from Yuyang Huang. Please take a look.

The original reporter suggested it was this commit that introduced the
regression:

https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?h=v6.14.0&id=7240e0e40f8332dd9f11348700c0c96b8df4ca5b

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Bug#1106321: iproute2: "ip monitor" fails with current trixie's linux kernel / iproute2 combination
  2025-05-23  0:03     ` Luca Boccassi
@ 2025-05-23  0:58       ` Yuyang Huang
  2025-05-23  1:10         ` Luca Boccassi
  0 siblings, 1 reply; 8+ messages in thread
From: Yuyang Huang @ 2025-05-23  0:58 UTC (permalink / raw)
  To: Luca Boccassi
  Cc: David Ahern, Stephen Hemminger, 1106321, Netdev,
	Maciej Żenczykowski

Backward compatibility is broken due to the exit(1) in the following changes.

```
+ if (lmask & IPMON_LMADDR) {
+ if ((!preferred_family || preferred_family == AF_INET) &&
+     rtnl_add_nl_group(&rth, RTNLGRP_IPV4_MCADDR) < 0) {
+ fprintf(stderr,
+ "Failed to add ipv4 mcaddr group to list\n");
+ exit(1);
+ }
+ if ((!preferred_family || preferred_family == AF_INET6) &&
+     rtnl_add_nl_group(&rth, RTNLGRP_IPV6_MCADDR) < 0) {
+ fprintf(stderr,
+ "Failed to add ipv6 mcaddr group to list\n");
+ exit(1);
+ }
+ }
+
+ if (lmask & IPMON_LACADDR) {
+ if ((!preferred_family || preferred_family == AF_INET6) &&
+     rtnl_add_nl_group(&rth, RTNLGRP_IPV6_ACADDR) < 0) {
+ fprintf(stderr,
+ "Failed to add ipv6 acaddr group to list\n");
+ exit(1);
+ }
+ }
+
```

My patches follow the existing code styles, so I also added exit(1).

Link: https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/tree/ip/ipmonitor.c#n330

I thought iproute2 was intentionally not backward compatible, but it
sounds like that's not true.

I can submit a fix patch to remove the exit(1), which should fix the
backward compatibility issue.

Shall we proceed with this proposal?

Thanks,

Yuyang

On Fri, May 23, 2025 at 9:03 AM Luca Boccassi <bluca@debian.org> wrote:
>
> On Fri, 23 May 2025 at 01:00, David Ahern <dsahern@kernel.org> wrote:
> >
> > On 5/22/25 4:55 PM, Luca Boccassi wrote:
> > > On Thu, 22 May 2025 at 20:41, Adel Belhouane <bugs.a.b@free.fr> wrote:
> > >>
> > >> Package: iproute2
> > >> Version: 6.14.0-3
> > >> Severity: normal
> > >> X-Debbugs-Cc: bugs.a.b@free.fr
> > >>
> > >> Dear Maintainer,
> > >>
> > >> Having iproute2 >= 6.14 while running a linux kernel < 6.14
> > >> triggers this bug (tested using debian-13-nocloud-amd64-daily-20250520-2118.qcow2)
> > >>
> > >>     root@localhost:~# ip monitor
> > >>     Failed to add ipv4 mcaddr group to list
> > >>
> > >> More specifically this subcommand, which didn't exist in iproute2 6.13
> > >> is affected:
> > >>
> > >>     root@localhost:~# ip mon maddr
> > >>     Failed to add ipv4 mcaddr group to list
> > >>     root@localhost:~# ip -6 mon maddr
> > >>     Failed to add ipv6 mcaddr group to list
> > >>
> > >> causing the generic "ip monitor" command to fail.
> > >>
> > >> As trixie will use a 6.12.x kernel, trixie is affected.
> > >>
> > >> bookworm's iproute2/bookworm-backports is also affected since currently
> > >> bookworm's backport kernel is also 6.12.x
> > >>
> > >> Workarounds:
> > >> * upgrade the kernel to experimental's (currently) 6.14.6-1~exp1
> > >> * downgrade iproute2 to 6.13.0-1 (using snapshot.d.o)
> > >> * on bookworm downgrade (using snapshot.d.o)
> > >>   iproute2 backport to 6.13.0-1~bpo12+1
> > >>
> > >> Details I could gather:
> > >>
> > >> This appears to come from this iproute2 6.14's commit:
> > >>
> > >> https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?h=v6.14.0&id=7240e0e40f8332dd9f11348700c0c96b8df4ca5b
> > >>
> > >> which appears to depend on new kernel 6.14 rtnetlink features as described
> > >> in Kernelnewbies ( https://kernelnewbies.org/Linux_6.14#Networking ):
> > >>
> > >> Add ipv6 anycast join/leave notifications
> > >>
> > >> with this (kernel 6.14) commit:
> > >>
> > >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=33d97a07b3ae6fa713919de4e1864ca04fff8f80
> > >
> > > Hi Stephen and David,
> > >
> > > It looks like there's a regression in iproute2 6.14, and 'ip monitor'
> > > no longer works with kernels < 6.14. Could you please have a look when
> > > you have a moment? Thanks!
> >
> > were not a lot of changes, so most likely the multiaddress or anycast
> > address changes from Yuyang Huang. Please take a look.
>
> The original reporter suggested it was this commit that introduced the
> regression:
>
> https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?h=v6.14.0&id=7240e0e40f8332dd9f11348700c0c96b8df4ca5b

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Bug#1106321: iproute2: "ip monitor" fails with current trixie's linux kernel / iproute2 combination
  2025-05-23  0:58       ` Yuyang Huang
@ 2025-05-23  1:10         ` Luca Boccassi
  2025-05-23  1:17           ` Yuyang Huang
  0 siblings, 1 reply; 8+ messages in thread
From: Luca Boccassi @ 2025-05-23  1:10 UTC (permalink / raw)
  To: Yuyang Huang
  Cc: David Ahern, Stephen Hemminger, 1106321, Netdev,
	Maciej Żenczykowski

On Fri, 23 May 2025 at 01:58, Yuyang Huang <yuyanghuang@google.com> wrote:
>
> Backward compatibility is broken due to the exit(1) in the following changes.
>
> ```
> + if (lmask & IPMON_LMADDR) {
> + if ((!preferred_family || preferred_family == AF_INET) &&
> +     rtnl_add_nl_group(&rth, RTNLGRP_IPV4_MCADDR) < 0) {
> + fprintf(stderr,
> + "Failed to add ipv4 mcaddr group to list\n");
> + exit(1);
> + }
> + if ((!preferred_family || preferred_family == AF_INET6) &&
> +     rtnl_add_nl_group(&rth, RTNLGRP_IPV6_MCADDR) < 0) {
> + fprintf(stderr,
> + "Failed to add ipv6 mcaddr group to list\n");
> + exit(1);
> + }
> + }
> +
> + if (lmask & IPMON_LACADDR) {
> + if ((!preferred_family || preferred_family == AF_INET6) &&
> +     rtnl_add_nl_group(&rth, RTNLGRP_IPV6_ACADDR) < 0) {
> + fprintf(stderr,
> + "Failed to add ipv6 acaddr group to list\n");
> + exit(1);
> + }
> + }
> +
> ```
>
> My patches follow the existing code styles, so I also added exit(1).
>
> Link: https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/tree/ip/ipmonitor.c#n330
>
> I thought iproute2 was intentionally not backward compatible, but it
> sounds like that's not true.
>
> I can submit a fix patch to remove the exit(1), which should fix the
> backward compatibility issue.
>
> Shall we proceed with this proposal?

iproute2 is generally backward compatible with previous kernels yes,
so it would be great to have a fix for this. Thanks!

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Bug#1106321: iproute2: "ip monitor" fails with current trixie's linux kernel / iproute2 combination
  2025-05-23  1:10         ` Luca Boccassi
@ 2025-05-23  1:17           ` Yuyang Huang
  2025-05-23  2:17             ` David Ahern
  0 siblings, 1 reply; 8+ messages in thread
From: Yuyang Huang @ 2025-05-23  1:17 UTC (permalink / raw)
  To: Luca Boccassi
  Cc: David Ahern, Stephen Hemminger, 1106321, Netdev,
	Maciej Żenczykowski

>iproute2 is generally backward compatible with previous kernels yes,

Acked, will submit a patch ASAP.
Could you advise which branch needs the fix?
Is submitting to iproute2-next and iproute2 enough?

Thanks,

Yuyang

On Fri, May 23, 2025 at 10:10 AM Luca Boccassi <bluca@debian.org> wrote:
>
> On Fri, 23 May 2025 at 01:58, Yuyang Huang <yuyanghuang@google.com> wrote:
> >
> > Backward compatibility is broken due to the exit(1) in the following changes.
> >
> > ```
> > + if (lmask & IPMON_LMADDR) {
> > + if ((!preferred_family || preferred_family == AF_INET) &&
> > +     rtnl_add_nl_group(&rth, RTNLGRP_IPV4_MCADDR) < 0) {
> > + fprintf(stderr,
> > + "Failed to add ipv4 mcaddr group to list\n");
> > + exit(1);
> > + }
> > + if ((!preferred_family || preferred_family == AF_INET6) &&
> > +     rtnl_add_nl_group(&rth, RTNLGRP_IPV6_MCADDR) < 0) {
> > + fprintf(stderr,
> > + "Failed to add ipv6 mcaddr group to list\n");
> > + exit(1);
> > + }
> > + }
> > +
> > + if (lmask & IPMON_LACADDR) {
> > + if ((!preferred_family || preferred_family == AF_INET6) &&
> > +     rtnl_add_nl_group(&rth, RTNLGRP_IPV6_ACADDR) < 0) {
> > + fprintf(stderr,
> > + "Failed to add ipv6 acaddr group to list\n");
> > + exit(1);
> > + }
> > + }
> > +
> > ```
> >
> > My patches follow the existing code styles, so I also added exit(1).
> >
> > Link: https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/tree/ip/ipmonitor.c#n330
> >
> > I thought iproute2 was intentionally not backward compatible, but it
> > sounds like that's not true.
> >
> > I can submit a fix patch to remove the exit(1), which should fix the
> > backward compatibility issue.
> >
> > Shall we proceed with this proposal?
>
> iproute2 is generally backward compatible with previous kernels yes,
> so it would be great to have a fix for this. Thanks!

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Bug#1106321: iproute2: "ip monitor" fails with current trixie's linux kernel / iproute2 combination
  2025-05-23  1:17           ` Yuyang Huang
@ 2025-05-23  2:17             ` David Ahern
  2025-05-23  2:35               ` Yuyang Huang
  0 siblings, 1 reply; 8+ messages in thread
From: David Ahern @ 2025-05-23  2:17 UTC (permalink / raw)
  To: Yuyang Huang, Luca Boccassi
  Cc: Stephen Hemminger, 1106321, Netdev, Maciej Żenczykowski

On 5/22/25 7:17 PM, Yuyang Huang wrote:
>> iproute2 is generally backward compatible with previous kernels yes,
> 
> Acked, will submit a patch ASAP.
> Could you advise which branch needs the fix?
> Is submitting to iproute2-next and iproute2 enough?
> 
>

Thank you for the quick response.

I should have caught the exit on lack of support for the feature, so
that is on me.

Please send a patch based on iproute2 main (though main and next are
practically the same right now).


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Bug#1106321: iproute2: "ip monitor" fails with current trixie's linux kernel / iproute2 combination
  2025-05-23  2:17             ` David Ahern
@ 2025-05-23  2:35               ` Yuyang Huang
  0 siblings, 0 replies; 8+ messages in thread
From: Yuyang Huang @ 2025-05-23  2:35 UTC (permalink / raw)
  To: David Ahern
  Cc: Luca Boccassi, Stephen Hemminger, 1106321, Netdev,
	Maciej Żenczykowski

Acked, will submit a patch to iproute2 main by EOD.

Thanks,

Yuyang

On Fri, May 23, 2025 at 11:17 AM David Ahern <dsahern@kernel.org> wrote:
>
> On 5/22/25 7:17 PM, Yuyang Huang wrote:
> >> iproute2 is generally backward compatible with previous kernels yes,
> >
> > Acked, will submit a patch ASAP.
> > Could you advise which branch needs the fix?
> > Is submitting to iproute2-next and iproute2 enough?
> >
> >
>
> Thank you for the quick response.
>
> I should have caught the exit on lack of support for the feature, so
> that is on me.
>
> Please send a patch based on iproute2 main (though main and next are
> practically the same right now).
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-05-23  2:36 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <174794271559.992.2895280719007840700.reportbug@localhost>
2025-05-22 22:55 ` Bug#1106321: iproute2: "ip monitor" fails with current trixie's linux kernel / iproute2 combination Luca Boccassi
2025-05-23  0:00   ` David Ahern
2025-05-23  0:03     ` Luca Boccassi
2025-05-23  0:58       ` Yuyang Huang
2025-05-23  1:10         ` Luca Boccassi
2025-05-23  1:17           ` Yuyang Huang
2025-05-23  2:17             ` David Ahern
2025-05-23  2:35               ` Yuyang Huang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox