[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openvswitch-discuss
Subject:    [ovs-discuss] Problems with vsctl vhost-del/connected device, OVS 2.4.0 with corrections from 2.4
From:       jan.wickbom () ericsson ! com (Jan Wickbom)
Date:       2016-02-24 15:33:47
Message-ID: E24D6DF196B27F4CAF11AC3FAC6954EC2C9AB515 () ESESSMB107 ! ericsson ! se
[Download RAW message or body]

Hi,
If a vhost-user port is deleted (vsctl del-port) while the vhost device is still \
attached to a VM, the port is ending up in some "semi-deleted" state. Even though we \
indicate a reject of the command in netdev_dpdk_vhost_destruct() by an ERROR log, we \
still run netdev_close()/netdev_unref() meaning the name is removed from netdev_shash \
and the memory is also freed (!), given back to dpdk. However, the device is NOT \
linked out from dpdk_list, meaning it will be handled in the dpdk_watchdog thread. \
Since the name is removed from netdev_shash, it is treated as not existing from an \
operators view. Whenever this newly freed memory is allocated again, a lot of strange \
things may happen to the "ghost device" present in the dpdk_list.

I think the check for an attached vhost device should be done a lot earlier, maybe
ofproto_port_delete() is a good place?

I have only checked the vhost-user port type, may the same problem exists for other  \
types as well?  
Anyone else seen the problem?
 
BR
/jaw


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic