From: Hangbin Liu Date: Wed, 9 Oct 2024 09:53:09 +0000 (+0000) Subject: ip/ipmroute: use preferred_family to get prefix X-Git-Tag: v6.12.0~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f305296e40c5a5b40d5af6f47f3f0e669e52e604;p=thirdparty%2Fiproute2.git ip/ipmroute: use preferred_family to get prefix The mroute family is reset to RTNL_FAMILY_IPMR or RTNL_FAMILY_IP6MR when retrieving the multicast routing cache. However, the get_prefix() and subsequently __get_addr_1() cannot identify these families. Using preferred_family to obtain the prefix can resolve this issue. Fixes: 98ce99273f24 ("mroute: fix up family handling") Reported-by: Jianlin Shi Signed-off-by: Hangbin Liu Signed-off-by: Stephen Hemminger --- diff --git a/ip/ipmroute.c b/ip/ipmroute.c index da58d295..c540eab1 100644 --- a/ip/ipmroute.c +++ b/ip/ipmroute.c @@ -271,7 +271,7 @@ static int mroute_list(int argc, char **argv) id = *argv; } else if (matches(*argv, "from") == 0) { NEXT_ARG(); - if (get_prefix(&filter.msrc, *argv, family)) + if (get_prefix(&filter.msrc, *argv, preferred_family)) invarg("from value is invalid\n", *argv); } else { if (strcmp(*argv, "to") == 0) { @@ -279,7 +279,7 @@ static int mroute_list(int argc, char **argv) } if (matches(*argv, "help") == 0) usage(); - if (get_prefix(&filter.mdst, *argv, family)) + if (get_prefix(&filter.mdst, *argv, preferred_family)) invarg("to value is invalid\n", *argv); } argc--; argv++;