for network in self.networks.values():
             template.add_network(network.stack_name,
                                  network.physical_network,
-                                 network.provider)
+                                 network.provider,
+                                 network.segmentation_id)
             template.add_subnet(network.subnet_stack_name, network.stack_name,
                                 network.subnet_cidr)
 
 
         self.router = None
         self.physical_network = attrs.get('physical_network', 'physnet1')
         self.provider = attrs.get('provider', None)
+        self.segmentation_id = attrs.get('segmentation_id', None)
 
         if "external_network" in attrs:
             self.router = Router("router", self.name,
 
-##############################################################################
+#############################################################################
 # Copyright (c) 2015-2017 Ericsson AB and others.
 #
 # All rights reserved. This program and the accompanying materials
             'value': {'get_resource': name}
         }
 
-    def add_network(self, name, physical_network='physnet1', provider=None):
+    def add_network(self, name, physical_network='physnet1', provider=None,
+                    segmentation_id=None):
         """add to the template a Neutron Net"""
         log.debug("adding Neutron::Net '%s'", name)
         if provider is None:
                     'physical_network': physical_network
                 }
             }
+            if segmentation_id:
+                seg_id_dit = {'segmentation_id': segmentation_id}
+                self.resources[name]["properties"].update(seg_id_dit)
 
     def add_server_group(self, name, policies):     # pragma: no cover
         """add to the template a ServerGroup"""