Hi All,

We are facing issues in deleting bridge after creating group in OVS 2.1.0
release.

It appears like the issue is in ofproto_destroy function:

=========================================
static void
ofproto_destroy__(struct ofproto *ofproto)
    OVS_EXCLUDED(ofproto_mutex)
{
    struct oftable *table;

    ovs_assert(list_is_empty(&ofproto->pending));

    destroy_rule_executes(ofproto);
    guarded_list_destroy(&ofproto->rule_executes);

    delete_group(ofproto, OFPG_ALL);
    ovs_rwlock_destroy(&ofproto->groups_rwlock);
    hmap_destroy(&ofproto->groups);
...
}
=========================================

The list rule_executes is deleted before deleting groups. Group destroy is
dependent on
rule_execute list (It tries to acquire lock on this list) which fails.

So I think

    destroy_rule_executes(ofproto);
    guarded_list_destroy(&ofproto->rule_executes);

should be placed after deletion of groups.

Thanks,
Raghu
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to