[ovs-dev] [PATCH RFC] ovs-lib: try to call exit before killing
Ilya Maximets
i.maximets at samsung.com
Tue Dec 15 13:58:04 UTC 2015
Yes. Tested with last master
398e182 ("datapath-windows: remove ASSERT in OvsDoFlowLookupOutput()").
Problem is that ovs-vswitchd killed by 'ovs-ctl stop' called by systemd.
netdev_dpdk_vhost_destruct() never called.
Best regards, Ilya Maximets.
On 15.12.2015 16:52, Traynor, Kevin wrote:
>
>> -----Original Message-----
>> From: dev [mailto:dev-bounces at openvswitch.org] On Behalf Of Ilya Maximets
>> Sent: Tuesday, December 15, 2015 1:38 PM
>> To: dev at openvswitch.org; Ben Pfaff
>> Cc: Ilya Maximets; Pavel Fedin; Dyasly Sergey
>> Subject: [ovs-dev] [PATCH RFC] ovs-lib: try to call exit before killing
>>
>> While killing OVS may not free all allocated resources.
>>
>> Eample:
>> Socket for vhost-user port will stay in a system
>> after 'systemctl stop openvswitch' and opening
>> that port after restart will fail.
>
> Have you tested the issue with this commit?
>
> commit e04f7e4f2f574500334326dbda1bb808cf25c721
> Author: Ciara Loftus <ciara.loftus at intel.com>
> Date: Wed Oct 21 14:50:36 2015 +0100
>
> netdev-dpdk: Clean-up after vHost User port delete
>
> Unregister and delete the socket associated with a vhost-user
> port when the port is deleted and/or the switch is brought down.
> Do not delete the socket if the vhost-user device is still attached
> to the guest.
>
> Signed-off-by: Ciara Loftus <ciara.loftus at intel.com>
> Acked-by: Daniele Di Proietto <diproiettod at vmware.com>
>
>>
>> Signed-off-by: Ilya Maximets <i.maximets at samsung.com>
>> ---
>> utilities/ovs-lib.in | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in
>> index dd8a1e9..8b371dd 100644
>> --- a/utilities/ovs-lib.in
>> +++ b/utilities/ovs-lib.in
>> @@ -202,11 +202,14 @@ start_daemon () {
>> stop_daemon () {
>> if test -e "$rundir/$1.pid"; then
>> if pid=`cat "$rundir/$1.pid"`; then
>> - for action in TERM .1 .25 .65 1 1 1 1 KILL 1 1 1 2 10 15 30
>> FAIL; do
>> + for action in EXIT 2 TERM .1 .25 .65 1 1 1 1 KILL 1 1 1 2 10 15
>> 30 FAIL; do
>> if pid_exists "$pid" >/dev/null 2>&1; then :; else
>> return 0
>> fi
>> case $action in
>> + EXIT)
>> + action "Exiting $1 ($pid)" ${bindir}/ovs-appctl -t
>> $1 exit
>> + ;;
>> TERM)
>> action "Killing $1 ($pid)" kill $pid
>> ;;
>> --
>> 2.1.4
>>
>> _______________________________________________
>> dev mailing list
>> dev at openvswitch.org
>> http://openvswitch.org/mailman/listinfo/dev
More information about the dev
mailing list