30 import ns.applications
38 cmd = ns.core.CommandLine();
44 n0 = ns.network.Node();
45 r = ns.network.Node();
46 n1 = ns.network.Node();
48 net1 = ns.network.NodeContainer();
51 net2 = ns.network.NodeContainer();
54 all = ns.network.NodeContainer();
60 internetv6 = ns.internet.InternetStackHelper();
61 internetv6.Install(all);
64 csma = ns.csma.CsmaHelper();
65 csma.SetChannelAttribute(
"DataRate", ns.network.DataRateValue(ns.network.DataRate(5000000)));
66 csma.SetChannelAttribute(
"Delay", ns.core.TimeValue(ns.core.MilliSeconds(2)));
67 d1 = csma.Install(net1);
68 d2 = csma.Install(net2);
72 ipv6 = ns.internet.Ipv6AddressHelper();
73 ipv6.NewNetwork(ns.network.Ipv6Address(
"2001:1::"), ns.network.Ipv6Prefix(64));
75 i1.SetRouter(1,
True);
76 ipv6.NewNetwork(ns.network.Ipv6Address(
"2001:2::"), ns.network.Ipv6Prefix(64));
78 i2.SetRouter(0,
True);
84 interPacketInterval = ns.core.Seconds(1.);
85 ping6 = ns.applications.Ping6Helper();
87 ping6.SetLocal(i1.GetAddress(0, 1));
88 ping6.SetRemote(i2.GetAddress(1, 1));
90 ping6.SetAttribute(
"MaxPackets", ns.core.UintegerValue(maxPacketCount));
91 ping6.SetAttribute(
"Interval", ns.core.TimeValue(interPacketInterval));
92 ping6.SetAttribute(
"PacketSize", ns.core.UintegerValue(packetSize));
94 apps = ping6.Install(ns.network.NodeContainer(net1.Get(0)));
95 apps.Start(ns.core.Seconds(2.0));
96 apps.Stop(ns.core.Seconds(20.0));
99 ascii = ns.network.AsciiTraceHelper()
100 csma.EnableAsciiAll(ascii.CreateFileStream(
"simple-routing-ping6.tr"))
101 csma.EnablePcapAll(
"simple-routing-ping6",
True)
104 ns.core.Simulator.Run()
105 ns.core.Simulator.Destroy()
107 if __name__ ==
'__main__':