From 4780f13745796a22ac1971bb9bf90a39317d7094 Mon Sep 17 00:00:00 2001 From: Gurucharan Shetty Date: Tue, 20 Nov 2012 03:18:11 -0800 Subject: [PATCH] ofproto: Fix ofport allocation. Currently running the following 3 commands results in vswitchd running in an infinite loop. ovs-vsctl add-port br1 port1 -- set interface port1 \ type=internal ofport_request=1 ovs-vsctl add-port br1 port2 -- set interface port2 \ type=internal ofport_request=2 ovs-vsctl add-port br1 port3 -- set interface port3 \ type=internal This patch lets us go through all the possible ofport values to find a free ofport. Signed-off-by: Gurucharan Shetty --- ofproto/ofproto.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c index 182da633..8bc9b590 100644 --- a/ofproto/ofproto.c +++ b/ofproto/ofproto.c @@ -1666,7 +1666,8 @@ alloc_ofp_port(struct ofproto *ofproto, const char *netdev_name) * flows. */ while (ofp_port >= ofproto->max_ports) { for (ofproto->alloc_port_no++; - ofproto->alloc_port_no < ofproto->max_ports; ) { + ofproto->alloc_port_no < ofproto->max_ports; + ofproto->alloc_port_no++) { if (!bitmap_is_set(ofproto->ofp_port_ids, ofproto->alloc_port_no)) { ofp_port = ofproto->alloc_port_no; -- 2.30.2