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
This commit is contained in:
Darragh O'Reilly 2014-11-17 10:20:58 +00:00
parent 8806ed2494
commit abfc460ba9

View File

@ -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