qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [question]vhost-user: atuo fix network link broken during migration


From: Jason Wang
Subject: Re: [question]vhost-user: atuo fix network link broken during migration
Date: Tue, 24 Mar 2020 13:49:53 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0


On 2020/3/23 下午4:17, yangke (J) wrote:
We find an issue when host mce trigger openvswitch(dpdk) restart in source host 
during guest migration,


Did you mean the vhost-user netev was deleted from the source host?


VM is still link down in frontend after migration, it cause the network in VM 
never be up again.

virtio_net_load_device:
     /* nc.link_down can't be migrated, so infer link_down according
      * to link status bit in n->status */
     link_down = (n->status & VIRTIO_NET_S_LINK_UP) == 0;
     for (i = 0; i < n->max_queues; i++) {
         qemu_get_subqueue(n->nic, i)->link_down = link_down;
     }

guset:                    migrate begin -------> vCPU pause --------> vmsate load 
------->migrate finish
                                             ^                  ^               
      ^
                                             |                  |               
      |
openvswitch in source host:          begin to restart       restarting          
   started
                                             ^                  ^               
      ^
                                             |                  |               
      |
nc in frontend in source:               link down           link down           
  link down
                                             ^                  ^               
      ^
                                             |                  |               
      |
nc in frontend in destination:          link up             link up             
  link down
                                             ^                  ^               
      ^
                                             |                  |               
      |
guset network:                            broken             broken             
   broken
                                             ^                  ^               
      ^
                                             |                  |               
      |
nc in backend in source:                link down          link down            
  link up
                                             ^                  ^               
      ^
                                             |                  |               
      |
nc in backend in destination:           link up             link up             
  link up

The link_down of frontend was loaded from n->status, n->status is link down in 
source, so the link_down of
frontend is true. The backend in destination host is link up, but the frontend 
in destination host is
link down, it cause the network in gust never be up again until an guest cold 
reboot.

Is there a way to auto fix the link status? or just abort the migration in 
virtio net device load?


Maybe we can try to sync link status after migration?

Thanks





reply via email to

[Prev in Thread] Current Thread [Next in Thread]