From: Darragh O'Reilly Date: Mon, 17 Nov 2014 10:20:58 +0000 (+0000) Subject: linuxbridge-agent: make vxlan unicast check more efficent X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=56b0029014ff7e844c2fde45f7b52b7f115757e8;p=openstack-build%2Fneutron-build.git linuxbridge-agent: make vxlan unicast check more efficent A list with the full range of vxlan VNIs (1 to 2**24) was using over 300MB of memory. This patch uses xrange instead of range. Closes-Bug: #1393362 Change-Id: I21ccab758e7911712690fd5e732f64361e809264 (cherry picked from commit 0bf69ad80fb77773e767e116357cf6e1666b3f5d) --- diff --git a/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py b/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py index 8011c0d4b..d9f7f686f 100755 --- a/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py +++ b/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py @@ -27,6 +27,7 @@ import eventlet eventlet.monkey_patch() from oslo.config import cfg +from six import moves from neutron.agent import l2population_rpc as l2pop_rpc from neutron.agent.linux import ip_lib @@ -523,7 +524,7 @@ class LinuxBridgeManager: 'command': 'bridge fdb', 'mode': 'VXLAN UCAST'}) return False - for segmentation_id in range(1, constants.MAX_VXLAN_VNI + 1): + for segmentation_id in moves.xrange(1, constants.MAX_VXLAN_VNI + 1): if not ip_lib.device_exists( self.get_vxlan_device_name(segmentation_id)): break