[dpdk-dev] Questions about vm2vm vhost-user/virtio-net test
Min Hu (Connor)
humin29 at huawei.com
Fri Oct 8 08:55:39 CEST 2021
Hi, David, thanks for your reply,
other question as below,
在 2021/10/1 2:25, David Christensen 写道:
>
>
> 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
Well, if SRC/DST MAC addresses modifed in some case, what will happen?
That is, A send ping request to B, while SRC/DST MAC addresses
modified,B can get the packet, but B cannot send ping reply.
This is the result of my test. Why?
> 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