FRRouting / frr

The FRRouting Protocol Suite
https://frrouting.org/
Other
3.19k stars 1.23k forks source link

PIMv6 environment report: ZEBRA netlink-cmd (NS 0) error: Operation not supported, type=RTM_GETROUTE(26) #16071

Open Pengwei-Chen-1 opened 3 months ago

Pengwei-Chen-1 commented 3 months ago

Description

image In our environment, we use the IPv6 multicast:

  1. The multicast sender in VM1, we enabled ipv6 pim and ospf6
  2. The Switch also enabled IGMPv3 & MLDv2 & pim ipv6 & ospfv3
  3. The multicast receiver join (S,G): (2001:72:121::84:11,ff35:84::1)

And the problems are:

  1. After multicast receiver start to join (S,G), the FRR log will print below errors.
  2. After the multicast receiver stopped, the ipv6 mroute cannot auto clear, and the error log still print out.
  3. After I manually clear the ipv6 mroute with command clear ipv6 mroute, the mroute cleared and error log will stopped.
[root@vm1 ~]# tail -f /var/log/frr/frr.log
2024/05/21 11:00:43 ZEBRA: [WVJCK-PPMGD][EC 4043309093] netlink-cmd (NS 0) error: Operation not supported, type=RTM_GETROUTE(26), seq=114, pid=4102584798
2024/05/21 11:00:48 ZEBRA: [WVJCK-PPMGD][EC 4043309093] netlink-cmd (NS 0) error: Operation not supported, type=RTM_GETROUTE(26), seq=115, pid=4102584798
2024/05/21 11:00:53 ZEBRA: [WVJCK-PPMGD][EC 4043309093] netlink-cmd (NS 0) error: Operation not supported, type=RTM_GETROUTE(26), seq=116, pid=4102584798
2024/05/21 11:00:55 ZEBRA: [WVJCK-PPMGD][EC 4043309093] netlink-cmd (NS 0) error: Operation not supported, type=RTM_GETROUTE(26), seq=117, pid=4102584798
2024/05/21 11:01:14 ZEBRA: [WVJCK-PPMGD][EC 4043309093] netlink-cmd (NS 0) error: Operation not supported, type=RTM_GETROUTE(26), seq=118, pid=4102584798
2024/05/21 11:01:19 ZEBRA: [WVJCK-PPMGD][EC 4043309093] netlink-cmd (NS 0) error: Operation not supported, type=RTM_GETROUTE(26), seq=119, pid=4102584798

My question are:

  1. The root cause of this error log, the issue https://github.com/FRRouting/frr/issues/4375 said it relate with kernel version, but our environment already used the 4.18.0-544.el8.x86_64
  2. Why the ipv6 mroute not cleared after multicast receiver stopped, does it related with the error log?

Version

[root@mdf-up1 ~]# vtysh

Hello, this is FRRouting (version 9.1).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

mdf-up1# show version
FRRouting 9.1 (mdf-up1) on Linux(4.18.0-544.el8.x86_64).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
configured with:
    '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sbindir=/usr/lib/frr' '--sysconfdir=/etc/frr' '--localstatedir=/var/run/frr' '--disable-static' '--disable-werror' '--enable-irdp' '--enable-multipath=256' '--enable-vtysh' '--enable-ospfclient' '--enable-ospfapi' '--enable-rtadv' '--enable-ldpd' '--enable-pimd' '--enable-pim6d' '--enable-pbrd' '--enable-nhrpd' '--enable-eigrpd' '--enable-babeld' '--enable-vrrpd' '--enable-user=frr' '--enable-group=frr' '--enable-vty-group=frrvty' '--enable-fpm' '--enable-watchfrr' '--disable-bgp-vnc' '--enable-isisd' '--enable-rpki' '--enable-bfdd' '--enable-pathd' '--enable-snmp' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

How to reproduce

  1. Setup the FRR with PIMv6.
  2. Start to join the IPv6 (S,G)
  3. Check the frr log file.

Expected behavior

  1. The FRR log should not have these error log.
  2. After multicast receiver stopped, the ipv6 mroute should be cleared.

Actual behavior

  1. There are lots of error log in FRR log file.
  2. The ipv6 mroute not cleared after multicast receiver stopped.

Additional context

No response

Checklist

donaldsharp commented 3 months ago

https://docs.frrouting.org/en/latest/overview.html#feature-matrix

Notice the minimum kernel for pim is 4.19. Please upgrade your kernel.

Pengwei-Chen-1 commented 3 months ago

@donaldsharp thanks for your reply. Now our VM base on the RHEL8 which used the 4.18 kernel, and we cannot upgrade it. But from our verification, below secnario works well:

  1. IPv4 + PIM + OSPF, the SSM multicast no problem, and no this error log.
  2. IPv6 + PIMv6 + OSPFv3, the IPv6 SSM multicast also no problem, except these error logs.

And for these errors:

  1. What it means? The linux kernel does not support some features?
  2. What's the impact? Does it will impact the IPv6 SSM multicast?
donaldsharp commented 3 months ago

it's telling you that the kernel does not support the requested feature. v6 support was implemented in the linux kernel long after the 4.19 minimum. I would hazard a guess that the v6 version of the command is just not available. As such things will not work properly. What exactly is not going to work properly.... I do not know.

Pengwei-Chen-1 commented 1 month ago

hi @donaldsharp I use the RHEL 9.4(kernel 5.14) with FRR 10.0.1, the error log still exists.

[root@mcptt-cp ~]# uname -a
Linux mcptt-cp 5.14.0-427.13.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Apr 10 10:29:16 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux
[root@mcptt-cp ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.4 (Plow)

mcptt-cp# show running-config
Building configuration...
Current configuration:
!
frr version 10.0.1
frr defaults traditional
hostname mcptt-cp
log file /var/log/frr/frr.log
log syslog informational
no ip forwarding
no ipv6 forwarding
!
interface loopback1
 ipv6 pim
 multicast enable
exit
!
interface traffic
 ipv6 pim
exit
!
end

The error log as below:

2024/07/18 00:18:20 PIM6: [VM3TX-FD7WH] pimd/pim_ifchannel.c check_recv_upstream: RPF'(2001:72:101::94:16,ff35:94::1) not found
2024/07/18 03:31:28 ZEBRA: [WVJCK-PPMGD][EC 4043309093] netlink-cmd (NS 0) error: Operation not supported, type=RTM_GETROUTE(26), seq=510, pid=3092787401
2024/07/18 03:31:59 ZEBRA: [WVJCK-PPMGD][EC 4043309093] netlink-cmd (NS 0) error: Operation not supported, type=RTM_GETROUTE(26), seq=511, pid=3092787401
2024/07/18 03:32:30 ZEBRA: [WVJCK-PPMGD][EC 4043309093] netlink-cmd (NS 0) error: Operation not supported, type=RTM_GETROUTE(26), seq=512, pid=3092787401