[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],
> ð_hdr->d_addr);
> rte_ether_addr_copy(&ports[fs->tx_port].eth_addr,
> ð_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