Anthony,
L3 address should be configured on the bond interface, not the slave interface.
If there is a switch in between VPP’s physical NICs and the VM, the switch
should be configured to do the bonding, not the remote VM. Use show bond to
check the bundle is created successfully between VPP and the remote partner.
vpp# sh bond
sh bond
interface name sw_if_index mode load balance active slaves slaves
BondEthernet0 3 lacp l2 2 2
vpp# show bond details
show bond details
BondEthernet0
mode: lacp
load balance: l2
number of active slaves: 2
TenGigabitEthernet8/0/0
TenGigabitEthernet8/0/1
number of slaves: 2
TenGigabitEthernet8/0/0
TenGigabitEthernet8/0/1
device instance: 0
interface id: 0
sw_if_index: 3
hw_if_index: 3
vpp#
Steven
From: <[email protected]> on behalf of Anthony Linz <[email protected]>
Date: Tuesday, February 19, 2019 at 3:11 AM
To: "[email protected]" <[email protected]>
Subject: [vpp-dev] Bond interface won't respond ping #vnet #vpp
Dear all
I was working on some LACP testing in VPP 19.01.
I configured VPP like this:
create bond mode lacp
set interface state BondEthernet0 up
bond add BondEthernet0 GigabitEthernet0/x/0
The 'GigabitEthernet0/x/0' has some IP address like '10.10.10.80/24' and before
adding it as a slave to Bond interface, pinging the interface from another
Virtual Machine with IP address '10.10.10.81/24' was all OK (Both interfaces
are in the same switch).
After binding GigabitEthernet to Bond, slave interface stopped responding . The
trace looks like this:
00:02:07:006939: dpdk-input
GigabitEthernet0/8/0 rx queue 0
buffer 0x494a: current data 0, length 98, free-list 0, clone-count 0,
totlen-nifb 0, trace 0x0
ext-hdr-valid
l4-cksum-computed l4-cksum-correct l2-hdr-offset 0
PKT MBUF: port 0, nb_segs 1, pkt_len 98
buf_len 2176, data_len 98, ol_flags 0x0, data_off 128, phys_addr 0x22b25300
packet_type 0x0 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
rss 0x0 fdir.hi 0x0 fdir.lo 0x0
IP4: 52:54:00:16:b8:43 -> 52:54:00:d8:95:e0
ICMP: 10.10.10.81 -> 10.10.10.80
tos 0x00, ttl 64, length 84, checksum 0x168f
fragment id 0xfb65, flags DONT_FRAGMENT
ICMP echo_request checksum 0xb04d
00:02:07:010073: bond-input
src 52:54:00:16:b8:43, dst 52:54:00:d8:95:e0, GigabitEthernet0/8/0 ->
BondEthernet0
00:02:07:010103: ethernet-input
IP4: 52:54:00:16:b8:43 -> 52:54:00:d8:95:e0
00:02:07:010129: ip4-input
ICMP: 10.10.10.81 -> 10.10.10.80
tos 0x00, ttl 64, length 84, checksum 0x168f
fragment id 0xfb65, flags DONT_FRAGMENT
ICMP echo_request checksum 0xb04d
00:02:07:010139: ip4-not-enabled
ICMP: 10.10.10.81 -> 10.10.10.80
tos 0x00, ttl 64, length 84, checksum 0x168f
fragment id 0xfb65, flags DONT_FRAGMENT
ICMP echo_request checksum 0xb04d
00:02:07:010154: error-drop
ethernet-input: no error
I thought Bond interface needs an IP so I tried to give it an IP as
'60.60.60.60/24' and so change Virtual Machine's IP as '60.60.60.81/24' and
tried to ping Bond interface this time.
I wasn't able to get ICMP packets so I tried to manually set ARPs in both VPP
and VM.
Result of pinging trace looks pretty like this:
00:27:21:247255: dpdk-input
GigabitEthernet0/8/0 rx queue 0
buffer 0x115a5: current data 0, length 98, free-list 0, clone-count 0,
totlen-nifb 0, trace 0x1
ext-hdr-valid
l4-cksum-computed l4-cksum-correct l2-hdr-offset 0
PKT MBUF: port 0, nb_segs 1, pkt_len 98
buf_len 2176, data_len 98, ol_flags 0x0, data_off 128, phys_addr 0x22e569c0
packet_type 0x0 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
rss 0x0 fdir.hi 0x0 fdir.lo 0x0
IP4: 52:54:00:16:b8:43 -> 52:54:00:d8:95:e0
ICMP: 60.60.60.81 -> 60.60.60.60
tos 0x00, ttl 64, length 84, checksum 0xeee1
fragment id 0x5ac2, flags DONT_FRAGMENT
ICMP echo_request checksum 0x7fb4
00:27:21:247283: bond-input
src 52:54:00:16:b8:43, dst 52:54:00:d8:95:e0, GigabitEthernet0/8/0 ->
BondEthernet0
00:27:21:247286: ethernet-input
IP4: 52:54:00:16:b8:43 -> 52:54:00:d8:95:e0
00:27:21:247287: ip4-input
ICMP: 60.60.60.81 -> 60.60.60.60
tos 0x00, ttl 64, length 84, checksum 0xeee1
fragment id 0x5ac2, flags DONT_FRAGMENT
ICMP echo_request checksum 0x7fb4
00:27:21:247288: ip4-lookup
fib 0 dpo-idx 4 flow hash: 0x00000000
ICMP: 60.60.60.81 -> 60.60.60.60
tos 0x00, ttl 64, length 84, checksum 0xeee1
fragment id 0x5ac2, flags DONT_FRAGMENT
ICMP echo_request checksum 0x7fb4
00:27:21:247290: ip4-local
ICMP: 60.60.60.81 -> 60.60.60.60
tos 0x00, ttl 64, length 84, checksum 0xeee1
fragment id 0x5ac2, flags DONT_FRAGMENT
ICMP echo_request checksum 0x7fb4
00:27:21:247290: ip4-icmp-input
ICMP: 60.60.60.81 -> 60.60.60.60
tos 0x00, ttl 64, length 84, checksum 0xeee1
fragment id 0x5ac2, flags DONT_FRAGMENT
ICMP echo_request checksum 0x7fb4
00:27:21:247292: ip4-icmp-echo-request
ICMP: 60.60.60.81 -> 60.60.60.60
tos 0x00, ttl 64, length 84, checksum 0xeee1
fragment id 0x5ac2, flags DONT_FRAGMENT
ICMP echo_request checksum 0x7fb4
00:27:21:247293: ip4-load-balance
fib 0 dpo-idx 24 flow hash: 0x00000000
ICMP: 60.60.60.60 -> 60.60.60.81
tos 0x00, ttl 64, length 84, checksum 0x71aa
fragment id 0xd7f9, flags DONT_FRAGMENT
ICMP echo_reply checksum 0x87b4
00:27:21:247293: ip4-rewrite
tx_sw_if_index 3 dpo-idx 7 : ipv4 via 60.60.60.81 BondEthernet0: mtu:9000
52540016b843525400d895e00800 flow hash: 0x00000000
00000000: 52540016b843525400d895e0080045000054d7f94000400171aa3c3c3c3c3c3c
00000020: 3c51000087b40fc7000bf6bf6b5c000000003b8a0c00000000001011
00:27:21:247294: BondEthernet0-output
BondEthernet0
IP4: 52:54:00:d8:95:e0 -> 52:54:00:16:b8:43
ICMP: 60.60.60.60 -> 60.60.60.81
tos 0x00, ttl 64, length 84, checksum 0x71aa
fragment id 0xd7f9, flags DONT_FRAGMENT
ICMP echo_reply checksum 0x87b4
It seems that bond is able to receive and reply ICMP packet this time but reply
packet won't exit VPP and won't be received by VM.
Here are my questions:
Is all configs are correct ?
Have I missed some?
If all configs are correct and sufficient then what causes the problem?
Thanks in advance for your helpful answers
--
Anthony
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12288): https://lists.fd.io/g/vpp-dev/message/12288
Mute This Topic: https://lists.fd.io/mt/29916205/21656
Mute #vpp: https://lists.fd.io/mk?hashtag=vpp&subid=1480452
Mute #vnet: https://lists.fd.io/mk?hashtag=vnet&subid=1480452
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-