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!