[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