On Fri, 23 May 2025 at 01:58, Yuyang Huang <yuyanghu...@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!

Reply via email to