Thanks.
I folded in this change to update the comment:
@@ -172,14 +172,14 @@ static bool rconn_logging_connection_attempts__(const
struct rconn *);
* The new rconn is initially unconnected. Use rconn_connect() or
* rconn_connect_unreliably() to connect it.
*
* Connections made by the rconn will automatically negotiate an OpenFlow
* protocol version acceptable to both peers on the connection. The version
- * negotiated will be one of those in the 'allowed_versions' bitmap:
- * version 'x' is allowed if allowed_versions & (1 << x) is nonzero. If
- * 'allowed_versions' is zero, then OFPUTIL_DEFAULT_VERSIONS are allowed.
- **/
+ * negotiated will be one of those in the 'allowed_versions' bitmap: version
+ * 'x' is allowed if allowed_versions & (1 << x) is nonzero. (The underlying
+ * vconn will treat an 'allowed_versions' of 0 as OFPUTIL_DEFAULT_VERSIONS.)
+ */
struct rconn *
rconn_create(int probe_interval, int max_backoff, uint8_t dscp,
uint32_t allowed_versions)
{
struct rconn *rc = xzalloc(sizeof *rc);
On Tue, Dec 04, 2012 at 06:19:32PM -0800, Justin Pettit wrote:
> Looks good. Should the last sentence in the comment describing
> rconn_create be removed, since it's talking about what happens if
> 'allowed_versions' is zero?
>
> --Justin
>
>
> On Dec 4, 2012, at 5:51 PM, Ben Pfaff <[email protected]> wrote:
>
> > rconn_create() was substituting OFPUTIL_DEFAULT_VERSIONS if an
> > allowed_versions of 0 was passed in. At the same time,
> > connmgr_set_controllers() compared the adjusted value of allowed_versions
> > against the original value, saw that they were different, and concluded
> > that it should kill off and recreate the rconn with the "corrected"
> > allowed_versions.
> >
> > This commit fixes the problem by no longer adjusting allowed_versions.
> > There is no need, because it is only used in contexts where the original
> > version is OK.
> >
> > This problem was introduced by commit 90ef0206ea8f5a39 (connmgr:
> > Reinitialise controllers if protocols changes).
> >
> > Bug #14126.
> > CC: Simon Horman <[email protected]>
> > Reported-by: Natasha Gude <[email protected]>
> > Signed-off-by: Ben Pfaff <[email protected]>
> > ---
> > lib/rconn.c | 4 +---
> > 1 file changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/lib/rconn.c b/lib/rconn.c
> > index 45a0acd..ec661cd 100644
> > --- a/lib/rconn.c
> > +++ b/lib/rconn.c
> > @@ -218,9 +218,7 @@ rconn_create(int probe_interval, int max_backoff,
> > uint8_t dscp,
> > rconn_set_dscp(rc, dscp);
> >
> > rc->n_monitors = 0;
> > - rc->allowed_versions = allowed_versions
> > - ? allowed_versions
> > - : OFPUTIL_DEFAULT_VERSIONS;
> > + rc->allowed_versions = allowed_versions;
> >
> > return rc;
> > }
> > --
> > 1.7.10.4
> >
> > _______________________________________________
> > dev mailing list
> > [email protected]
> > http://openvswitch.org/mailman/listinfo/dev
>
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev