Hi Matt, Thanks for the fast reply. Yes, I can confirm that the patch solves this issue.
Thanks again, BR/Mechthild From: Matthew Smith <mgsm...@netgate.com> Sent: Friday, 18 February 2022 22:43 To: Mechthild Buescher <mechthild.buesc...@ericsson.com> Cc: vpp-dev@lists.fd.io Subject: Re: [vpp-dev] VRRP issue when using VRs in different VLANs Hi Mechthild, It looks like you are running version 21.06 of VPP. This patch was merged last month and may resolve the issue - https://gerrit.fd.io/r/c/vpp/+/34815<https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-4e7411000178acf4&q=1&e=18a9b9de-69e2-4627-ba7e-b4b0481d9c1f&u=https%3A%2F%2Fgerrit.fd.io%2Fr%2Fc%2Fvpp%2F%2B%2F34815>. Can you try applying that patch to your build? Let me know if that helps. Thanks, -Matt On Fri, Feb 18, 2022 at 3:06 PM Mechthild Buescher via lists.fd.io<https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-56f4fcff43ab917f&q=1&e=18a9b9de-69e2-4627-ba7e-b4b0481d9c1f&u=http%3A%2F%2Flists.fd.io%2F> <mechthild.buescher=ericsson....@lists.fd.io<mailto:ericsson....@lists.fd.io>> wrote: Hi all, We are using VPP on two nodes and run VRRP on them. This works fine as long as we use one VLAN. But if we configure VRs in different VLANs we see strange behavior: Every 4 seconds, the backup VRRP VR shortly changes to master and sends an advertisement message to the master and then it changes back to master. The symptom: # while true; do date; vppctl show vrrp vr | grep state; echo; sleep 1; done Fri Feb 18 20:33:15 UTC 2022 state Backup flags: preempt no accept yes unicast no state Backup flags: preempt no accept yes unicast no Fri Feb 18 20:33:16 UTC 2022 state Backup flags: preempt no accept yes unicast no state Backup flags: preempt no accept yes unicast no Fri Feb 18 20:33:17 UTC 2022 state Backup flags: preempt no accept yes unicast no state Backup flags: preempt no accept yes unicast no Fri Feb 18 20:33:18 UTC 2022 state Backup flags: preempt no accept yes unicast no state Master flags: preempt no accept yes unicast no Fri Feb 18 20:33:19 UTC 2022 state Backup flags: preempt no accept yes unicast no state Backup flags: preempt no accept yes unicast no Fri Feb 18 20:33:20 UTC 2022 state Backup flags: preempt no accept yes unicast no state Backup flags: preempt no accept yes unicast no Fri Feb 18 20:33:21 UTC 2022 state Backup flags: preempt no accept yes unicast no state Backup flags: preempt no accept yes unicast no Fri Feb 18 20:33:22 UTC 2022 state Backup flags: preempt no accept yes unicast no state Master flags: preempt no accept yes unicast no Fri Feb 18 20:33:23 UTC 2022 state Backup flags: preempt no accept yes unicast no state Backup flags: preempt no accept yes unicast no # tcpdump -nve -r /tmp/my_vppExt0_2vrid_2vlan.pcap | grep -B1 "vrid 232” 00:02:25.805841 00:00:5e:00:01:e8 > 01:00:5e:00:00:12, ethertype 802.1Q (0x8100), length 50: vlan 102, p 0, ethertype IPv4, (tos 0x0, ttl 255, id 0, offset 0, flags [none], proto VRRP (112), length 32) 172.17.2.2 > 224.0.0.18<https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-56c1a0226d9ef03f&q=1&e=18a9b9de-69e2-4627-ba7e-b4b0481d9c1f&u=http%3A%2F%2F224.0.0.18%2F>: vrrp 172.17.2.2 > 224.0.0.18<https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-56c1a0226d9ef03f&q=1&e=18a9b9de-69e2-4627-ba7e-b4b0481d9c1f&u=http%3A%2F%2F224.0.0.18%2F>: VRRPv3, Advertisement, vrid 232, prio 100, intvl 100cs, length 12, addrs: 172.17.2.3 -- 00:02:26.190168 00:00:5e:00:01:e8 > 01:00:5e:00:00:12, ethertype 802.1Q (0x8100), length 60: vlan 102, p 0, ethertype IPv4, (tos 0x0, ttl 255, id 0, offset 0, flags [none], proto VRRP (112), length 32) 172.17.2.3 > 224.0.0.18<https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-56c1a0226d9ef03f&q=1&e=18a9b9de-69e2-4627-ba7e-b4b0481d9c1f&u=http%3A%2F%2F224.0.0.18%2F>: vrrp 172.17.2.3 > 224.0.0.18<https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-56c1a0226d9ef03f&q=1&e=18a9b9de-69e2-4627-ba7e-b4b0481d9c1f&u=http%3A%2F%2F224.0.0.18%2F>: VRRPv3, Advertisement, vrid 232, prio 200, intvl 100cs, length 12, addrs: 172.17.2.3 -- 00:02:27.194227 00:00:5e:00:01:e8 > 01:00:5e:00:00:12, ethertype 802.1Q (0x8100), length 60: vlan 102, p 0, ethertype IPv4, (tos 0x0, ttl 255, id 0, offset 0, flags [none], proto VRRP (112), length 32) 172.17.2.3 > 224.0.0.18<https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-56c1a0226d9ef03f&q=1&e=18a9b9de-69e2-4627-ba7e-b4b0481d9c1f&u=http%3A%2F%2F224.0.0.18%2F>: vrrp 172.17.2.3 > 224.0.0.18<https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-56c1a0226d9ef03f&q=1&e=18a9b9de-69e2-4627-ba7e-b4b0481d9c1f&u=http%3A%2F%2F224.0.0.18%2F>: VRRPv3, Advertisement, vrid 232, prio 200, intvl 100cs, length 12, addrs: 172.17.2.3 The configuration: BACKUP system: ip table add 26 ip table add 27 set interface state Ext-0 up create sub-interfaces Ext-0 101 create sub-interfaces Ext-0 102 set interface state Ext-0.101 up set interface state Ext-0.102 up set interface ip table Ext-0.101 26 set interface ip table Ext-0.102 27 set interface ip address Ext-0.101 172.17.1.2/25<https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-128db6a02b02e48e&q=1&e=18a9b9de-69e2-4627-ba7e-b4b0481d9c1f&u=http%3A%2F%2F172.17.1.2%2F25> set interface ip address Ext-0.102 172.17.2.2/25<https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-b470e363fe01b090&q=1&e=18a9b9de-69e2-4627-ba7e-b4b0481d9c1f&u=http%3A%2F%2F172.17.2.2%2F25> vrrp vr add Ext-0.101 vr_id 231 priority 100 no_preempt accept_mode 172.17.1.3 vrrp vr add Ext-0.102 vr_id 232 priority 100 no_preempt accept_mode 172.17.2.3 MASTER system: ip table add 26 ip table add 27 set interface state Ext-0 up create sub-interfaces Ext-0 101 create sub-interfaces Ext-0 102 set interface state Ext-0.101 up set interface state Ext-0.102 up set interface ip table Ext-0.101 26 set interface ip table Ext-0.102 27 set interface ip address Ext-0.101 172.17.1.1/25<https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-9bc28876a446a59f&q=1&e=18a9b9de-69e2-4627-ba7e-b4b0481d9c1f&u=http%3A%2F%2F172.17.1.1%2F25> set interface ip address Ext-0.102 172.17.2.1/25<https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-19bb88d40d9ec1f4&q=1&e=18a9b9de-69e2-4627-ba7e-b4b0481d9c1f&u=http%3A%2F%2F172.17.2.1%2F25> vrrp vr add Ext-0.101 vr_id 231 priority 200 no_preempt accept_mode 172.17.1.3 vrrp vr add Ext-0.102 vr_id 232 priority 200 no_preempt accept_mode 172.17.2.3 Running BACKUP config: # vppctl show vrrp vr [0] sw_if_index 2 VR ID 231 IPv4 state Backup flags: preempt no accept yes unicast no priority: configured 100 adjusted 100 timers: adv interval 100 master adv 100 skew 60 master down 360 virtual MAC 00:00:5e:00:01:e7 addresses 172.17.1.3 peer addresses tracked interfaces [1] sw_if_index 3 VR ID 232 IPv4 state Backup flags: preempt no accept yes unicast no priority: configured 100 adjusted 100 timers: adv interval 100 master adv 100 skew 60 master down 360 virtual MAC 00:00:5e:00:01:e8 addresses 172.17.2.3 peer addresses tracked interfaces Running MASTER config: # vppctl show vrrp vr [0] sw_if_index 2 VR ID 231 IPv4 state Master flags: preempt no accept yes unicast no priority: configured 200 adjusted 200 timers: adv interval 100 master adv 100 skew 21 master down 321 virtual MAC 00:00:5e:00:01:e7 addresses 172.17.1.3 peer addresses tracked interfaces [1] sw_if_index 3 VR ID 232 IPv4 state Master flags: preempt no accept yes unicast no priority: configured 200 adjusted 200 timers: adv interval 100 master adv 100 skew 21 master down 321 virtual MAC 00:00:5e:00:01:e8 addresses 172.17.2.3 peer addresses tracked interfaces VPP version is the same on both systems: # vppctl show version verbose Version: v21.06.0-1~g7d4f93832 Compiled by: suse Compile host: SUSE Compile date: 2021-07-05T14:19:31 Compile location: /root/vpp-21.06-release/vpp Compiler: GCC 7.5.0 Current PID: 11346 The NIC is the same on both systems: # vppctl show hardware-interface Name Idx Link Hardware Ext-0 1 up Ext-0 Link speed: 10 Gbps RX Queues: queue thread mode 0 vpp_wk_0 (1) polling 1 vpp_wk_1 (2) polling 2 vpp_wk_2 (3) polling Ethernet address 78:ac:44:1f:47:60 Intel X710/XL710 Family carrier up full duplex mtu 9206 flags: admin-up pmd maybe-multiseg subif tx-offload intel-phdr-cksum rx-ip4-cksum int-supported int-unmaskable Devargs: rx: queues 3 (max 192), desc 1024 (min 64 max 4096 align 32) tx: queues 4 (max 192), desc 1024 (min 64 max 4096 align 32) pci: device 8086:1572 subsystem 1028:1f9c address 0000:17:00.00 numa 0 max rx packet len: 9728 promiscuous: unicast off all-multicast on vlan offload: strip off filter off qinq off rx offload avail: vlan-strip ipv4-cksum udp-cksum tcp-cksum qinq-strip outer-ipv4-cksum vlan-filter vlan-extend jumbo-frame scatter keep-crc rss-hash rx offload active: ipv4-cksum jumbo-frame scatter tx offload avail: vlan-insert ipv4-cksum udp-cksum tcp-cksum sctp-cksum tcp-tso outer-ipv4-cksum qinq-insert vxlan-tnl-tso gre-tnl-tso ipip-tnl-tso geneve-tnl-tso multi-segs mbuf-fast-free tx offload active: udp-cksum tcp-cksum multi-segs rss avail: ipv4-frag ipv4-tcp ipv4-udp ipv4-sctp ipv4-other ipv6-frag ipv6-tcp ipv6-udp ipv6-sctp ipv6-other l2-payload rss active: ipv4-frag ipv4-tcp ipv4-udp ipv4-other ipv6-frag ipv6-tcp ipv6-udp ipv6-other tx burst mode: Scalar rx burst mode: Vector AVX2 Scattered There is a switch between these interfaces but to me it looks like a bug in VPP as it is clearly related to the second VLAN configured in VPP. If I swap the order of configuration (vrrp vr add …), then it’s the other VR which is toggling every 4 seconds. Can you help, please? Thanks, BR/Mechthild
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#20886): https://lists.fd.io/g/vpp-dev/message/20886 Mute This Topic: https://lists.fd.io/mt/89242509/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-