enable dce in simulation is now automatic
authorAlina Quereilhac <alina.quereilhac@inria.fr>
Tue, 3 Jun 2014 07:05:41 +0000 (09:05 +0200)
committerAlina Quereilhac <alina.quereilhac@inria.fr>
Tue, 3 Jun 2014 07:05:41 +0000 (09:05 +0200)
src/nepi/resources/ns3/ns3node.py
src/nepi/resources/ns3/ns3wrapper.py

index 0c0d876..a6cf19e 100644 (file)
@@ -25,6 +25,17 @@ from nepi.resources.ns3.ns3base import NS3Base
 class NS3BaseNode(NS3Base):
     _rtype = "abstract::ns3::Node"
 
+    @classmethod
+    def _register_attributes(cls):
+        enablestack = Attribute("enableStack", 
+                "Install network stack in Node, including: ARP, "
+                "IP4, ICMP, UDP and TCP ",
+                type = Types.Bool,
+                default = False,
+                flags = Flags.Design)
+
+        cls._register_attribute(enablestack)
+
     @property
     def simulation(self):
         from nepi.resources.ns3.ns3simulation import NS3Simulation
@@ -99,6 +110,10 @@ class NS3BaseNode(NS3Base):
         if ipv4:
             self.simulation.invoke(self.uuid, "AggregateObject", ipv4.uuid)
 
+        if self.get("enableStack"):
+            uuid_stack_helper = self.simulation.create("InternetStackHelper")
+            self.simulation.invoke(uuid_stack_helper, "Install", self.uuid)
+
         mobility = self.mobility
         if mobility:
             self.simulation.invoke(self.uuid, "AggregateObject", mobility.uuid)
index a7dff07..e5f4a89 100644 (file)
@@ -213,7 +213,7 @@ class NS3Wrapper(object):
 
     def invoke(self, uuid, operation, *args, **kwargs):
         if operation == "isRunning":
-            return self.is_running()
+            return self.is_running
         if operation == "isAppRunning":
             return self._is_app_running(uuid)
         if operation == "addStaticRoute":