diff mbox series

[iproute2] ip/ipmroute: use preferred_family to get prefix

Message ID 20241009095309.17167-1-liuhangbin@gmail.com (mailing list archive)
State Accepted
Commit f305296e40c5a5b40d5af6f47f3f0e669e52e604
Delegated to: Stephen Hemminger
Headers show
Series [iproute2] ip/ipmroute: use preferred_family to get prefix | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Hangbin Liu Oct. 9, 2024, 9:53 a.m. UTC
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 <jishi@redhat.com>
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
---
 ip/ipmroute.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Oct. 10, 2024, 5 p.m. UTC | #1
Hello:

This patch was applied to iproute2/iproute2.git (main)
by Stephen Hemminger <stephen@networkplumber.org>:

On Wed,  9 Oct 2024 09:53:09 +0000 you wrote:
> 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 <jishi@redhat.com>
> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
> 
> [...]

Here is the summary with links:
  - [iproute2] ip/ipmroute: use preferred_family to get prefix
    https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=f305296e40c5

You are awesome, thank you!
diff mbox series

Patch

diff --git a/ip/ipmroute.c b/ip/ipmroute.c
index da58d2953049..c540eab133a4 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++;