## Environment
main: 192.168.70.103
hv1: 192.168.70.102
hv2: 192.168.70.101
The main and hv1 nodes are normal ovs node. hv2 is ovs-dpdk node.
## Problem
I enable gateway port ha and hv2 is the active node. I use ovs-tcpdump to
capture bfd packet. I found that main and hv1 nodes's bfd packet is correct.
But when capture the hv2(ovs-dpdk node)node, I only capture the send packet and
no recevied packet.
ovs-tcpdump to capture main node's bfd packet
```
tcpdump: listening on miens7, link-type EN10MB (Ethernet), capture size 262144
bytes
11:25:52.669982 be:6c:7a:26:5c:6b > 33:33:00:00:00:16, ethertype IPv6 (0x86dd),
length 90: (hlim 1, next-header Options (0) payload length: 36) :: > ff02::16:
HBH (rtalert: 0x0000) (padn) [icmp6 sum ok] ICMP6, multicast listener report
v2, 1 group record(s) [gaddr ff02::1:ff26:5c6b to_ex { }]
11:25:52.677994 be:6c:7a:26:5c:6b > 33:33:ff:26:5c:6b, ethertype IPv6 (0x86dd),
length 86: (hlim 255, next-header ICMPv6 (58) payload length: 32) :: >
ff02::1:ff26:5c6b: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who
has fe80::bc6c:7aff:fe26:5c6b
unknown option (14), length 8 (1):
0x0000: 752a 08ba 20cc
11:25:52.768438 3a:26:e2:80:97:4f > f6:e7:09:68:be:43, ethertype IPv4 (0x0800),
length 116: (tos 0x0, ttl 64, id 64334, offset 0, flags [DF], proto UDP (17),
length 102)
192.168.70.102.7855 > 192.168.70.103.6081: [udp sum ok] Geneve, Flags
[none], vni 0x0, proto TEB (0x6558)
a6:55:72:1b:86:75 > 00:23:20:00:00:01, ethertype IPv4 (0x0800), length
66: (tos 0xc0, ttl 255, id 0, offset 0, flags [none], proto UDP (17), length 52)
169.254.1.1.49164 > 169.254.1.0.3784: [no cksum] BFDv1, length: 24
Control, State Up, Flags: [none], Diagnostic: No Diagnostic (0x00)
Detection Timer Multiplier: 3 (300 ms Detection time), BFD Length: 24
My Discriminator: 0xcb488dc5, Your Discriminator: 0x27940c90
Desired min Tx Interval: 100 ms
Required min Rx Interval: 1000 ms
Required min Echo Interval: 0 ms
11:25:52.942842 f6:e7:09:68:be:43 > aa:4e:45:3a:fd:45, ethertype IPv4 (0x0800),
length 116: (tos 0x0, ttl 64, id 65468, offset 0, flags [DF], proto UDP (17),
length 102)
192.168.70.103.14662 > 192.168.70.101.6081: [udp sum ok] Geneve, Flags
[none], vni 0x0, proto TEB (0x6558)
82:7c:6a:1a:9f:d9 > 00:23:20:00:00:01, ethertype IPv4 (0x0800), length
66: (tos 0xc0, ttl 255, id 0, offset 0, flags [none], proto UDP (17), length 52)
169.254.1.1.52918 > 169.254.1.0.3784: [no cksum] BFDv1, length: 24
Control, State Up, Flags: [none], Diagnostic: Control Detection Time
Expired (0x01)
Detection Timer Multiplier: 3 (300 ms Detection time), BFD Length: 24
My Discriminator: 0x66cdadf3, Your Discriminator: 0xe67da05e
Desired min Tx Interval: 100 ms
Required min Rx Interval: 1000 ms
Required min Echo Interval: 0 ms
11:25:53.095262 f6:e7:09:68:be:43 > 3a:26:e2:80:97:4f, ethertype IPv4 (0x0800),
length 116: (tos 0x0, ttl 64, id 11384, offset 0, flags [DF], proto UDP (17),
length 102)
192.168.70.103.44158 > 192.168.70.102.6081: [udp sum ok] Geneve, Flags
[none], vni 0x0, proto TEB (0x6558)
02:5d:c6:c9:30:ba > 00:23:20:00:00:01, ethertype IPv4 (0x0800), length
66: (tos 0xc0, ttl 255, id 0, offset 0, flags [none], proto UDP (17), length 52)
169.254.1.1.52917 > 169.254.1.0.3784: [no cksum] BFDv1, length: 24
Control, State Up, Flags: [none], Diagnostic: No Diagnostic (0x00)
Detection Timer Multiplier: 3 (300 ms Detection time), BFD Length: 24
My Discriminator: 0x27940c90, Your Discriminator: 0xcb488dc5
Desired min Tx Interval: 100 ms
Required min Rx Interval: 1000 ms
Required min Echo Interval: 0 ms
```
ovs-tcpdump to capture hv2 node's bfd packet
```
tcpdump: listening on miens7, link-type EN10MB (Ethernet), capture size 262144
bytes
11:21:42.901477 aa:4e:45:3a:fd:45 > f6:e7:09:68:be:43, ethertype IPv4 (0x0800),
length 116: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17),
length 102)
192.168.70.101.58278 > 192.168.70.103.6081: [udp sum ok] Geneve, Flags
[none], vni 0x0, proto TEB (0x6558)
22:7d:a9:c4:24:5c > 00:23:20:00:00:01, ethertype IPv4 (0x0800), length
66: (tos 0xc0, ttl 255, id 0, offset 0, flags [none], proto UDP (17), length 52)
169.254.1.1.49154 > 169.254.1.0.3784: [no cksum] BFDv1, length: 24
Control, State Up, Flags: [none], Diagnostic: Control Detection Time
Expired (0x01)
Detection Timer Multiplier: 3 (300 ms Detection time), BFD Length: 24
My Discriminator: 0xe67da05e, Your Discriminator: 0x66cdadf3
Desired min Tx Interval: 100 ms
Required min Rx Interval: 1000 ms
Required min Echo Interval: 0 ms
11:21:43.173041 aa:4e:45:3a:fd:45 > 3a:26:e2:80:97:4f, ethertype IPv4 (0x0800),
length 116: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17),
length 102)
192.168.70.101.45326 > 192.168.70.102.6081: [udp sum ok] Geneve, Flags
[none], vni 0x0, proto TEB (0x6558)
92:8e:df:0a:b5:f1 > 00:23:20:00:00:01, ethertype IPv4 (0x0800), length
66: (tos 0xc0, ttl 255, id 0, offset 0, flags [none], proto UDP (17), length 52)
169.254.1.1.49155 > 169.254.1.0.3784: [no cksum] BFDv1, length: 24
Control, State Up, Flags: [none], Diagnostic: Control Detection Time
Expired (0x01)
Detection Timer Multiplier: 3 (300 ms Detection time), BFD Length: 24
My Discriminator: 0x1cbf65c5, Your Discriminator: 0x84f8571d
Desired min Tx Interval: 100 ms
Required min Rx Interval: 1000 ms
Required min Echo Interval: 0 ms
11:21:43.389329 42:24:06:19:eb:b8 > 33:33:00:00:00:16, ethertype IPv6 (0x86dd),
length 90: (hlim 1, next-header Options (0) payload length: 36) :: > ff02::16:
HBH (rtalert: 0x0000) (padn) [icmp6 sum ok] ICMP6, multicast listener report
v2, 1 group record(s) [gaddr ff02::1:ff19:ebb8 to_ex { }]
11:21:43.837401 42:24:06:19:eb:b8 > 33:33:ff:19:eb:b8, ethertype IPv6 (0x86dd),
length 86: (hlim 255, next-header ICMPv6 (58) payload length: 32) :: >
ff02::1:ff19:ebb8: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who
has fe80::4024:6ff:fe19:ebb8
unknown option (14), length 8 (1):
0x0000: b171 ccc7 207b
11:21:43.891403 aa:4e:45:3a:fd:45 > f6:e7:09:68:be:43, ethertype IPv4 (0x0800),
length 116: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17),
length 102)
192.168.70.101.58278 > 192.168.70.103.6081: [udp sum ok] Geneve, Flags
[none], vni 0x0, proto TEB (0x6558)
22:7d:a9:c4:24:5c > 00:23:20:00:00:01, ethertype IPv4 (0x0800), length
66: (tos 0xc0, ttl 255, id 0, offset 0, flags [none], proto UDP (17), length 52)
169.254.1.1.49154 > 169.254.1.0.3784: [no cksum] BFDv1, length: 24
Control, State Up, Flags: [none], Diagnostic: Control Detection Time
Expired (0x01)
Detection Timer Multiplier: 3 (300 ms Detection time), BFD Length: 24
My Discriminator: 0xe67da05e, Your Discriminator: 0x66cdadf3
Desired min Tx Interval: 100 ms
Required min Rx Interval: 1000 ms
Required min Echo Interval: 0 ms
```
At the same time, I open the hv2 bfd module's debug to acquire more log
information. And I found hv2 receive the bfd packet from main and hv1 nodes.
```
2022-09-08T10:53:52.477Z|00105|bfd(pmd-c07/id:13)|DBG|ovn-hv1-1: Received BFD
control message.
vers:1 diag:"Control Detection Time Expired" state:up mult:3 length:24
flags: none
my_disc:0x84f8571d your_disc:0x1cbf65c5
min_tx:100000us (100ms)
min_rx:1000000us (1000ms)
min_rx_echo:0us (0ms) Forwarding: true
Detect Multiplier: 3
Concatenated Path Down: false
TX Interval: Approx 1000ms
RX Interval: Approx 1000ms
Detect Time: now +2170ms
Next TX Time: now +261ms
Last TX Time: now -679ms
Local Flags: none
Local Session State: up
Local Diagnostic: Control Detection Time Expired
Local Discriminator: 0x1cbf65c5
Local Minimum TX Interval: 100ms
Local Minimum RX Interval: 1000ms
Remote Flags: none
Remote Session State: up
Remote Diagnostic: Control Detection Time Expired
Remote Discriminator: 0x84f8571d
Remote Minimum TX Interval: 100ms
Remote Minimum RX Interval: 1000ms
Remote Detect Multiplier: 3
2022-09-08T10:53:55.185Z|00107|bfd(pmd-c07/id:13)|DBG|ovn-main-1: Received BFD
control message.
vers:1 diag:"Control Detection Time Expired" state:up mult:3 length:24
flags: none
my_disc:0x66cdadf3 your_disc:0xe67da05e
min_tx:100000us (100ms)
min_rx:1000000us (1000ms)
min_rx_echo:0us (0ms) Forwarding: true
Detect Multiplier: 3
Concatenated Path Down: false
TX Interval: Approx 1000ms
RX Interval: Approx 1000ms
Detect Time: now +2179ms
Next TX Time: now +386ms
Last TX Time: now -594ms
Local Flags: none
Local Session State: up
Local Diagnostic: Control Detection Time Expired
Local Discriminator: 0xe67da05e
Local Minimum TX Interval: 100ms
Local Minimum RX Interval: 1000ms
Remote Flags: none
Remote Session State: up
Remote Diagnostic: Control Detection Time Expired
Remote Discriminator: 0x66cdadf3
Remote Minimum TX Interval: 100ms
Remote Minimum RX Interval: 1000ms
Remote Detect Multiplier: 3
```
In addition, all nodes bfd status is correct. So I wonder wheter ovs-tcpdump
has bug to lead only capture send packet in ovs-dpdk node or some configures i
set is not correct.
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss