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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to