[dpdk-dev] Questions about vm2vm vhost-user/virtio-net test

David Christensen drc at linux.vnet.ibm.com
Thu Sep 30 20:25:46 CEST 2021



On 9/30/21 2:07 AM, Min Hu (Connor) wrote:
> Hi, all,
>      I got the answer: testpmd fwd mode should be set "io", then ping
> OK.
> 
>      IO fwd mode, it will not change packet MAC address info, and
> ping OK
>      MAC fwd mode, it will change packet MAC address info, like:
>      "rte_ether_addr_copy(&peer_eth_addrs[fs->peer_addr],
>                  &eth_hdr->d_addr);
>      rte_ether_addr_copy(&ports[fs->tx_port].eth_addr,
>                  &eth_hdr->s_addr)"
>      Then, ping failed.
> 
>      So, everyone, I got one question: how could this happen?
>      router change packet src MAC and dst MAC, but ping OK,
>      testpmd vhost, treated as switch, also changes packert src MAC
>      and dst MAC, but ping failed ?

Running testpmd in this configuration is more like a virtual wire, not a 
switch, though in both cases the SRC/DST MAC addresses aren't typically 
modified by the wire/switch when the frame is in transit. Both endpoints 
reside in the same Ethernet broadcast domain and can talk to each other 
directly.

A router typically connects two different broadcast domains, which may 
or may not be using Ethernet, so the router usually changes the SRC/DST 
MAC address to work correctly as the frame transitions from one 
broadcast domain into another. See 
https://en.wikipedia.org/wiki/Broadcast_domain.

Dave


More information about the dev mailing list