- ### node.AggregateObject(PacketSocketFactory())
- uuid_packet_socket_factory = self.simulation.create("PacketSocketFactory")
- self.simulation.invoke(self.uuid, "AggregateObject", uuid_packet_socket_factory)
-
- if self.get("enableDCE") == True:
- self._add_dce()
+ if self.get("enableStack"):
+ uuid_stack_helper = self.simulation.create("InternetStackHelper")
+ self.simulation.invoke(uuid_stack_helper, "Install", self.uuid)
+
+ # Retrieve IPV4 object
+ ipv4_uuid = self.simulation.invoke(self.uuid, "retrieveObject",
+ "ns3::Ipv4L3Protocol")
+
+ # Add IPv4 RM to the node
+ ipv4 = self.ec.register_resource("ns3::Ipv4L3Protocol")
+ self.ec.register_connection(self.guid, ipv4)
+ ipv4rm = self.ec.get_resource(ipv4)
+ ipv4rm._uuid = ipv4_uuid
+ ipv4rm.set_started()
+ else:
+ ### node.AggregateObject(PacketSocketFactory())
+ uuid_packet_socket_factory = self.simulation.create("PacketSocketFactory")
+ self.simulation.invoke(self.uuid, "AggregateObject", uuid_packet_socket_factory)
+
+ self._node_id = self.simulation.invoke(self.uuid, "GetId")
+
+ dceapplications = self.dceapplications
+ if dceapplications:
+ self._add_dce(dceapplications)