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: <vpp-dev@lists.fd.io> on behalf of Anthony Linz <anthonylin...@gmail.com> Date: Tuesday, February 19, 2019 at 3:11 AM To: "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io> 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: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-