X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnepi%2Fresources%2Fns3%2Fns3ipv4l3protocol.py;h=c82e9a104904d5877f5fbb8bd0fe8b55349be1b1;hb=6285ca51026efb69642eea9dfc7c480e722d84a9;hp=5dd08276a41063d37a7d81f228eb25c2e47b4878;hpb=a46d3807241cf45324ef9e46ee2d8eb98ccb4f9d;p=nepi.git diff --git a/src/nepi/resources/ns3/ns3ipv4l3protocol.py b/src/nepi/resources/ns3/ns3ipv4l3protocol.py index 5dd08276..c82e9a10 100644 --- a/src/nepi/resources/ns3/ns3ipv4l3protocol.py +++ b/src/nepi/resources/ns3/ns3ipv4l3protocol.py @@ -3,9 +3,8 @@ # Copyright (C) 2014 INRIA # # This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation; # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -24,6 +23,12 @@ from nepi.resources.ns3.ns3base import NS3Base class NS3BaseIpv4L3Protocol(NS3Base): _rtype = "abstract::ns3::Ipv4L3Protocol" + def __init__(self, ec, guid): + super(NS3BaseIpv4L3Protocol, self).__init__(ec, guid) + self.list_routing_uuid = None + self.static_routing_uuid = None + self.global_routing_uuid = None + @property def node(self): from nepi.resources.ns3.ns3node import NS3BaseNode @@ -32,7 +37,7 @@ class NS3BaseIpv4L3Protocol(NS3Base): if not nodes: msg = "Ipv4L3Protocol not connected to node" self.error(msg) - raise RuntimeError, msg + raise RuntimeError(msg) return nodes[0] @@ -45,11 +50,16 @@ class NS3BaseIpv4L3Protocol(NS3Base): def _configure_object(self): simulation = self.simulation - uuid_list_routing = simulation.create("Ipv4ListRouting") - simulation.invoke(self.uuid, "SetRoutingProtocol", uuid_list_routing) + self.list_routing_uuid = simulation.create("Ipv4ListRouting") + simulation.invoke(self.uuid, "SetRoutingProtocol", self.list_routing_uuid) + + self.static_routing_uuid = simulation.create("Ipv4StaticRouting") + simulation.invoke(self.list_routing_uuid, "AddRoutingProtocol", + self.static_routing_uuid, 0) - uuid_static_routing = simulation.create("Ipv4StaticRouting") - simulation.invoke(uuid_list_routing, "AddRoutingProtocol", uuid_static_routing, 1) + self.global_routing_uuid = simulation.create("Ipv4GlobalRouting") + simulation.invoke(self.list_routing_uuid, "AddRoutingProtocol", + self.global_routing_uuid, -10) def _connect_object(self): pass