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.
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
<mechthild.buescher=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: vrrp 172.17.2.2 > 224.0.0.18: 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: vrrp 172.17.2.3 > 224.0.0.18: 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: vrrp 172.17.2.3 > 224.0.0.18: 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
>
> set interface ip address Ext-0.102 172.17.2.2/25
>
> 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
>
> set interface ip address Ext-0.102 172.17.2.1/25
>
> 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 (#20881): https://lists.fd.io/g/vpp-dev/message/20881
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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to