# Set local-ip to be the local IP address of this hypervisor.
# local_ip = 10.0.0.3
+# Uncomment if you want to use custom VLAN range.
+# vlan_min = 1
+# vlan_max = 4094
+
[AGENT]
# Agent's polling interval in seconds
polling_interval = 2
cfg.StrOpt('integration_bridge', default='br-int'),
cfg.StrOpt('tunnel_bridge', default='br-tun'),
cfg.StrOpt('local_ip', default='10.0.0.3'),
+ cfg.IntOpt('vlan_min', default=1),
+ cfg.IntOpt('vlan_max', default=4094),
]
agent_opts = [
vlans = {}
net_ids = {}
free_vlans = set()
- VLAN_MIN = 1
- VLAN_MAX = 4094
- def __init__(self):
+ def __init__(self, vlan_min=1, vlan_max=4094):
+ self.vlan_min = vlan_min
+ self.vlan_max = vlan_max
self.vlans.clear()
self.net_ids.clear()
- self.free_vlans = set(xrange(self.VLAN_MIN, self.VLAN_MAX + 1))
+ self.free_vlans = set(xrange(self.vlan_min, self.vlan_max + 1))
def already_used(self, vlan_id, network_id):
self.free_vlans.remove(vlan_id)
options.update({"reconnect_interval": reconnect_interval})
db.configure_db(options)
- self.vmap = VlanMap()
+ vlan_min = conf.OVS.vlan_min
+ vlan_max = conf.OVS.vlan_max
+
+ if vlan_min > vlan_max:
+ LOG.warn("Using default VLAN values! vlan_min = %s is larger"
+ " than vlan_max = %s!" % (vlan_min, vlan_max))
+ vlan_min = 1
+ vlan_max = 4094
+
+ self.vmap = VlanMap(vlan_min, vlan_max)
# Populate the map with anything that is already present in the
# database
vlans = ovs_db.get_vlans()
def testAddVlan(self):
vlan_id = self.vmap.acquire("foobar")
- self.assertTrue(vlan_id >= VlanMap.VLAN_MIN)
- self.assertTrue(vlan_id <= VlanMap.VLAN_MAX)
+ self.assertTrue(vlan_id >= self.vmap.vlan_min)
+ self.assertTrue(vlan_id <= self.vmap.vlan_max)
def testReleaseVlan(self):
vlan_id = self.vmap.acquire("foobar")
def testAddRelease4kVlans(self):
vlan_id = None
- num_vlans = VlanMap.VLAN_MAX - VlanMap.VLAN_MIN
+ num_vlans = self.vmap.vlan_max - self.vmap.vlan_min
for id in xrange(num_vlans):
vlan_id = self.vmap.acquire("net-%s" % id)
- self.assertTrue(vlan_id >= VlanMap.VLAN_MIN)
- self.assertTrue(vlan_id <= VlanMap.VLAN_MAX)
+ self.assertTrue(vlan_id >= self.vmap.vlan_min)
+ self.assertTrue(vlan_id <= self.vmap.vlan_max)
for id in xrange(num_vlans):
self.vmap.release("net-%s" % id)
# this value is high enough that we will exhaust
# all VLANs. We want to make sure 'existing_vlan'
# is never reallocated.
- num_vlans = VlanMap.VLAN_MAX - VlanMap.VLAN_MIN + 1
+ num_vlans = self.vmap.vlan_max - self.vmap.vlan_min + 1
for x in xrange(num_vlans):
vlan_id = self.vmap.acquire("net-%x" % x)
self.assertTrue(vlan_id != existing_vlan)