Skip to content

Commit

Permalink
Merge "DM: Use VN network-id for configuring service interface ifls" …
Browse files Browse the repository at this point in the history
…into R2.20
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Jun 23, 2015
2 parents 7b67fe3 + 3357677 commit 0655865
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 15 deletions.
31 changes: 20 additions & 11 deletions src/config/device-manager/device_manager/db.py
Expand Up @@ -210,11 +210,9 @@ def push_config(self):
else:
vn_dict[vn_id] = [li.name]

#for now, assume service port ifls unit numbers are always starts with 0 and goes on
service_port_id = 1
for vn_id, interfaces in vn_dict.items():
vn_obj = VirtualNetworkDM.get(vn_id)
if vn_obj is None or vn_obj.vxlan_vni is None:
if vn_obj is None or vn_obj.vxlan_vni is None or vn_obj.vn_network_id is None:
continue
export_set = None
import_set = None
Expand Down Expand Up @@ -264,14 +262,17 @@ def push_config(self):
break

if export_set is not None and self.is_junos_service_ports_enabled() and len(vn_obj.instance_ip_map) > 0:
vrf_name = vrf_name[:123] + '-nat'
interfaces = []
service_ports = self.junos_service_ports.get('service_port')
interfaces.append(service_ports[0] + "." + str(service_port_id))
service_port_id = service_port_id + 1
interfaces.append(service_ports[0] + "." + str(service_port_id))
service_port_id = service_port_id + 1
self.config_manager.add_routing_instance(vrf_name,
service_port_id = 2*vn_obj.vn_network_id - 1
if self.is_service_port_id_valid(service_port_id) == False:
self._logger.error("DM can't allocate service interfaces for \
(vn, vn-id)=(%s,%s)" % (vn_obj.fq_name, vn_obj.vn_network_id))
else:
vrf_name = vrf_name[:123] + '-nat'
interfaces = []
service_ports = self.junos_service_ports.get('service_port')
interfaces.append(service_ports[0] + "." + str(service_port_id))
interfaces.append(service_ports[0] + "." + str(service_port_id + 1))
self.config_manager.add_routing_instance(vrf_name,
import_set,
export_set,
None,
Expand All @@ -285,6 +286,13 @@ def push_config(self):
self.uve_send()
# end push_config

def is_service_port_id_valid(self, service_port_id):
#mx allowed ifl unit number range is (1, 16385) for service ports
if service_port_id < 1 or service_port_id > 16384:
return False
return True
#end is_service_port_id_valid

def uve_send(self, deleted=False):
pr_trace = UvePhysicalRouterConfig(name=self.name,
ip_address=self.management_ip,
Expand Down Expand Up @@ -593,6 +601,7 @@ def update(self, obj=None):
self.router_external = obj['router_external']
except KeyError:
self.router_external = False
self.vn_network_id = obj.get('virtual_network_network_id')
self.set_vxlan_vni(obj)
self.routing_instances = set([ri['uuid'] for ri in
obj.get('routing_instances', [])])
Expand Down
Expand Up @@ -272,7 +272,7 @@ def add_routing_instance(self, ri_name, import_targets, export_targets,
etree.SubElement(then_, "accept")

term = etree.Element("term")
etree.SubElement(term, "name").text= "term-" + ri_name[:19]
etree.SubElement(term, "name").text= "term-" + ri_name[:59]
if prefixes:
from_ = etree.SubElement(term, "from")
etree.SubElement(from_, "destination-address").text = ';'.join(prefixes)
Expand All @@ -288,13 +288,14 @@ def add_routing_instance(self, ri_name, import_targets, export_targets,
f = etree.SubElement(inet, "filter")
etree.SubElement(f, "name").text = "redirect_to_" + ri_name[:46] + "_vrf"
term = etree.SubElement(f, "term")
etree.SubElement(term, "name").text= "t1"
etree.SubElement(term, "name").text= "term-" + ri_name[:59]
from_ = etree.SubElement(term, "from")
etree.SubElement(from_, "destination-address").text = ';'.join(fip_map.keys())
for fip_user_ip in fip_map.keys():
etree.SubElement(from_, "source-address").text = fip_user_ip
then_ = etree.SubElement(term, "then")
etree.SubElement(then_, "routing-instance").text = ri_name
term = etree.SubElement(f, "term")
etree.SubElement(term, "name").text= "t2"
etree.SubElement(term, "name").text= "default-term"
then_ = etree.SubElement(term, "then")
etree.SubElement(then_, "accept")

Expand Down

0 comments on commit 0655865

Please sign in to comment.