[ovs-dev] [RFC] connmgr: Make connmgr_wants_packet_in_on_miss() only check controller connections.
Alex Wang
alexw at nicira.com
Tue Jul 29 18:30:12 UTC 2014
Hey Simon,
I think we should not check 'ofconn's for OFCONN_SERVICE... This
change broke several tests:
*Please send `tests/testsuite.log' and all information you think might
help:*
* To: <bugs at openvswitch.org <bugs at openvswitch.org>>*
* Subject: [openvswitch 2.3.0] testsuite: 737 739 747 817 failed*
Wherein we use the ofctl monitor to simulate controller and capture the
packet_ins.
So, could you help me clarify if we need consider ofctl conn as a
controller connection?
Thanks,
Alex Wang,
On Tue, Jul 29, 2014 at 11:24 AM, Alex Wang <alexw at nicira.com> wrote:
> The connmgr_wants_packet_in_on_miss() should only check 'ofconn's
> of type OFCONN_PRIMARY (i.e. controller connections). This commit
> makes it happen.
>
> Signed-off-by: Alex Wang <alexw at nicira.com>
> ---
> ofproto/connmgr.c | 16 +++++++++-------
> 1 file changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/ofproto/connmgr.c b/ofproto/connmgr.c
> index 89af6b6..49ced1f 100644
> --- a/ofproto/connmgr.c
> +++ b/ofproto/connmgr.c
> @@ -1512,13 +1512,15 @@ connmgr_wants_packet_in_on_miss(struct connmgr
> *mgr) OVS_EXCLUDED(ofproto_mutex)
>
> ovs_mutex_lock(&ofproto_mutex);
> LIST_FOR_EACH (ofconn, node, &mgr->all_conns) {
> - enum ofputil_protocol protocol = ofconn_get_protocol(ofconn);
> -
> - if (ofconn->controller_id == 0 &&
> - (protocol == OFPUTIL_P_NONE ||
> - ofputil_protocol_to_ofp_version(protocol) < OFP13_VERSION)) {
> - ovs_mutex_unlock(&ofproto_mutex);
> - return true;
> + if (ofconn->type == OFCONN_PRIMARY) {
> + enum ofputil_protocol protocol = ofconn_get_protocol(ofconn);
> +
> + if (ofconn->controller_id == 0 &&
> + (protocol == OFPUTIL_P_NONE ||
> + ofputil_protocol_to_ofp_version(protocol) <
> OFP13_VERSION)) {
> + ovs_mutex_unlock(&ofproto_mutex);
> + return true;
> + }
> }
> }
> ovs_mutex_unlock(&ofproto_mutex);
> --
> 1.7.9.5
>
>
More information about the dev
mailing list