Re: [PATCH] vhost: broadcast RARP pkt by injecting it to receiving mbuf array
From: Yuanhan Liu <hidden>
Date: 2016-02-24 08:27:26
On Wed, Feb 24, 2016 at 08:15:36AM +0000, Qiu, Michael wrote:
On 2/22/2016 10:35 PM, Yuanhan Liu wrote:quoted
Broadcast RARP packet by injecting it to receiving mbuf array at rte_vhost_dequeue_burst(). Commit 33226236a35e ("vhost: handle request to send RARP") iterates all host interfaces and then broadcast it by all of them. It did notify the switches about the new location of the migrated VM, however, the mac learning table in the target host is wrong (at least in my test with OVS): $ ovs-appctl fdb/show ovsbr0 port VLAN MAC Age 1 0 b6:3c:72:71:cd:4d 10 LOCAL 0 b6:3c:72:71:cd:4e 10 LOCAL 0 52:54:00:12:34:68 9 1 0 56:f6:64:2c:bc:c0 1 Where 52:54:00:12:34:68 is the mac of the VM. As you can see from the above, the port learned is "LOCAL", which is the "ovsbr0" port. That is reasonable, since we indeed send the pkt by the "ovsbr0" interface. The wrong mac table lead all the packets to the VM go to the "ovsbr0" in the end, which ends up with all packets being lost, until the guest send a ARP quest (or reply) to refresh the mac learning table. Jianfeng then came up with a solution I have thought of firstly but NAKedIs it suitable to mention someone in the commit log?
Why it's not? It's not a secret name or something like that after all :) On the other hand, it's way of thanking Jianfeng's contribution to this patch. --yliu