It looks like this wasn't backported, should it be?
On Wed, Sep 24, 2014 at 02:06:46PM -0700, Andy Zhou wrote: > Pushed. Thanks for the fix! > > On Tue, Sep 23, 2014 at 9:41 PM, Simon Horman > <simon.hor...@netronome.com> wrote: > > When searching through the valid ids an id should > > be used if is not found rather than if it is found. > > > > It appears to me that without this change duplicate recirculation > > ids may used in cases where the last recirculation id has > > been allocated; selection loops back to the beginning of the pool and; > > reaches a recirculation id that is still in use. > > > > As the number of recirculation ids is currently RECIRC_ID_N_IDS = 1024 this > > does not seem beyond the bounds of possibility. > > > > I have not verified that such a scenario can actually occur. But it seems > > that a likely consequence would be that some packets may be forwarded > > incorrectly. > > > > Signed-off-by: Simon Horman <simon.hor...@netronome.com> > > --- > > ofproto/ofproto-dpif-rid.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/ofproto/ofproto-dpif-rid.c b/ofproto/ofproto-dpif-rid.c > > index b3d98eb..e75dfc8 100644 > > --- a/ofproto/ofproto-dpif-rid.c > > +++ b/ofproto/ofproto-dpif-rid.c > > @@ -157,7 +157,7 @@ rid_pool_alloc_id(struct rid_pool *rids) > > } > > > > for(id = rids->base; id < rids->base + rids->n_ids; id++) { > > - if (rid_pool_find(rids, id)) { > > + if (!rid_pool_find(rids, id)) { > > goto found_free_id; > > } > > } > > -- > > 2.0.1 > > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev