[ovs-dev] [PATCH v3] Rapid Spanning Protocol Implementation (IEEE 802.1D) + functional tests

Ryan Wilson 76511 wryan at vmware.com
Mon May 26 17:02:31 UTC 2014


http://patchwork.openvswitch.org/patch/4139/

With this patch, xlate_rwlock will be gone (as xlate will use RCU locking). So this will no longer be an issue.

Still waiting on a review for this patch from Ben or Ethan, but hopefully it will be pushed next week.

Ryan
________________________________________
From: dev <dev-bounces at openvswitch.org> on behalf of Martino Fornasa <mf at fornasa.it>
Sent: Monday, May 26, 2014 9:50 AM
To: Jarno Rajahalme
Cc: dev at openvswitch.org
Subject: Re: [ovs-dev] [PATCH v3] Rapid Spanning Protocol Implementation (IEEE 802.1D) + functional tests

Jarno Rajahalme wrote:
> Daniele, Martino,
>
> Thank you for the contribution, and sorry that it has taken so long for me to get to the review!
[...]

Dear all,
we are working on Jarno revision, and we will provide shortly a revised patch.
In the meantime, I would like to ask for advice on an issue we have encountered.

In RSTP, there are some cases in which the reception of an incoming BPDU triggers the the transmission of one or more BPDUs.
It seems that the approach we are following at the moment could not allow such, as a deadlock on the xlate_rwlock mutex is triggered.

In particular:
* The reception of a BPDU triggers the execution of xlate_actions__() [ofproto/ofproto-dpif-xlate.c] which takes a lock on xlate_rwlock.
* The processing of such BPDU inside lib/rstp* components triggers the following calls:
** rstp_send_bpdu() [lib/rstp-state-machines.c]
** rstp_send_bpdu_cb() [lib/ofproto/ofproto-dpif.c]
** ofproto_dpif_send_packet() [lib/ofproto/ofproto-dpif.c]
** xlate_send_packet() [lib/ofproto-dpif.xlate.c]
** xlate_send_packet() tries to acquire a lock on xlate_rwlock, resulting in a deadlock.

I am not familiar with the internals of ovs locking mechanisms, so, I am not sure how to proceed...

_______________________________________________
dev mailing list
dev at openvswitch.org
https://urldefense.proofpoint.com/v1/url?u=http://openvswitch.org/mailman/listinfo/dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=TfBS78Vw3dzttvXidhbffg%3D%3D%0A&m=wc3uP4Qc6kiUtmH7ItN2P0bUrzOK5joJa5644d%2FZnDI%3D%0A&s=3a9c6333bb316c831c3fb82d553c681b2df26c733c19f68037fb9e50480886b3


More information about the dev mailing list