--- a/CHANGES.html Fri Mar 02 18:49:54 2012 +0100
+++ b/CHANGES.html Fri Mar 02 19:43:49 2012 +0100
@@ -51,6 +51,74 @@
<li> The Ipv6RawSocketImpl "IcmpFilter" attribute has been removed. Six
new member functions have been added to enable the same functionality.
</li>
+<li> IPv6 support for TCP and UDP has been implemented. Socket functions
+that take an address [e.g. Send (), Connect (), Bind ()] can accept an
+ns3::Ipv6Address or a ns3::Address in addition to taking an ns3::Ipv4Address.
+(Note that the ns3::Address must contain a ns3::Ipv6Address or a ns3::Ipv4Address,
+otherwise these functions will return an error).
+Internally, the socket now stores the remote address as a type "ns3::Address"
+instead of a type "ns3::Ipv4Address". The IPv6 Routing Header extension is not
+currently supported in ns3 and will not be reflected in the TCP and UDP checksum
+calculations per RFC 2460. Also note that UDP checksums for IPv6 packets are
+required per RFC, but remain optional and disabled by default in ns3 (in the
+interest of performance).
+</li>
+<li>
+When calling Bind () on a socket without an address, the behavior remains the
+same: it will bind to the IPv4 "any" address (0.0.0.0). In order to Bind () to
+the IPv6 "any" address in a similar fashion, use "Bind6 ()".
+</li>
+<li>
+The prototype for the RxCallback function in the Ipv6EndPoint was changed.
+It now includes the destination IPv6 address of the end point which was
+needed for TCP. This lead to a small change in the UDP and ICMPv6 L4
+protocols as well.
+</li>
+</ul>
+
+<h2>Changes to build system:</h2>
+<ul>
+<li> The following files are removed:
+<pre>
+ src/internet/model/ipv4-l4-protocol.cc
+ src/internet/model/ipv4-l4-protocol.h
+ src/internet/model/ipv6-l4-protocol.cc
+ src/internet/model/ipv6-l4-protocol.h
+</pre>
+and replaced with:
+<pre>
+ src/internet/model/ip-l4-protocol.cc
+ src/internet/model/ip-l4-protocol.h
+</pre>
+</li>
+</ul>
+<h2>Changed behavior:</h2>
+<ul>
+<li> Dual-stacked IPv6 sockets are implemented. An IPv6 socket can accept
+an IPv4 connection, returning the senders address as an IPv4-mapped address
+(IPV6_V6ONLY socket option is not implemented).
+</li>
+<li>
+The following examples/application/helpers were modified to support IPv6:
+<pre>
+csma-layout/examples/csma-star [*]
+netanim/examples/star-animation [*]
+point-to-point-layout/model/point-to-point-star.cc
+point-to-point-layout/model/point-to-point-grid.cc
+point-to-point-layout/model/point-to-point-dumbbell.cc
+examples/udp/udp-echo [*]
+examples/udp-client-server/udp-client-server [*]
+examples/udp-client-server/udp-trace-client-server [*]
+applications/helper/udp-echo-helper
+applications/model/udp-client
+applications/model/udp-echo-client
+applications/model/udp-echo-server
+applications/model/udp-server
+applications/model/udp-trace-client
+
+[*] Added '--useIpv6' flag to switch between IPv4 and IPv6
+</pre>
+</li>
</ul>
<hr>
--- a/RELEASE_NOTES Fri Mar 02 18:49:54 2012 +0100
+++ b/RELEASE_NOTES Fri Mar 02 19:43:49 2012 +0100
@@ -21,11 +21,16 @@
New user-visible features
-------------------------
+- Dual-stacked IPv6 sockets are implemented. An IPv6 socket can accept an IPv4
+ connection, returning the senders address as an IPv4-mapped address
+ (IPV6_V6ONLY socket option is not implemented).
Bugs fixed
----------
- bug 1319 - Fix Ipv6RawSocketImpl Icmpv6 filter
- bug 1318 - Asserts for IPv6 malformed packets
+ - bug 1357 - IPv6 fragmentation fails due to checks about malformed extensions
+ - bug 1378 - UdpEchoClient::SetFill () does not set packet size correctly
Known issues
------------
--- a/bindings/python/ns3modulegen-modular.py Fri Mar 02 18:49:54 2012 +0100
+++ b/bindings/python/ns3modulegen-modular.py Fri Mar 02 19:43:49 2012 +0100
@@ -6,16 +6,26 @@
from pybindgen.module import MultiSectionFactory
import ns3modulegen_core_customizations
-
-
-
pybindgen.settings.wrapper_registry = pybindgen.settings.StdMapWrapperRegistry
+import traceback
+
class ErrorHandler(pybindgen.settings.ErrorHandler):
+
+ def __init__(self, apidefs_file):
+ self.apidefs_file = apidefs_file
+
def handle_error(self, wrapper, exception, traceback_):
- warnings.warn("exception %r in wrapper %s" % (exception, wrapper))
+ stack = getattr(wrapper, 'stack_where_defined', [])
+ stack.reverse()
+ for l in stack:
+ if l[0] == self.apidefs_file:
+ warnings.warn_explicit("exception %r in wrapper %s" % (exception, wrapper),
+ Warning, l[0], l[1])
+ break
+ else:
+ warnings.warn("exception %r in wrapper %s" % (exception, wrapper))
return True
-pybindgen.settings.error_handler = ErrorHandler()
#print >> sys.stderr, ">>>>>>>>>>>>>>>>>>>>>>>>>>>> ", bool(eval(os.environ["GCC_RTTI_ABI_COMPLETE"]))
@@ -69,7 +79,11 @@
finally:
sys.path.pop(0)
-
+
+ apidefs_file, dummy = os.path.splitext(module_apidefs.__file__)
+ apidefs_file += '.py'
+ pybindgen.settings.error_handler = ErrorHandler(apidefs_file)
+
root_module = module_apidefs.module_init()
root_module.set_name(extension_name)
root_module.add_include('"ns3/%s-module.h"' % module_name)
--- a/bindings/python/ns3modulescan.py Fri Mar 02 18:49:54 2012 +0100
+++ b/bindings/python/ns3modulescan.py Fri Mar 02 19:43:49 2012 +0100
@@ -54,7 +54,7 @@
'params': {'seed':{'direction':'out',
'array_length':'6'}}
},
- 'bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInfo * info) const [member function]': {
+ 'bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]': {
'params': {'info':{'transfer_ownership': 'false'}}
},
'static bool ns3::TypeId::LookupByNameFailSafe(std::string name, ns3::TypeId * tid) [member function]': {
--- a/bindings/python/wscript Fri Mar 02 18:49:54 2012 +0100
+++ b/bindings/python/wscript Fri Mar 02 19:43:49 2012 +0100
@@ -17,7 +17,7 @@
from waflib.Errors import WafError
## https://launchpad.net/pybindgen/
-REQUIRED_PYBINDGEN_VERSION = (0, 15, 0, 795)
+REQUIRED_PYBINDGEN_VERSION = (0, 15, 0, 797)
REQUIRED_PYGCCXML_VERSION = (0, 9, 5)
@@ -92,10 +92,21 @@
try:
conf.check_tool('python')
+ except Configure.ConfigurationError, ex:
+ conf.report_optional_feature("python", "Python Bindings", False,
+ "The python interpreter was not found")
+ return
+ try:
conf.check_python_version((2,3))
+ except Configure.ConfigurationError, ex:
+ conf.report_optional_feature("python", "Python Bindings", False,
+ "The python found version is too low (2.3 required)")
+ return
+ try:
conf.check_python_headers()
except Configure.ConfigurationError, ex:
- conf.report_optional_feature("python", "Python Bindings", False, str(ex))
+ conf.report_optional_feature("python", "Python Bindings", False,
+ "Python library or headers missing")
return
# stupid Mac OSX Python wants to build extensions as "universal
@@ -120,6 +131,9 @@
conf.env.append_value('CXXFLAGS_PYEXT', '-fvisibility=hidden')
conf.env.append_value('CCFLAGS_PYEXT', '-fvisibility=hidden')
+ if conf.check_compilation_flag('-Wno-array-bounds'):
+ conf.env.append_value('CXXFLAGS_PYEXT', '-Wno-array-bounds')
+
# Check for the location of pybindgen
if Options.options.with_pybindgen is not None:
if os.path.isdir(Options.options.with_pybindgen):
--- a/doc/manual/source/new-models.rst Fri Mar 02 18:49:54 2012 +0100
+++ b/doc/manual/source/new-models.rst Fri Mar 02 19:43:49 2012 +0100
@@ -163,7 +163,7 @@
At this point, you may want to pause and read the |ns3| coding style document,
especially if you are considering to contribute your code back to the project.
The coding style document is linked off the main project page: `ns-3 coding
-style <http://www.nsnam.org/codingstyle.html>`_.
+style <http://www.nsnam.org/developers/contributing-code/coding-style/>`_.
Decide where in the source tree the model will reside in
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--- a/examples/energy/energy-model-example.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/examples/energy/energy-model-example.cc Fri Mar 02 19:43:49 2012 +0100
@@ -35,6 +35,20 @@
using namespace ns3;
+std::string
+PrintReceivedPacket (Address& from)
+{
+ InetSocketAddress iaddr = InetSocketAddress::ConvertFrom (from);
+
+ std::ostringstream oss;
+ oss << "--\nReceived one packet! Socket: " << iaddr.GetIpv4 ()
+ << " port: " << iaddr.GetPort ()
+ << " at time = " << Simulator::Now ().GetSeconds ()
+ << "\n--";
+
+ return oss.str ();
+}
+
/**
* \param socket Pointer to socket.
*
@@ -45,17 +59,11 @@
{
Ptr<Packet> packet;
Address from;
- while (packet = socket->RecvFrom (from))
+ while ((packet = socket->RecvFrom (from)))
{
if (packet->GetSize () > 0)
{
- InetSocketAddress iaddr = InetSocketAddress::ConvertFrom (from);
- NS_LOG_UNCOND ("--\nReceived one packet! Socket: "<< iaddr.GetIpv4 ()
- << " port: " << iaddr.GetPort () << " at time = " <<
- Simulator::Now ().GetSeconds () << "\n--");
- //cast iaddr to void, to suppress 'iaddr' set but not used compiler warning
- //in optimized builds
- (void) iaddr;
+ NS_LOG_UNCOND (PrintReceivedPacket (from));
}
}
}
--- a/examples/routing/manet-routing-compare.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/examples/routing/manet-routing-compare.cc Fri Mar 02 19:43:49 2012 +0100
@@ -117,31 +117,37 @@
{
}
+std::string
+PrintReceivedPacket (Ptr<Socket> socket, Ptr<Packet> packet)
+{
+ SocketAddressTag tag;
+ bool found;
+ found = packet->PeekPacketTag (tag);
+ std::ostringstream oss;
+
+ oss << Simulator::Now ().GetSeconds () << " " << socket->GetNode ()->GetId ();
+
+ if (found)
+ {
+ InetSocketAddress addr = InetSocketAddress::ConvertFrom (tag.GetAddress ());
+ oss << " received one packet from " << addr.GetIpv4 ();
+ }
+ else
+ {
+ oss << " received one packet!";
+ }
+ return oss.str ();
+}
+
void
RoutingExperiment::ReceivePacket (Ptr<Socket> socket)
{
Ptr<Packet> packet;
- while (packet = socket->Recv ())
+ while ((packet = socket->Recv ()))
{
bytesTotal += packet->GetSize ();
packetsReceived += 1;
- SocketAddressTag tag;
- bool found;
- found = packet->PeekPacketTag (tag);
- if (found)
- {
- InetSocketAddress addr = InetSocketAddress::ConvertFrom (tag.GetAddress ());
- NS_LOG_UNCOND (Simulator::Now ().GetSeconds () << " " << socket->GetNode ()->GetId ()
- << " received one packet from " << addr.GetIpv4 ());
- //cast addr to void, to suppress 'addr' set but not used
- //compiler warning in optimized builds
- (void) addr;
- }
- else
- {
- NS_LOG_UNCOND (Simulator::Now ().GetSeconds () << " " << socket->GetNode ()->GetId ()
- << " received one packet!");
- }
+ NS_LOG_UNCOND (PrintReceivedPacket (socket, packet));
}
}
--- a/examples/stats/wifi-example-apps.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/examples/stats/wifi-example-apps.cc Fri Mar 02 19:43:49 2012 +0100
@@ -240,7 +240,7 @@
Ptr<Packet> packet;
Address from;
- while (packet = socket->RecvFrom (from)) {
+ while ((packet = socket->RecvFrom (from))) {
if (InetSocketAddress::IsMatchingType (from)) {
NS_LOG_INFO ("Received " << packet->GetSize () << " bytes from " <<
InetSocketAddress::ConvertFrom (from).GetIpv4 ());
--- a/examples/stats/wifi-example-apps.h Fri Mar 02 18:49:54 2012 +0100
+++ b/examples/stats/wifi-example-apps.h Fri Mar 02 19:43:49 2012 +0100
@@ -25,8 +25,6 @@
*
*/
-// #define NS3_LOG_ENABLE // Now defined by Makefile
-
#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/application.h"
--- a/examples/stats/wifi-example-sim.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/examples/stats/wifi-example-sim.cc Fri Mar 02 19:43:49 2012 +0100
@@ -30,8 +30,6 @@
*
*/
-// #define NS3_LOG_ENABLE // Now defined by Makefile
-
#include <ctime>
#include <sstream>
--- a/examples/tcp/wscript Fri Mar 02 18:49:54 2012 +0100
+++ b/examples/tcp/wscript Fri Mar 02 19:43:49 2012 +0100
@@ -2,7 +2,7 @@
def build(bld):
obj = bld.create_ns3_program('tcp-large-transfer',
- ['point-to-point', 'applications', 'internet'])
+ ['visualizer', 'point-to-point', 'applications', 'internet'])
obj.source = 'tcp-large-transfer.cc'
obj = bld.create_ns3_program('tcp-nsc-lfn',
--- a/examples/udp-client-server/udp-client-server.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/examples/udp-client-server/udp-client-server.cc Fri Mar 02 19:43:49 2012 +0100
@@ -43,6 +43,13 @@
LogComponentEnable ("UdpClient", LOG_LEVEL_INFO);
LogComponentEnable ("UdpServer", LOG_LEVEL_INFO);
+ bool useV6 = false;
+ Address serverAddress;
+
+ CommandLine cmd;
+ cmd.AddValue ("useIpv6", "Use Ipv6", useV6);
+ cmd.Parse (argc, argv);
+
//
// Explicitly create the nodes required by the topology (shown above).
//
@@ -63,13 +70,24 @@
csma.SetDeviceAttribute ("Mtu", UintegerValue (1400));
NetDeviceContainer d = csma.Install (n);
- Ipv4AddressHelper ipv4;
//
// We've got the "hardware" in place. Now we need to add IP addresses.
//
NS_LOG_INFO ("Assign IP Addresses.");
- ipv4.SetBase ("10.1.1.0", "255.255.255.0");
- Ipv4InterfaceContainer i = ipv4.Assign (d);
+ if (useV6 == false)
+ {
+ Ipv4AddressHelper ipv4;
+ ipv4.SetBase ("10.1.1.0", "255.255.255.0");
+ Ipv4InterfaceContainer i = ipv4.Assign (d);
+ serverAddress = Address (i.GetAddress (1));
+ }
+ else
+ {
+ Ipv6AddressHelper ipv6;
+ ipv6.NewNetwork ("2001:0000:f00d:cafe::", 64);
+ Ipv6InterfaceContainer i6 = ipv6.Assign (d);
+ serverAddress = Address(i6.GetAddress (1,1));
+ }
NS_LOG_INFO ("Create Applications.");
//
@@ -88,7 +106,7 @@
uint32_t MaxPacketSize = 1024;
Time interPacketInterval = Seconds (0.05);
uint32_t maxPacketCount = 320;
- UdpClientHelper client (i.GetAddress (1), port);
+ UdpClientHelper client (serverAddress, port);
client.SetAttribute ("MaxPackets", UintegerValue (maxPacketCount));
client.SetAttribute ("Interval", TimeValue (interPacketInterval));
client.SetAttribute ("PacketSize", UintegerValue (MaxPacketSize));
--- a/examples/udp-client-server/udp-trace-client-server.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/examples/udp-client-server/udp-trace-client-server.cc Fri Mar 02 19:43:49 2012 +0100
@@ -42,6 +42,13 @@
LogComponentEnable ("UdpTraceClient", LOG_LEVEL_INFO);
LogComponentEnable ("UdpServer", LOG_LEVEL_INFO);
+ bool useV6 = false;
+ Address serverAddress;
+
+ CommandLine cmd;
+ cmd.AddValue ("useIpv6", "Use Ipv6", useV6);
+ cmd.Parse (argc, argv);
+
//
// Explicitly create the nodes required by the topology (shown above).
//
@@ -62,13 +69,24 @@
csma.SetDeviceAttribute ("Mtu", UintegerValue (1500));
NetDeviceContainer d = csma.Install (n);
- Ipv4AddressHelper ipv4;
//
// We've got the "hardware" in place. Now we need to add IP addresses.
//
NS_LOG_INFO ("Assign IP Addresses.");
- ipv4.SetBase ("10.1.1.0", "255.255.255.0");
- Ipv4InterfaceContainer i = ipv4.Assign (d);
+ if (useV6 == false)
+ {
+ Ipv4AddressHelper ipv4;
+ ipv4.SetBase ("10.1.1.0", "255.255.255.0");
+ Ipv4InterfaceContainer i = ipv4.Assign (d);
+ serverAddress = Address (i.GetAddress (1));
+ }
+ else
+ {
+ Ipv6AddressHelper ipv6;
+ ipv6.NewNetwork ("2001:0000:f00d:cafe::", 64);
+ Ipv6InterfaceContainer i6 = ipv6.Assign (d);
+ serverAddress = Address(i6.GetAddress (1,1));
+ }
NS_LOG_INFO ("Create Applications.");
//
@@ -85,7 +103,7 @@
// node one.
//
uint32_t MaxPacketSize = 1472; // Back off 20 (IP) + 8 (UDP) bytes from MTU
- UdpTraceClientHelper client (i.GetAddress (1), port,"");
+ UdpTraceClientHelper client (serverAddress, port,"");
client.SetAttribute ("MaxPacketSize", UintegerValue (MaxPacketSize));
apps = client.Install (n.Get (0));
apps.Start (Seconds (2.0));
--- a/examples/udp/udp-echo.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/examples/udp/udp-echo.cc Fri Mar 02 19:43:49 2012 +0100
@@ -51,7 +51,11 @@
// Allow the user to override any of the defaults and the above Bind() at
// run-time, via command-line arguments
//
+ bool useV6 = false;
+ Address serverAddress;
+
CommandLine cmd;
+ cmd.AddValue ("useIpv6", "Use Ipv6", useV6);
cmd.Parse (argc, argv);
//
// Explicitly create the nodes required by the topology (shown above).
@@ -73,13 +77,24 @@
csma.SetDeviceAttribute ("Mtu", UintegerValue (1400));
NetDeviceContainer d = csma.Install (n);
- Ipv4AddressHelper ipv4;
//
// We've got the "hardware" in place. Now we need to add IP addresses.
//
NS_LOG_INFO ("Assign IP Addresses.");
- ipv4.SetBase ("10.1.1.0", "255.255.255.0");
- Ipv4InterfaceContainer i = ipv4.Assign (d);
+ if (useV6 == false)
+ {
+ Ipv4AddressHelper ipv4;
+ ipv4.SetBase ("10.1.1.0", "255.255.255.0");
+ Ipv4InterfaceContainer i = ipv4.Assign (d);
+ serverAddress = Address(i.GetAddress (1));
+ }
+ else
+ {
+ Ipv6AddressHelper ipv6;
+ ipv6.NewNetwork ("2001:0000:f00d:cafe::", 64);
+ Ipv6InterfaceContainer i6 = ipv6.Assign (d);
+ serverAddress = Address(i6.GetAddress (1,1));
+ }
NS_LOG_INFO ("Create Applications.");
//
@@ -98,7 +113,7 @@
uint32_t packetSize = 1024;
uint32_t maxPacketCount = 1;
Time interPacketInterval = Seconds (1.);
- UdpEchoClientHelper client (i.GetAddress (1), port);
+ UdpEchoClientHelper client (serverAddress, port);
client.SetAttribute ("MaxPackets", UintegerValue (maxPacketCount));
client.SetAttribute ("Interval", TimeValue (interPacketInterval));
client.SetAttribute ("PacketSize", UintegerValue (packetSize));
--- a/examples/wireless/multirate.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/examples/wireless/multirate.cc Fri Mar 02 19:43:49 2012 +0100
@@ -89,7 +89,6 @@
private:
- Vector GetPosition (Ptr<Node> node);
Ptr<Socket> SetupPacketReceive (Ptr<Node> node);
NodeContainer GenerateNeighbors (NodeContainer c, uint32_t senderId);
@@ -164,7 +163,7 @@
Experiment::ReceivePacket (Ptr<Socket> socket)
{
Ptr<Packet> packet;
- while (packet = socket->Recv ())
+ while ((packet = socket->Recv ()))
{
bytesTotal += packet->GetSize ();
}
@@ -181,13 +180,6 @@
Simulator::Schedule (Seconds (0.1), &Experiment::CheckThroughput, this);
}
-Vector
-Experiment::GetPosition (Ptr<Node> node)
-{
- Ptr<MobilityModel> mobility = node->GetObject<MobilityModel> ();
- return mobility->GetPosition ();
-}
-
/**
*
* Take the grid map, divide it into 4 quadrants
@@ -309,10 +301,16 @@
}
}
-void
-Experiment::ApplicationSetup (Ptr<Node> client, Ptr<Node> server, double start, double stop)
+Vector
+GetPosition (Ptr<Node> node)
{
+ Ptr<MobilityModel> mobility = node->GetObject<MobilityModel> ();
+ return mobility->GetPosition ();
+}
+std::string
+PrintPosition (Ptr<Node> client, Ptr<Node> server)
+{
Vector serverPos = GetPosition (server);
Vector clientPos = GetPosition (client);
@@ -325,20 +323,27 @@
Ipv4Address ipv4AddrServer = iaddrServer.GetLocal ();
Ipv4Address ipv4AddrClient = iaddrClient.GetLocal ();
- NS_LOG_DEBUG ("Set up Server Device " << (server->GetDevice (0))->GetAddress ()
- << " with ip " << ipv4AddrServer
- << " position (" << serverPos.x << "," << serverPos.y << "," << serverPos.z << ")");
+ std::ostringstream oss;
+ oss << "Set up Server Device " << (server->GetDevice (0))->GetAddress ()
+ << " with ip " << ipv4AddrServer
+ << " position (" << serverPos.x << "," << serverPos.y << "," << serverPos.z << ")";
- NS_LOG_DEBUG ("Set up Client Device " << (client->GetDevice (0))->GetAddress ()
- << " with ip " << ipv4AddrClient
- << " position (" << clientPos.x << "," << clientPos.y << "," << clientPos.z << ")"
- << "\n");
+ oss << "Set up Client Device " << (client->GetDevice (0))->GetAddress ()
+ << " with ip " << ipv4AddrClient
+ << " position (" << clientPos.x << "," << clientPos.y << "," << clientPos.z << ")"
+ << "\n";
+ return oss.str ();
+}
- //cast serverPos,clientPos,iaddrClient to void, to suppress variable set but not
- //used compiler warning in optimized builds
- (void) serverPos;
- (void) clientPos;
- (void) ipv4AddrClient;
+void
+Experiment::ApplicationSetup (Ptr<Node> client, Ptr<Node> server, double start, double stop)
+{
+ Ptr<Ipv4> ipv4Server = server->GetObject<Ipv4> ();
+
+ Ipv4InterfaceAddress iaddrServer = ipv4Server->GetAddress (1,0);
+ Ipv4Address ipv4AddrServer = iaddrServer.GetLocal ();
+
+ NS_LOG_DEBUG (PrintPosition (client, server));
// Equipping the source node with OnOff Application used for sending
OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (Ipv4Address ("10.0.0.1"), port)));
--- a/examples/wireless/wifi-adhoc.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/examples/wireless/wifi-adhoc.cc Fri Mar 02 19:43:49 2012 +0100
@@ -94,7 +94,7 @@
Experiment::ReceivePacket (Ptr<Socket> socket)
{
Ptr<Packet> packet;
- while (packet = socket->Recv ())
+ while ((packet = socket->Recv ()))
{
m_bytesTotal += packet->GetSize ();
}
--- a/examples/wireless/wifi-clear-channel-cmu.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/examples/wireless/wifi-clear-channel-cmu.cc Fri Mar 02 19:43:49 2012 +0100
@@ -81,7 +81,7 @@
Experiment::ReceivePacket (Ptr<Socket> socket)
{
Ptr<Packet> packet;
- while (packet = socket->Recv ())
+ while ((packet = socket->Recv ()))
{
m_pktsTotal++;
}
--- a/examples/wireless/wifi-simple-interference.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/examples/wireless/wifi-simple-interference.cc Fri Mar 02 19:43:49 2012 +0100
@@ -96,15 +96,21 @@
using namespace ns3;
-void ReceivePacket (Ptr<Socket> socket)
+std::string PrintReceivedPacket (Ptr<Socket> socket)
{
Address addr;
socket->GetSockName (addr);
InetSocketAddress iaddr = InetSocketAddress::ConvertFrom (addr);
- NS_LOG_UNCOND ("Received one packet! Socket: " << iaddr.GetIpv4 () << " port: " << iaddr.GetPort ());
- //cast iaddr to void, to suppress iaddr set but not used compiler warning
- //in optimized builds
- (void) iaddr;
+
+ std::ostringstream oss;
+ oss << "Received one packet! Socket: " << iaddr.GetIpv4 () << " port: " << iaddr.GetPort ();
+
+ return oss.str ();
+}
+
+void ReceivePacket (Ptr<Socket> socket)
+{
+ NS_LOG_UNCOND (PrintReceivedPacket (socket));
}
static void GenerateTraffic (Ptr<Socket> socket, uint32_t pktSize,
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scratch/subdir/scratch-simulator-subdir.cc Fri Mar 02 19:43:49 2012 +0100
@@ -0,0 +1,27 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "ns3/core-module.h"
+
+NS_LOG_COMPONENT_DEFINE ("ScratchSimulator");
+
+using namespace ns3;
+
+int
+main (int argc, char *argv[])
+{
+ NS_LOG_UNCOND ("Scratch Simulator");
+}
--- a/src/aodv/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/aodv/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -92,6 +92,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## mac48-address.h (module 'network'): ns3::Mac48Address [class]
@@ -162,6 +168,10 @@
module.add_enum('DscpType', ['DscpDefault', 'CS1', 'AF11', 'AF12', 'AF13', 'CS2', 'AF21', 'AF22', 'AF23', 'CS3', 'AF31', 'AF32', 'AF33', 'CS4', 'AF41', 'AF42', 'AF43', 'CS5', 'EF', 'CS6', 'CS7'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType [enumeration]
module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -240,6 +250,10 @@
module.add_class('EnumValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## event-impl.h (module 'core'): ns3::EventImpl [class]
module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -252,10 +266,6 @@
module.add_class('Ipv4L3Protocol', import_from_module='ns.internet', parent=root_module['ns3::Ipv4'])
## ipv4-l3-protocol.h (module 'internet'): ns3::Ipv4L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_BAD_CHECKSUM', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_FRAGMENT_TIMEOUT'], outer_class=root_module['ns3::Ipv4L3Protocol'], import_from_module='ns.internet')
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -270,6 +280,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -388,6 +400,7 @@
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv4RoutingHelper_methods(root_module, root_module['ns3::Ipv4RoutingHelper'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3Mac48Address_methods(root_module, root_module['ns3::Mac48Address'])
register_Ns3NodeContainer_methods(root_module, root_module['ns3::NodeContainer'])
@@ -416,6 +429,7 @@
register_Ns3Chunk_methods(root_module, root_module['ns3::Chunk'])
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
@@ -449,12 +463,12 @@
register_Ns3EnumChecker_methods(root_module, root_module['ns3::EnumChecker'])
register_Ns3EnumValue_methods(root_module, root_module['ns3::EnumValue'])
register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
register_Ns3Ipv4Interface_methods(root_module, root_module['ns3::Ipv4Interface'])
register_Ns3Ipv4L3Protocol_methods(root_module, root_module['ns3::Ipv4L3Protocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -462,6 +476,7 @@
register_Ns3Ipv4RoutingProtocol_methods(root_module, root_module['ns3::Ipv4RoutingProtocol'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3Mac48AddressChecker_methods(root_module, root_module['ns3::Mac48AddressChecker'])
@@ -1390,6 +1405,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1430,11 +1450,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1465,6 +1494,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1490,6 +1524,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -2366,7 +2455,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -2797,6 +2886,106 @@
[param('uint8_t', 'ttl')])
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -3010,6 +3199,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -4403,6 +4597,63 @@
is_pure_virtual=True, visibility='protected', is_virtual=True)
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -4473,10 +4724,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4765,9 +5016,9 @@
'ns3::Ptr< ns3::NetDevice >',
[param('uint32_t', 'i')],
is_virtual=True)
- ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4L4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv4L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4RoutingProtocol> ns3::Ipv4L3Protocol::GetRoutingProtocol() const [member function]
@@ -4780,10 +5031,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_virtual=True)
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4804,10 +5055,10 @@
cls.add_method('Receive',
'void',
[param('ns3::Ptr< ns3::NetDevice >', 'device'), param('ns3::Ptr< ns3::Packet const >', 'p'), param('uint16_t', 'protocol'), param('ns3::Address const &', 'from'), param('ns3::Address const &', 'to'), param('ns3::NetDevice::PacketType', 'packetType')])
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')])
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::RemoveAddress(uint32_t interfaceIndex, uint32_t addressIndex) [member function]
cls.add_method('RemoveAddress',
'bool',
@@ -4894,43 +5145,6 @@
visibility='private', is_virtual=True)
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -5159,6 +5373,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
--- a/src/aodv/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/aodv/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -92,6 +92,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## mac48-address.h (module 'network'): ns3::Mac48Address [class]
@@ -162,6 +168,10 @@
module.add_enum('DscpType', ['DscpDefault', 'CS1', 'AF11', 'AF12', 'AF13', 'CS2', 'AF21', 'AF22', 'AF23', 'CS3', 'AF31', 'AF32', 'AF33', 'CS4', 'AF41', 'AF42', 'AF43', 'CS5', 'EF', 'CS6', 'CS7'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType [enumeration]
module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -240,6 +250,10 @@
module.add_class('EnumValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## event-impl.h (module 'core'): ns3::EventImpl [class]
module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -252,10 +266,6 @@
module.add_class('Ipv4L3Protocol', import_from_module='ns.internet', parent=root_module['ns3::Ipv4'])
## ipv4-l3-protocol.h (module 'internet'): ns3::Ipv4L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_BAD_CHECKSUM', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_FRAGMENT_TIMEOUT'], outer_class=root_module['ns3::Ipv4L3Protocol'], import_from_module='ns.internet')
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -270,6 +280,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -388,6 +400,7 @@
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv4RoutingHelper_methods(root_module, root_module['ns3::Ipv4RoutingHelper'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3Mac48Address_methods(root_module, root_module['ns3::Mac48Address'])
register_Ns3NodeContainer_methods(root_module, root_module['ns3::NodeContainer'])
@@ -416,6 +429,7 @@
register_Ns3Chunk_methods(root_module, root_module['ns3::Chunk'])
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
@@ -449,12 +463,12 @@
register_Ns3EnumChecker_methods(root_module, root_module['ns3::EnumChecker'])
register_Ns3EnumValue_methods(root_module, root_module['ns3::EnumValue'])
register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
register_Ns3Ipv4Interface_methods(root_module, root_module['ns3::Ipv4Interface'])
register_Ns3Ipv4L3Protocol_methods(root_module, root_module['ns3::Ipv4L3Protocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -462,6 +476,7 @@
register_Ns3Ipv4RoutingProtocol_methods(root_module, root_module['ns3::Ipv4RoutingProtocol'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3Mac48AddressChecker_methods(root_module, root_module['ns3::Mac48AddressChecker'])
@@ -1390,6 +1405,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1430,11 +1450,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1465,6 +1494,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1490,6 +1524,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -2366,7 +2455,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -2797,6 +2886,106 @@
[param('uint8_t', 'ttl')])
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -3010,6 +3199,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -4403,6 +4597,63 @@
is_pure_virtual=True, visibility='protected', is_virtual=True)
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -4473,10 +4724,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4765,9 +5016,9 @@
'ns3::Ptr< ns3::NetDevice >',
[param('uint32_t', 'i')],
is_virtual=True)
- ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4L4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv4L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4RoutingProtocol> ns3::Ipv4L3Protocol::GetRoutingProtocol() const [member function]
@@ -4780,10 +5031,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_virtual=True)
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4804,10 +5055,10 @@
cls.add_method('Receive',
'void',
[param('ns3::Ptr< ns3::NetDevice >', 'device'), param('ns3::Ptr< ns3::Packet const >', 'p'), param('uint16_t', 'protocol'), param('ns3::Address const &', 'from'), param('ns3::Address const &', 'to'), param('ns3::NetDevice::PacketType', 'packetType')])
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')])
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::RemoveAddress(uint32_t interfaceIndex, uint32_t addressIndex) [member function]
cls.add_method('RemoveAddress',
'bool',
@@ -4894,43 +5145,6 @@
visibility='private', is_virtual=True)
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -5159,6 +5373,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
--- a/src/applications/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1852,6 +1852,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1892,11 +1897,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1927,6 +1941,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -3487,7 +3506,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -3563,6 +3582,10 @@
cls.add_constructor([])
## udp-client-server-helper.h (module 'applications'): ns3::UdpClientHelper::UdpClientHelper(ns3::Ipv4Address ip, uint16_t port) [constructor]
cls.add_constructor([param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-client-server-helper.h (module 'applications'): ns3::UdpClientHelper::UdpClientHelper(ns3::Ipv6Address ip, uint16_t port) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-client-server-helper.h (module 'applications'): ns3::UdpClientHelper::UdpClientHelper(ns3::Address ip, uint16_t port) [constructor]
+ cls.add_constructor([param('ns3::Address', 'ip'), param('uint16_t', 'port')])
## udp-client-server-helper.h (module 'applications'): ns3::ApplicationContainer ns3::UdpClientHelper::Install(ns3::NodeContainer c) [member function]
cls.add_method('Install',
'ns3::ApplicationContainer',
@@ -3576,8 +3599,12 @@
def register_Ns3UdpEchoClientHelper_methods(root_module, cls):
## udp-echo-helper.h (module 'applications'): ns3::UdpEchoClientHelper::UdpEchoClientHelper(ns3::UdpEchoClientHelper const & arg0) [copy constructor]
cls.add_constructor([param('ns3::UdpEchoClientHelper const &', 'arg0')])
+ ## udp-echo-helper.h (module 'applications'): ns3::UdpEchoClientHelper::UdpEchoClientHelper(ns3::Address ip, uint16_t port) [constructor]
+ cls.add_constructor([param('ns3::Address', 'ip'), param('uint16_t', 'port')])
## udp-echo-helper.h (module 'applications'): ns3::UdpEchoClientHelper::UdpEchoClientHelper(ns3::Ipv4Address ip, uint16_t port) [constructor]
cls.add_constructor([param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-echo-helper.h (module 'applications'): ns3::UdpEchoClientHelper::UdpEchoClientHelper(ns3::Ipv6Address ip, uint16_t port) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'ip'), param('uint16_t', 'port')])
## udp-echo-helper.h (module 'applications'): ns3::ApplicationContainer ns3::UdpEchoClientHelper::Install(ns3::Ptr<ns3::Node> node) const [member function]
cls.add_method('Install',
'ns3::ApplicationContainer',
@@ -3663,8 +3690,12 @@
cls.add_constructor([param('ns3::UdpTraceClientHelper const &', 'arg0')])
## udp-client-server-helper.h (module 'applications'): ns3::UdpTraceClientHelper::UdpTraceClientHelper() [constructor]
cls.add_constructor([])
+ ## udp-client-server-helper.h (module 'applications'): ns3::UdpTraceClientHelper::UdpTraceClientHelper(ns3::Address ip, uint16_t port, std::string filename) [constructor]
+ cls.add_constructor([param('ns3::Address', 'ip'), param('uint16_t', 'port'), param('std::string', 'filename')])
## udp-client-server-helper.h (module 'applications'): ns3::UdpTraceClientHelper::UdpTraceClientHelper(ns3::Ipv4Address ip, uint16_t port, std::string filename) [constructor]
cls.add_constructor([param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port'), param('std::string', 'filename')])
+ ## udp-client-server-helper.h (module 'applications'): ns3::UdpTraceClientHelper::UdpTraceClientHelper(ns3::Ipv6Address ip, uint16_t port, std::string filename) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'ip'), param('uint16_t', 'port'), param('std::string', 'filename')])
## udp-client-server-helper.h (module 'applications'): ns3::ApplicationContainer ns3::UdpTraceClientHelper::Install(ns3::NodeContainer c) [member function]
cls.add_method('Install',
'ns3::ApplicationContainer',
@@ -4830,6 +4861,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -6832,6 +6868,11 @@
'int',
[param('ns3::Address const &', 'address')],
is_virtual=True)
+ ## packet-socket.h (module 'network'): int ns3::PacketSocket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_virtual=True)
## packet-socket.h (module 'network'): int ns3::PacketSocket::Close() [member function]
cls.add_method('Close',
'int',
@@ -8678,6 +8719,14 @@
cls.add_method('SetRemote',
'void',
[param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-client.h (module 'applications'): void ns3::UdpClient::SetRemote(ns3::Ipv6Address ip, uint16_t port) [member function]
+ cls.add_method('SetRemote',
+ 'void',
+ [param('ns3::Ipv6Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-client.h (module 'applications'): void ns3::UdpClient::SetRemote(ns3::Address ip, uint16_t port) [member function]
+ cls.add_method('SetRemote',
+ 'void',
+ [param('ns3::Address', 'ip'), param('uint16_t', 'port')])
## udp-client.h (module 'applications'): void ns3::UdpClient::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
@@ -8726,10 +8775,18 @@
cls.add_method('SetFill',
'void',
[param('uint8_t *', 'fill'), param('uint32_t', 'fillSize'), param('uint32_t', 'dataSize')])
+ ## udp-echo-client.h (module 'applications'): void ns3::UdpEchoClient::SetRemote(ns3::Address ip, uint16_t port) [member function]
+ cls.add_method('SetRemote',
+ 'void',
+ [param('ns3::Address', 'ip'), param('uint16_t', 'port')])
## udp-echo-client.h (module 'applications'): void ns3::UdpEchoClient::SetRemote(ns3::Ipv4Address ip, uint16_t port) [member function]
cls.add_method('SetRemote',
'void',
[param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-echo-client.h (module 'applications'): void ns3::UdpEchoClient::SetRemote(ns3::Ipv6Address ip, uint16_t port) [member function]
+ cls.add_method('SetRemote',
+ 'void',
+ [param('ns3::Ipv6Address', 'ip'), param('uint16_t', 'port')])
## udp-echo-client.h (module 'applications'): void ns3::UdpEchoClient::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
@@ -8840,10 +8897,18 @@
cls.add_method('SetMaxPacketSize',
'void',
[param('uint16_t', 'maxPacketSize')])
+ ## udp-trace-client.h (module 'applications'): void ns3::UdpTraceClient::SetRemote(ns3::Address ip, uint16_t port) [member function]
+ cls.add_method('SetRemote',
+ 'void',
+ [param('ns3::Address', 'ip'), param('uint16_t', 'port')])
## udp-trace-client.h (module 'applications'): void ns3::UdpTraceClient::SetRemote(ns3::Ipv4Address ip, uint16_t port) [member function]
cls.add_method('SetRemote',
'void',
[param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-trace-client.h (module 'applications'): void ns3::UdpTraceClient::SetRemote(ns3::Ipv6Address ip, uint16_t port) [member function]
+ cls.add_method('SetRemote',
+ 'void',
+ [param('ns3::Ipv6Address', 'ip'), param('uint16_t', 'port')])
## udp-trace-client.h (module 'applications'): void ns3::UdpTraceClient::SetTraceFile(std::string filename) [member function]
cls.add_method('SetTraceFile',
'void',
--- a/src/applications/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1852,6 +1852,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1892,11 +1897,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1927,6 +1941,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -3487,7 +3506,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -3563,6 +3582,10 @@
cls.add_constructor([])
## udp-client-server-helper.h (module 'applications'): ns3::UdpClientHelper::UdpClientHelper(ns3::Ipv4Address ip, uint16_t port) [constructor]
cls.add_constructor([param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-client-server-helper.h (module 'applications'): ns3::UdpClientHelper::UdpClientHelper(ns3::Ipv6Address ip, uint16_t port) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-client-server-helper.h (module 'applications'): ns3::UdpClientHelper::UdpClientHelper(ns3::Address ip, uint16_t port) [constructor]
+ cls.add_constructor([param('ns3::Address', 'ip'), param('uint16_t', 'port')])
## udp-client-server-helper.h (module 'applications'): ns3::ApplicationContainer ns3::UdpClientHelper::Install(ns3::NodeContainer c) [member function]
cls.add_method('Install',
'ns3::ApplicationContainer',
@@ -3576,8 +3599,12 @@
def register_Ns3UdpEchoClientHelper_methods(root_module, cls):
## udp-echo-helper.h (module 'applications'): ns3::UdpEchoClientHelper::UdpEchoClientHelper(ns3::UdpEchoClientHelper const & arg0) [copy constructor]
cls.add_constructor([param('ns3::UdpEchoClientHelper const &', 'arg0')])
+ ## udp-echo-helper.h (module 'applications'): ns3::UdpEchoClientHelper::UdpEchoClientHelper(ns3::Address ip, uint16_t port) [constructor]
+ cls.add_constructor([param('ns3::Address', 'ip'), param('uint16_t', 'port')])
## udp-echo-helper.h (module 'applications'): ns3::UdpEchoClientHelper::UdpEchoClientHelper(ns3::Ipv4Address ip, uint16_t port) [constructor]
cls.add_constructor([param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-echo-helper.h (module 'applications'): ns3::UdpEchoClientHelper::UdpEchoClientHelper(ns3::Ipv6Address ip, uint16_t port) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'ip'), param('uint16_t', 'port')])
## udp-echo-helper.h (module 'applications'): ns3::ApplicationContainer ns3::UdpEchoClientHelper::Install(ns3::Ptr<ns3::Node> node) const [member function]
cls.add_method('Install',
'ns3::ApplicationContainer',
@@ -3663,8 +3690,12 @@
cls.add_constructor([param('ns3::UdpTraceClientHelper const &', 'arg0')])
## udp-client-server-helper.h (module 'applications'): ns3::UdpTraceClientHelper::UdpTraceClientHelper() [constructor]
cls.add_constructor([])
+ ## udp-client-server-helper.h (module 'applications'): ns3::UdpTraceClientHelper::UdpTraceClientHelper(ns3::Address ip, uint16_t port, std::string filename) [constructor]
+ cls.add_constructor([param('ns3::Address', 'ip'), param('uint16_t', 'port'), param('std::string', 'filename')])
## udp-client-server-helper.h (module 'applications'): ns3::UdpTraceClientHelper::UdpTraceClientHelper(ns3::Ipv4Address ip, uint16_t port, std::string filename) [constructor]
cls.add_constructor([param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port'), param('std::string', 'filename')])
+ ## udp-client-server-helper.h (module 'applications'): ns3::UdpTraceClientHelper::UdpTraceClientHelper(ns3::Ipv6Address ip, uint16_t port, std::string filename) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'ip'), param('uint16_t', 'port'), param('std::string', 'filename')])
## udp-client-server-helper.h (module 'applications'): ns3::ApplicationContainer ns3::UdpTraceClientHelper::Install(ns3::NodeContainer c) [member function]
cls.add_method('Install',
'ns3::ApplicationContainer',
@@ -4830,6 +4861,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -6832,6 +6868,11 @@
'int',
[param('ns3::Address const &', 'address')],
is_virtual=True)
+ ## packet-socket.h (module 'network'): int ns3::PacketSocket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_virtual=True)
## packet-socket.h (module 'network'): int ns3::PacketSocket::Close() [member function]
cls.add_method('Close',
'int',
@@ -8678,6 +8719,14 @@
cls.add_method('SetRemote',
'void',
[param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-client.h (module 'applications'): void ns3::UdpClient::SetRemote(ns3::Ipv6Address ip, uint16_t port) [member function]
+ cls.add_method('SetRemote',
+ 'void',
+ [param('ns3::Ipv6Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-client.h (module 'applications'): void ns3::UdpClient::SetRemote(ns3::Address ip, uint16_t port) [member function]
+ cls.add_method('SetRemote',
+ 'void',
+ [param('ns3::Address', 'ip'), param('uint16_t', 'port')])
## udp-client.h (module 'applications'): void ns3::UdpClient::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
@@ -8726,10 +8775,18 @@
cls.add_method('SetFill',
'void',
[param('uint8_t *', 'fill'), param('uint32_t', 'fillSize'), param('uint32_t', 'dataSize')])
+ ## udp-echo-client.h (module 'applications'): void ns3::UdpEchoClient::SetRemote(ns3::Address ip, uint16_t port) [member function]
+ cls.add_method('SetRemote',
+ 'void',
+ [param('ns3::Address', 'ip'), param('uint16_t', 'port')])
## udp-echo-client.h (module 'applications'): void ns3::UdpEchoClient::SetRemote(ns3::Ipv4Address ip, uint16_t port) [member function]
cls.add_method('SetRemote',
'void',
[param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-echo-client.h (module 'applications'): void ns3::UdpEchoClient::SetRemote(ns3::Ipv6Address ip, uint16_t port) [member function]
+ cls.add_method('SetRemote',
+ 'void',
+ [param('ns3::Ipv6Address', 'ip'), param('uint16_t', 'port')])
## udp-echo-client.h (module 'applications'): void ns3::UdpEchoClient::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
@@ -8840,10 +8897,18 @@
cls.add_method('SetMaxPacketSize',
'void',
[param('uint16_t', 'maxPacketSize')])
+ ## udp-trace-client.h (module 'applications'): void ns3::UdpTraceClient::SetRemote(ns3::Address ip, uint16_t port) [member function]
+ cls.add_method('SetRemote',
+ 'void',
+ [param('ns3::Address', 'ip'), param('uint16_t', 'port')])
## udp-trace-client.h (module 'applications'): void ns3::UdpTraceClient::SetRemote(ns3::Ipv4Address ip, uint16_t port) [member function]
cls.add_method('SetRemote',
'void',
[param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port')])
+ ## udp-trace-client.h (module 'applications'): void ns3::UdpTraceClient::SetRemote(ns3::Ipv6Address ip, uint16_t port) [member function]
+ cls.add_method('SetRemote',
+ 'void',
+ [param('ns3::Ipv6Address', 'ip'), param('uint16_t', 'port')])
## udp-trace-client.h (module 'applications'): void ns3::UdpTraceClient::SetTraceFile(std::string filename) [member function]
cls.add_method('SetTraceFile',
'void',
--- a/src/applications/helper/udp-client-server-helper.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/helper/udp-client-server-helper.cc Fri Mar 02 19:43:49 2012 +0100
@@ -68,10 +68,24 @@
{
}
+UdpClientHelper::UdpClientHelper (Address address, uint16_t port)
+{
+ m_factory.SetTypeId (UdpClient::GetTypeId ());
+ SetAttribute ("RemoteAddress", AddressValue (address));
+ SetAttribute ("RemotePort", UintegerValue (port));
+}
+
UdpClientHelper::UdpClientHelper (Ipv4Address address, uint16_t port)
{
m_factory.SetTypeId (UdpClient::GetTypeId ());
- SetAttribute ("RemoteAddress", Ipv4AddressValue (address));
+ SetAttribute ("RemoteAddress", AddressValue (Address(address)));
+ SetAttribute ("RemotePort", UintegerValue (port));
+}
+
+UdpClientHelper::UdpClientHelper (Ipv6Address address, uint16_t port)
+{
+ m_factory.SetTypeId (UdpClient::GetTypeId ());
+ SetAttribute ("RemoteAddress", AddressValue (Address(address)));
SetAttribute ("RemotePort", UintegerValue (port));
}
@@ -99,10 +113,26 @@
{
}
+UdpTraceClientHelper::UdpTraceClientHelper (Address address, uint16_t port, std::string filename)
+{
+ m_factory.SetTypeId (UdpTraceClient::GetTypeId ());
+ SetAttribute ("RemoteAddress", AddressValue (address));
+ SetAttribute ("RemotePort", UintegerValue (port));
+ SetAttribute ("TraceFilename", StringValue (filename));
+}
+
UdpTraceClientHelper::UdpTraceClientHelper (Ipv4Address address, uint16_t port, std::string filename)
{
m_factory.SetTypeId (UdpTraceClient::GetTypeId ());
- SetAttribute ("RemoteAddress", Ipv4AddressValue (address));
+ SetAttribute ("RemoteAddress", AddressValue (Address (address)));
+ SetAttribute ("RemotePort", UintegerValue (port));
+ SetAttribute ("TraceFilename", StringValue (filename));
+}
+
+UdpTraceClientHelper::UdpTraceClientHelper (Ipv6Address address, uint16_t port, std::string filename)
+{
+ m_factory.SetTypeId (UdpTraceClient::GetTypeId ());
+ SetAttribute ("RemoteAddress", AddressValue (Address (address)));
SetAttribute ("RemotePort", UintegerValue (port));
SetAttribute ("TraceFilename", StringValue (filename));
}
--- a/src/applications/helper/udp-client-server-helper.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/helper/udp-client-server-helper.h Fri Mar 02 19:43:49 2012 +0100
@@ -100,6 +100,8 @@
*/
UdpClientHelper (Ipv4Address ip, uint16_t port);
+ UdpClientHelper (Ipv6Address ip, uint16_t port);
+ UdpClientHelper (Address ip, uint16_t port);
/**
* Record an attribute to be set in each Application after it is is created.
@@ -150,7 +152,9 @@
* \param port The port number of the remote udp server
* \param filename the file from which packet traces will be loaded
*/
+ UdpTraceClientHelper (Address ip, uint16_t port, std::string filename);
UdpTraceClientHelper (Ipv4Address ip, uint16_t port, std::string filename);
+ UdpTraceClientHelper (Ipv6Address ip, uint16_t port, std::string filename);
/**
* Record an attribute to be set in each Application after it is is created.
--- a/src/applications/helper/udp-echo-helper.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/helper/udp-echo-helper.cc Fri Mar 02 19:43:49 2012 +0100
@@ -73,10 +73,24 @@
return app;
}
+UdpEchoClientHelper::UdpEchoClientHelper (Address address, uint16_t port)
+{
+ m_factory.SetTypeId (UdpEchoClient::GetTypeId ());
+ SetAttribute ("RemoteAddress", AddressValue (address));
+ SetAttribute ("RemotePort", UintegerValue (port));
+}
+
UdpEchoClientHelper::UdpEchoClientHelper (Ipv4Address address, uint16_t port)
{
m_factory.SetTypeId (UdpEchoClient::GetTypeId ());
- SetAttribute ("RemoteAddress", Ipv4AddressValue (address));
+ SetAttribute ("RemoteAddress", AddressValue (Address(address)));
+ SetAttribute ("RemotePort", UintegerValue (port));
+}
+
+UdpEchoClientHelper::UdpEchoClientHelper (Ipv6Address address, uint16_t port)
+{
+ m_factory.SetTypeId (UdpEchoClient::GetTypeId ());
+ SetAttribute ("RemoteAddress", AddressValue (Address(address)));
SetAttribute ("RemotePort", UintegerValue (port));
}
--- a/src/applications/helper/udp-echo-helper.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/helper/udp-echo-helper.h Fri Mar 02 19:43:49 2012 +0100
@@ -25,6 +25,7 @@
#include "ns3/node-container.h"
#include "ns3/object-factory.h"
#include "ns3/ipv4-address.h"
+#include "ns3/ipv6-address.h"
namespace ns3 {
@@ -106,7 +107,9 @@
* \param ip The IP address of the remote udp echo server
* \param port The port number of the remote udp echo server
*/
+ UdpEchoClientHelper (Address ip, uint16_t port);
UdpEchoClientHelper (Ipv4Address ip, uint16_t port);
+ UdpEchoClientHelper (Ipv6Address ip, uint16_t port);
/**
* Record an attribute to be set in each Application after it is is created.
--- a/src/applications/model/packet-sink.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/model/packet-sink.cc Fri Mar 02 19:43:49 2012 +0100
@@ -21,6 +21,7 @@
#include "ns3/address-utils.h"
#include "ns3/log.h"
#include "ns3/inet-socket-address.h"
+#include "ns3/inet6-socket-address.h"
#include "ns3/node.h"
#include "ns3/socket.h"
#include "ns3/udp-socket.h"
@@ -151,6 +152,17 @@
}
}
+std::string PrintStats (Address& from, uint32_t packetSize, uint32_t totalRxSize)
+{
+ std::ostringstream oss;
+ InetSocketAddress address = InetSocketAddress::ConvertFrom (from);
+ oss << "Received " << packetSize << " bytes from "
+ << address.GetIpv4 () << " [" << address << "]"
+ << " total Rx " << totalRxSize;
+
+ return oss.str ();
+}
+
void PacketSink::HandleRead (Ptr<Socket> socket)
{
NS_LOG_FUNCTION (this << socket);
@@ -165,9 +177,14 @@
if (InetSocketAddress::IsMatchingType (from))
{
m_totalRx += packet->GetSize ();
- InetSocketAddress address = InetSocketAddress::ConvertFrom (from);
+ NS_LOG_INFO (PrintStats (from, packet->GetSize (), m_totalRx));
+ }
+ else if (Inet6SocketAddress::IsMatchingType (from))
+ {
+ m_totalRx += packet->GetSize ();
+ Inet6SocketAddress address = Inet6SocketAddress::ConvertFrom (from);
NS_LOG_INFO ("Received " << packet->GetSize () << " bytes from " <<
- address.GetIpv4 () << " [" << address << "]"
+ address.GetIpv6 () << " [" << address << "]"
<< " total Rx " << m_totalRx);
//cast address to void , to suppress 'address' set but not used
//compiler warning in optimized builds
--- a/src/applications/model/udp-client.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/model/udp-client.cc Fri Mar 02 19:43:49 2012 +0100
@@ -22,6 +22,7 @@
#include "ns3/ipv4-address.h"
#include "ns3/nstime.h"
#include "ns3/inet-socket-address.h"
+#include "ns3/inet6-socket-address.h"
#include "ns3/socket.h"
#include "ns3/simulator.h"
#include "ns3/socket-factory.h"
@@ -54,10 +55,10 @@
MakeTimeChecker ())
.AddAttribute (
"RemoteAddress",
- "The destination Ipv4Address of the outbound packets",
- Ipv4AddressValue (),
- MakeIpv4AddressAccessor (&UdpClient::m_peerAddress),
- MakeIpv4AddressChecker ())
+ "The destination Address of the outbound packets",
+ AddressValue (),
+ MakeAddressAccessor (&UdpClient::m_peerAddress),
+ MakeAddressChecker ())
.AddAttribute ("RemotePort", "The destination port of the outbound packets",
UintegerValue (100),
MakeUintegerAccessor (&UdpClient::m_peerPort),
@@ -87,6 +88,20 @@
void
UdpClient::SetRemote (Ipv4Address ip, uint16_t port)
{
+ m_peerAddress = Address(ip);
+ m_peerPort = port;
+}
+
+void
+UdpClient::SetRemote (Ipv6Address ip, uint16_t port)
+{
+ m_peerAddress = Address(ip);
+ m_peerPort = port;
+}
+
+void
+UdpClient::SetRemote (Address ip, uint16_t port)
+{
m_peerAddress = ip;
m_peerPort = port;
}
@@ -107,8 +122,16 @@
{
TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory");
m_socket = Socket::CreateSocket (GetNode (), tid);
- m_socket->Bind ();
- m_socket->Connect (InetSocketAddress (m_peerAddress, m_peerPort));
+ if (Ipv4Address::IsMatchingType(m_peerAddress) == true)
+ {
+ m_socket->Bind ();
+ m_socket->Connect (InetSocketAddress (Ipv4Address::ConvertFrom(m_peerAddress), m_peerPort));
+ }
+ else if (Ipv6Address::IsMatchingType(m_peerAddress) == true)
+ {
+ m_socket->Bind6 ();
+ m_socket->Connect (Inet6SocketAddress (Ipv6Address::ConvertFrom(m_peerAddress), m_peerPort));
+ }
}
m_socket->SetRecvCallback (MakeNullCallback<void, Ptr<Socket> > ());
@@ -132,18 +155,29 @@
Ptr<Packet> p = Create<Packet> (m_size-(8+4)); // 8+4 : the size of the seqTs header
p->AddHeader (seqTs);
+ std::stringstream peerAddressStringStream;
+ if (Ipv4Address::IsMatchingType (m_peerAddress))
+ {
+ peerAddressStringStream << Ipv4Address::ConvertFrom (m_peerAddress);
+ }
+ else if (Ipv6Address::IsMatchingType (m_peerAddress))
+ {
+ peerAddressStringStream << Ipv6Address::ConvertFrom (m_peerAddress);
+ }
+
if ((m_socket->Send (p)) >= 0)
{
++m_sent;
NS_LOG_INFO ("TraceDelay TX " << m_size << " bytes to "
- << m_peerAddress << " Uid: " << p->GetUid ()
- << " Time: " << (Simulator::Now ()).GetSeconds ());
+ << peerAddressStringStream.str () << " Uid: "
+ << p->GetUid () << " Time: "
+ << (Simulator::Now ()).GetSeconds ());
}
else
{
NS_LOG_INFO ("Error while sending " << m_size << " bytes to "
- << m_peerAddress);
+ << peerAddressStringStream.str ());
}
if (m_sent < m_count)
--- a/src/applications/model/udp-client.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/model/udp-client.h Fri Mar 02 19:43:49 2012 +0100
@@ -56,6 +56,8 @@
* \param port remote port
*/
void SetRemote (Ipv4Address ip, uint16_t port);
+ void SetRemote (Ipv6Address ip, uint16_t port);
+ void SetRemote (Address ip, uint16_t port);
protected:
virtual void DoDispose (void);
@@ -74,7 +76,7 @@
uint32_t m_sent;
Ptr<Socket> m_socket;
- Ipv4Address m_peerAddress;
+ Address m_peerAddress;
uint16_t m_peerPort;
EventId m_sendEvent;
--- a/src/applications/model/udp-echo-client.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/model/udp-echo-client.cc Fri Mar 02 19:43:49 2012 +0100
@@ -17,8 +17,10 @@
*/
#include "ns3/log.h"
#include "ns3/ipv4-address.h"
+#include "ns3/ipv6-address.h"
#include "ns3/nstime.h"
#include "ns3/inet-socket-address.h"
+#include "ns3/inet6-socket-address.h"
#include "ns3/socket.h"
#include "ns3/simulator.h"
#include "ns3/socket-factory.h"
@@ -49,10 +51,10 @@
MakeTimeAccessor (&UdpEchoClient::m_interval),
MakeTimeChecker ())
.AddAttribute ("RemoteAddress",
- "The destination Ipv4Address of the outbound packets",
- Ipv4AddressValue (),
- MakeIpv4AddressAccessor (&UdpEchoClient::m_peerAddress),
- MakeIpv4AddressChecker ())
+ "The destination Address of the outbound packets",
+ AddressValue (),
+ MakeAddressAccessor (&UdpEchoClient::m_peerAddress),
+ MakeAddressChecker ())
.AddAttribute ("RemotePort",
"The destination port of the outbound packets",
UintegerValue (0),
@@ -90,9 +92,23 @@
}
void
+UdpEchoClient::SetRemote (Address ip, uint16_t port)
+{
+ m_peerAddress = ip;
+ m_peerPort = port;
+}
+
+void
UdpEchoClient::SetRemote (Ipv4Address ip, uint16_t port)
{
- m_peerAddress = ip;
+ m_peerAddress = Address (ip);
+ m_peerPort = port;
+}
+
+void
+UdpEchoClient::SetRemote (Ipv6Address ip, uint16_t port)
+{
+ m_peerAddress = Address (ip);
m_peerPort = port;
}
@@ -112,8 +128,16 @@
{
TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory");
m_socket = Socket::CreateSocket (GetNode (), tid);
- m_socket->Bind ();
- m_socket->Connect (InetSocketAddress (m_peerAddress, m_peerPort));
+ if (Ipv4Address::IsMatchingType(m_peerAddress) == true)
+ {
+ m_socket->Bind();
+ m_socket->Connect (InetSocketAddress (Ipv4Address::ConvertFrom(m_peerAddress), m_peerPort));
+ }
+ else if (Ipv6Address::IsMatchingType(m_peerAddress) == true)
+ {
+ m_socket->Bind6();
+ m_socket->Connect (Inet6SocketAddress (Ipv6Address::ConvertFrom(m_peerAddress), m_peerPort));
+ }
}
m_socket->SetRecvCallback (MakeCallback (&UdpEchoClient::HandleRead, this));
@@ -212,6 +236,7 @@
if (fillSize >= dataSize)
{
memcpy (m_data, fill, dataSize);
+ m_size = dataSize;
return;
}
@@ -281,7 +306,16 @@
++m_sent;
- NS_LOG_INFO ("Sent " << m_size << " bytes to " << m_peerAddress);
+ if (InetSocketAddress::IsMatchingType (m_peerAddress))
+ {
+ NS_LOG_INFO ("Sent " << m_size << " bytes to " <<
+ InetSocketAddress::ConvertFrom (m_peerAddress));
+ }
+ else if (Inet6SocketAddress::IsMatchingType (m_peerAddress))
+ {
+ NS_LOG_INFO ("Sent " << m_size << " bytes to " <<
+ Inet6SocketAddress::ConvertFrom (m_peerAddress));
+ }
if (m_sent < m_count)
{
@@ -302,6 +336,11 @@
NS_LOG_INFO ("Received " << packet->GetSize () << " bytes from " <<
InetSocketAddress::ConvertFrom (from).GetIpv4 ());
}
+ else if (Inet6SocketAddress::IsMatchingType (from))
+ {
+ NS_LOG_INFO ("Received " << packet->GetSize () << " bytes from " <<
+ Inet6SocketAddress::ConvertFrom (from).GetIpv6 ());
+ }
}
}
--- a/src/applications/model/udp-echo-client.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/model/udp-echo-client.h Fri Mar 02 19:43:49 2012 +0100
@@ -49,7 +49,9 @@
* \param ip destination ipv4 address
* \param port destination port
*/
+ void SetRemote (Address ip, uint16_t port);
void SetRemote (Ipv4Address ip, uint16_t port);
+ void SetRemote (Ipv6Address ip, uint16_t port);
/**
* Set the data size of the packet (the number of bytes that are sent as data
@@ -142,7 +144,7 @@
uint32_t m_sent;
Ptr<Socket> m_socket;
- Ipv4Address m_peerAddress;
+ Address m_peerAddress;
uint16_t m_peerPort;
EventId m_sendEvent;
/// Callbacks for tracing the packet Tx events
--- a/src/applications/model/udp-echo-server.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/model/udp-echo-server.cc Fri Mar 02 19:43:49 2012 +0100
@@ -18,9 +18,11 @@
#include "ns3/log.h"
#include "ns3/ipv4-address.h"
+#include "ns3/ipv6-address.h"
#include "ns3/address-utils.h"
#include "ns3/nstime.h"
#include "ns3/inet-socket-address.h"
+#include "ns3/inet6-socket-address.h"
#include "ns3/socket.h"
#include "ns3/udp-socket.h"
#include "ns3/simulator.h"
@@ -58,6 +60,7 @@
{
NS_LOG_FUNCTION_NOARGS ();
m_socket = 0;
+ m_socket6 = 0;
}
void
@@ -88,12 +91,34 @@
}
else
{
- NS_FATAL_ERROR ("Error: joining multicast on a non-UDP socket");
+ NS_FATAL_ERROR ("Error: Failed to join multicast group");
+ }
+ }
+ }
+
+ if (m_socket6 == 0)
+ {
+ TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory");
+ m_socket6 = Socket::CreateSocket (GetNode (), tid);
+ Inet6SocketAddress local6 = Inet6SocketAddress (Ipv6Address::GetAny (), m_port);
+ m_socket6->Bind (local6);
+ if (addressUtils::IsMulticast (local6))
+ {
+ Ptr<UdpSocket> udpSocket = DynamicCast<UdpSocket> (m_socket6);
+ if (udpSocket)
+ {
+ // equivalent to setsockopt (MCAST_JOIN_GROUP)
+ udpSocket->MulticastJoinGroup (0, local6);
+ }
+ else
+ {
+ NS_FATAL_ERROR ("Error: Failed to join multicast group");
}
}
}
m_socket->SetRecvCallback (MakeCallback (&UdpEchoServer::HandleRead, this));
+ m_socket6->SetRecvCallback (MakeCallback (&UdpEchoServer::HandleRead, this));
}
void
@@ -106,6 +131,11 @@
m_socket->Close ();
m_socket->SetRecvCallback (MakeNullCallback<void, Ptr<Socket> > ());
}
+ if (m_socket6 != 0)
+ {
+ m_socket6->Close ();
+ m_socket6->SetRecvCallback (MakeNullCallback<void, Ptr<Socket> > ());
+ }
}
void
@@ -126,6 +156,17 @@
NS_LOG_LOGIC ("Echoing packet");
socket->SendTo (packet, 0, from);
}
+ else if (Inet6SocketAddress::IsMatchingType (from))
+ {
+ NS_LOG_INFO ("Received " << packet->GetSize () << " bytes from " <<
+ Inet6SocketAddress::ConvertFrom (from).GetIpv6 ());
+
+ packet->RemoveAllPacketTags ();
+ packet->RemoveAllByteTags ();
+
+ NS_LOG_LOGIC ("Echoing packet");
+ socket->SendTo (packet, 0, from);
+ }
}
}
--- a/src/applications/model/udp-echo-server.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/model/udp-echo-server.h Fri Mar 02 19:43:49 2012 +0100
@@ -59,6 +59,7 @@
uint16_t m_port;
Ptr<Socket> m_socket;
+ Ptr<Socket> m_socket6;
Address m_local;
};
--- a/src/applications/model/udp-server.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/model/udp-server.cc Fri Mar 02 19:43:49 2012 +0100
@@ -23,6 +23,7 @@
#include "ns3/ipv4-address.h"
#include "ns3/nstime.h"
#include "ns3/inet-socket-address.h"
+#include "ns3/inet6-socket-address.h"
#include "ns3/socket.h"
#include "ns3/simulator.h"
#include "ns3/socket-factory.h"
@@ -121,6 +122,17 @@
m_socket->SetRecvCallback (MakeCallback (&UdpServer::HandleRead, this));
+ if (m_socket6 == 0)
+ {
+ TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory");
+ m_socket6 = Socket::CreateSocket (GetNode (), tid);
+ Inet6SocketAddress local = Inet6SocketAddress (Ipv6Address::GetAny (),
+ m_port);
+ m_socket6->Bind (local);
+ }
+
+ m_socket6->SetRecvCallback (MakeCallback (&UdpServer::HandleRead, this));
+
}
void
@@ -147,13 +159,26 @@
SeqTsHeader seqTs;
packet->RemoveHeader (seqTs);
uint32_t currentSequenceNumber = seqTs.GetSeq ();
- NS_LOG_INFO ("TraceDelay: RX " << packet->GetSize () <<
- " bytes from "<< InetSocketAddress::ConvertFrom (from).GetIpv4 () <<
- " Sequence Number: " << currentSequenceNumber <<
- " Uid: " << packet->GetUid () <<
- " TXtime: " << seqTs.GetTs () <<
- " RXtime: " << Simulator::Now () <<
- " Delay: " << Simulator::Now () - seqTs.GetTs ());
+ if (InetSocketAddress::IsMatchingType (from))
+ {
+ NS_LOG_INFO ("TraceDelay: RX " << packet->GetSize () <<
+ " bytes from "<< InetSocketAddress::ConvertFrom (from).GetIpv4 () <<
+ " Sequence Number: " << currentSequenceNumber <<
+ " Uid: " << packet->GetUid () <<
+ " TXtime: " << seqTs.GetTs () <<
+ " RXtime: " << Simulator::Now () <<
+ " Delay: " << Simulator::Now () - seqTs.GetTs ());
+ }
+ else if (Inet6SocketAddress::IsMatchingType (from))
+ {
+ NS_LOG_INFO ("TraceDelay: RX " << packet->GetSize () <<
+ " bytes from "<< Inet6SocketAddress::ConvertFrom (from).GetIpv6 () <<
+ " Sequence Number: " << currentSequenceNumber <<
+ " Uid: " << packet->GetUid () <<
+ " TXtime: " << seqTs.GetTs () <<
+ " RXtime: " << Simulator::Now () <<
+ " Delay: " << Simulator::Now () - seqTs.GetTs ());
+ }
m_lossCounter.NotifyReceived (currentSequenceNumber);
m_received++;
--- a/src/applications/model/udp-server.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/model/udp-server.h Fri Mar 02 19:43:49 2012 +0100
@@ -84,6 +84,7 @@
uint16_t m_port;
Ptr<Socket> m_socket;
+ Ptr<Socket> m_socket6;
Address m_local;
uint32_t m_received;
PacketLossCounter m_lossCounter;
--- a/src/applications/model/udp-trace-client.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/model/udp-trace-client.cc Fri Mar 02 19:43:49 2012 +0100
@@ -22,6 +22,7 @@
#include "ns3/ipv4-address.h"
#include "ns3/nstime.h"
#include "ns3/inet-socket-address.h"
+#include "ns3/inet6-socket-address.h"
#include "ns3/socket.h"
#include "ns3/simulator.h"
#include "ns3/socket-factory.h"
@@ -59,10 +60,10 @@
.SetParent<Application> ()
.AddConstructor<UdpTraceClient> ()
.AddAttribute ("RemoteAddress",
- "The destination Ipv4Address of the outbound packets",
- Ipv4AddressValue (),
- MakeIpv4AddressAccessor (&UdpTraceClient::m_peerAddress),
- MakeIpv4AddressChecker ())
+ "The destination Address of the outbound packets",
+ AddressValue (),
+ MakeAddressAccessor (&UdpTraceClient::m_peerAddress),
+ MakeAddressChecker ())
.AddAttribute ("RemotePort",
"The destination port of the outbound packets",
UintegerValue (100),
@@ -116,10 +117,26 @@
}
void
+UdpTraceClient::SetRemote (Address ip, uint16_t port)
+{
+ m_entries.clear ();
+ m_peerAddress = ip;
+ m_peerPort = port;
+}
+
+void
UdpTraceClient::SetRemote (Ipv4Address ip, uint16_t port)
{
m_entries.clear ();
- m_peerAddress = ip;
+ m_peerAddress = Address (ip);
+ m_peerPort = port;
+}
+
+void
+UdpTraceClient::SetRemote (Ipv6Address ip, uint16_t port)
+{
+ m_entries.clear ();
+ m_peerAddress = Address (ip);
m_peerPort = port;
}
@@ -223,8 +240,16 @@
{
TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory");
m_socket = Socket::CreateSocket (GetNode (), tid);
- m_socket->Bind ();
- m_socket->Connect (InetSocketAddress (m_peerAddress, m_peerPort));
+ if (Ipv4Address::IsMatchingType(m_peerAddress) == true)
+ {
+ m_socket->Bind ();
+ m_socket->Connect (InetSocketAddress (Ipv4Address::ConvertFrom (m_peerAddress), m_peerPort));
+ }
+ else if (Ipv6Address::IsMatchingType(m_peerAddress) == true)
+ {
+ m_socket->Bind6 ();
+ m_socket->Connect (Inet6SocketAddress (Ipv6Address::ConvertFrom (m_peerAddress), m_peerPort));
+ }
}
m_socket->SetRecvCallback (MakeNullCallback<void, Ptr<Socket> > ());
m_sendEvent = Simulator::Schedule (Seconds (0.0), &UdpTraceClient::Send, this);
@@ -255,16 +280,31 @@
SeqTsHeader seqTs;
seqTs.SetSeq (m_sent);
p->AddHeader (seqTs);
+
+ std::stringstream addressString;
+ if (Ipv4Address::IsMatchingType(m_peerAddress) == true)
+ {
+ addressString << Ipv4Address::ConvertFrom (m_peerAddress);
+ }
+ else if (Ipv6Address::IsMatchingType(m_peerAddress) == true)
+ {
+ addressString << Ipv6Address::ConvertFrom (m_peerAddress);
+ }
+ else
+ {
+ addressString << m_peerAddress;
+ }
+
if ((m_socket->Send (p)) >= 0)
{
++m_sent;
NS_LOG_INFO ("Sent " << size << " bytes to "
- << m_peerAddress);
+ << addressString.str ());
}
else
{
NS_LOG_INFO ("Error while sending " << size << " bytes to "
- << m_peerAddress);
+ << addressString.str ());
}
}
--- a/src/applications/model/udp-trace-client.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/model/udp-trace-client.h Fri Mar 02 19:43:49 2012 +0100
@@ -80,7 +80,9 @@
* \param ip the destination ip address to which the stream will be sent
* \param port the destination udp port to which the stream will be sent
*/
+ void SetRemote (Address ip, uint16_t port);
void SetRemote (Ipv4Address ip, uint16_t port);
+ void SetRemote (Ipv6Address ip, uint16_t port);
/**
* \brief set the trace file to be used by the application
@@ -122,7 +124,7 @@
};
uint32_t m_sent;
Ptr<Socket> m_socket;
- Ipv4Address m_peerAddress;
+ Address m_peerAddress;
uint16_t m_peerPort;
EventId m_sendEvent;
std::vector<struct TraceEntry> m_entries;
--- a/src/applications/model/v4ping.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/model/v4ping.cc Fri Mar 02 19:43:49 2012 +0100
@@ -243,9 +243,6 @@
InetSocketAddress dst = InetSocketAddress (m_remote, 0);
status = m_socket->Connect (dst);
NS_ASSERT (status != -1);
- //cast status to void, to suppress 'status' set but not used compiler warning
- //in optimized builds
- (void) status;
Send ();
}
--- a/src/applications/test/udp-client-server-test.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/applications/test/udp-client-server-test.cc Fri Mar 02 19:43:49 2012 +0100
@@ -29,6 +29,7 @@
#include "ns3/internet-stack-helper.h"
#include "ns3/ipv4-address-helper.h"
#include "ns3/udp-client-server-helper.h"
+#include "ns3/udp-echo-helper.h"
#include "ns3/simple-net-device.h"
#include "ns3/simple-channel.h"
#include "ns3/test.h"
@@ -52,8 +53,8 @@
};
-UdpClientServerTestCase::UdpClientServerTestCase () :
- TestCase ("Test that all the udp packets generated by an udpClient application are correctly received by an udpServer application")
+UdpClientServerTestCase::UdpClientServerTestCase ()
+ : TestCase ("Test that all the udp packets generated by an udpClient application are correctly received by an udpServer application")
{
}
@@ -126,8 +127,8 @@
};
-UdpTraceClientServerTestCase::UdpTraceClientServerTestCase () :
- TestCase ("Test that all the udp packets generated by an udpTraceClient application are correctly received by an udpServer application")
+UdpTraceClientServerTestCase::UdpTraceClientServerTestCase ()
+ : TestCase ("Test that all the udp packets generated by an udpTraceClient application are correctly received by an udpServer application")
{
}
@@ -165,7 +166,7 @@
apps.Start (Seconds (1.0));
apps.Stop (Seconds (10.0));
- uint32_t MaxPacketSize = 1400-28; // ip/udp header
+ uint32_t MaxPacketSize = 1400 - 28; // ip/udp header
UdpTraceClientHelper client (i.GetAddress (1), port,"");
client.SetAttribute ("MaxPacketSize", UintegerValue (MaxPacketSize));
apps = client.Install (n.Get (0));
@@ -195,8 +196,8 @@
};
-PacketLossCounterTestCase::PacketLossCounterTestCase () :
- TestCase ("Test that all the PacketLossCounter class checks loss correctly in different cases")
+PacketLossCounterTestCase::PacketLossCounterTestCase ()
+ : TestCase ("Test that all the PacketLossCounter class checks loss correctly in different cases")
{
}
@@ -208,20 +209,20 @@
{
PacketLossCounter lossCounter (32);
lossCounter.NotifyReceived (32); //out of order
- for (uint32_t i=0; i<64; i++)
+ for (uint32_t i = 0; i < 64; i++)
{
lossCounter.NotifyReceived (i);
}
NS_TEST_ASSERT_MSG_EQ (lossCounter.GetLost (), 0, "Check that 0 packets are lost");
- for (uint32_t i=65; i<128; i++) // drop (1) seqNum 64
+ for (uint32_t i = 65; i < 128; i++) // drop (1) seqNum 64
{
lossCounter.NotifyReceived (i);
}
NS_TEST_ASSERT_MSG_EQ (lossCounter.GetLost (), 1, "Check that 1 packet is lost");
- for (uint32_t i=134; i<200; i++) // drop seqNum 128,129,130,131,132,133
+ for (uint32_t i = 134; i < 200; i++) // drop seqNum 128,129,130,131,132,133
{
lossCounter.NotifyReceived (i);
}
@@ -236,7 +237,7 @@
lossCounter.NotifyReceived (202);
lossCounter.NotifyReceived (203);
lossCounter.NotifyReceived (204);
- for (uint32_t i=205; i<250; i++)
+ for (uint32_t i = 205; i < 250; i++)
{
lossCounter.NotifyReceived (i);
}
@@ -248,24 +249,101 @@
lossCounter.NotifyReceived (252);
lossCounter.NotifyReceived (253);
lossCounter.NotifyReceived (254);
- for (uint32_t i=256; i<300; i++)
+ for (uint32_t i = 256; i < 300; i++)
{
lossCounter.NotifyReceived (i);
}
NS_TEST_ASSERT_MSG_EQ (lossCounter.GetLost (), 9, "Check that 9 (6+1+2) packet are lost");
}
+
+/**
+ * Test fix for bug 1378
+ */
+
+class UdpEchoClientSetFillTestCase : public TestCase
+{
+public:
+ UdpEchoClientSetFillTestCase ();
+ virtual ~UdpEchoClientSetFillTestCase ();
+
+private:
+ virtual void DoRun (void);
+
+};
+
+UdpEchoClientSetFillTestCase::UdpEchoClientSetFillTestCase ()
+ : TestCase ("Test that the UdpEchoClient::SetFill class sets packet size (bug 1378)")
+{
+}
+
+UdpEchoClientSetFillTestCase::~UdpEchoClientSetFillTestCase ()
+{
+}
+
+void UdpEchoClientSetFillTestCase::DoRun (void)
+{
+ NodeContainer nodes;
+ nodes.Create (2);
+
+ InternetStackHelper internet;
+ internet.Install (nodes);
+
+ Ptr<SimpleNetDevice> txDev = CreateObject<SimpleNetDevice> ();
+ Ptr<SimpleNetDevice> rxDev = CreateObject<SimpleNetDevice> ();
+ nodes.Get (0)->AddDevice (txDev);
+ nodes.Get (1)->AddDevice (rxDev);
+ Ptr<SimpleChannel> channel1 = CreateObject<SimpleChannel> ();
+ rxDev->SetChannel (channel1);
+ txDev->SetChannel (channel1);
+ NetDeviceContainer d;
+ d.Add (txDev);
+ d.Add (rxDev);
+
+ Ipv4AddressHelper ipv4;
+
+ ipv4.SetBase ("10.1.1.0", "255.255.255.0");
+ Ipv4InterfaceContainer interfaces = ipv4.Assign (d);
+
+ uint16_t port = 5000;
+ UdpEchoServerHelper echoServer (port);
+ ApplicationContainer serverApps = echoServer.Install (nodes.Get (1));
+ serverApps.Start (Seconds (1.0));
+ serverApps.Stop (Seconds (10.0));
+ UdpEchoClientHelper echoClient (interfaces.GetAddress (1), port);
+ echoClient.SetAttribute ("MaxPackets", UintegerValue (1));
+ echoClient.SetAttribute ("Interval", TimeValue (Seconds (1.0)));
+ echoClient.SetAttribute ("PacketSize", UintegerValue (1024));
+
+ ApplicationContainer clientApps = echoClient.Install (nodes.Get (0));
+
+ uint8_t arry[64];
+ uint8_t i;
+ for (i = 0; i < 64; i++)
+ {
+ arry[i] = i;
+ }
+ echoClient.SetFill (clientApps.Get (0), &(arry[0]), (uint32_t)64, (uint32_t)64);
+
+ clientApps.Start (Seconds (2.0));
+ clientApps.Stop (Seconds (10.0));
+
+ Simulator::Run ();
+ Simulator::Destroy ();
+}
+
class UdpClientServerTestSuite : public TestSuite
{
public:
UdpClientServerTestSuite ();
};
-UdpClientServerTestSuite::UdpClientServerTestSuite () :
- TestSuite ("udp-client-server", UNIT)
+UdpClientServerTestSuite::UdpClientServerTestSuite ()
+ : TestSuite ("udp-client-server", UNIT)
{
AddTestCase (new UdpTraceClientServerTestCase);
AddTestCase (new UdpClientServerTestCase);
AddTestCase (new PacketLossCounterTestCase);
+ AddTestCase (new UdpEchoClientSetFillTestCase);
}
static UdpClientServerTestSuite udpClientServerTestSuite;
--- a/src/bridge/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/bridge/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -600,6 +600,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -640,11 +645,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -675,6 +689,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1164,7 +1183,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/bridge/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/bridge/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -600,6 +600,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -640,11 +645,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -675,6 +689,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1164,7 +1183,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/click/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/click/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -46,6 +46,36 @@
module.add_class('Item', import_from_module='ns.network', outer_class=root_module['ns3::ByteTagList::Iterator'])
## callback.h (module 'core'): ns3::CallbackBase [class]
module.add_class('CallbackBase', import_from_module='ns.core')
+ ## event-id.h (module 'core'): ns3::EventId [class]
+ module.add_class('EventId', import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<0> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['0'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 0 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<1> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['1'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 1 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<2> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['2'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 2 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<3> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['3'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 3 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<4> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['4'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 4 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<5> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['5'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 5 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<6> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['6'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 6 >'], import_from_module='ns.core')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
module.add_class('Ipv4Address', import_from_module='ns.network')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
@@ -60,6 +90,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## log.h (module 'core'): ns3::LogComponent [class]
@@ -68,6 +104,8 @@
module.add_class('ObjectBase', allow_subclassing=True, import_from_module='ns.core')
## object.h (module 'core'): ns3::ObjectDeleter [struct]
module.add_class('ObjectDeleter', import_from_module='ns.core')
+ ## object-factory.h (module 'core'): ns3::ObjectFactory [class]
+ module.add_class('ObjectFactory', import_from_module='ns.core')
## packet-metadata.h (module 'network'): ns3::PacketMetadata [class]
module.add_class('PacketMetadata', import_from_module='ns.network')
## packet-metadata.h (module 'network'): ns3::PacketMetadata::Item [struct]
@@ -86,12 +124,22 @@
module.add_class('TagData', import_from_module='ns.network', outer_class=root_module['ns3::PacketTagList'])
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter> [class]
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::Object', 'ns3::ObjectBase', 'ns3::ObjectDeleter'], parent=root_module['ns3::ObjectBase'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simulator.h (module 'core'): ns3::Simulator [class]
+ module.add_class('Simulator', destructor_visibility='private', import_from_module='ns.core')
## system-wall-clock-ms.h (module 'core'): ns3::SystemWallClockMs [class]
module.add_class('SystemWallClockMs', import_from_module='ns.core')
## tag.h (module 'network'): ns3::Tag [class]
module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
module.add_class('TagBuffer', import_from_module='ns.network')
+ ## timer.h (module 'core'): ns3::Timer [class]
+ module.add_class('Timer', import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::DestroyPolicy [enumeration]
+ module.add_enum('DestroyPolicy', ['CANCEL_ON_DESTROY', 'REMOVE_ON_DESTROY', 'CHECK_ON_DESTROY'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::State [enumeration]
+ module.add_enum('State', ['RUNNING', 'EXPIRED', 'SUSPENDED'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer-impl.h (module 'core'): ns3::TimerImpl [class]
+ module.add_class('TimerImpl', allow_subclassing=True, import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId [class]
module.add_class('TypeId', import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
@@ -102,12 +150,22 @@
module.add_class('TraceSourceInformation', import_from_module='ns.core', outer_class=root_module['ns3::TypeId'])
## empty.h (module 'core'): ns3::empty [class]
module.add_class('empty', import_from_module='ns.core')
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t [class]
+ module.add_class('int64x64_t', import_from_module='ns.core')
## chunk.h (module 'network'): ns3::Chunk [class]
module.add_class('Chunk', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
## header.h (module 'network'): ns3::Header [class]
module.add_class('Header', import_from_module='ns.network', parent=root_module['ns3::Chunk'])
## ipv4-header.h (module 'internet'): ns3::Ipv4Header [class]
module.add_class('Ipv4Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv4-header.h (module 'internet'): ns3::Ipv4Header::DscpType [enumeration]
+ module.add_enum('DscpType', ['DscpDefault', 'CS1', 'AF11', 'AF12', 'AF13', 'CS2', 'AF21', 'AF22', 'AF23', 'CS3', 'AF31', 'AF32', 'AF33', 'CS4', 'AF41', 'AF42', 'AF43', 'CS5', 'EF', 'CS6', 'CS7'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType [enumeration]
+ module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -120,6 +178,8 @@
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::AttributeValue', 'ns3::empty', 'ns3::DefaultDeleter<ns3::AttributeValue>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::CallbackImplBase, ns3::empty, ns3::DefaultDeleter<ns3::CallbackImplBase> > [class]
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::CallbackImplBase', 'ns3::empty', 'ns3::DefaultDeleter<ns3::CallbackImplBase>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::EventImpl', 'ns3::empty', 'ns3::DefaultDeleter<ns3::EventImpl>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Ipv4MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4MulticastRoute> > [class]
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::Ipv4MulticastRoute', 'ns3::empty', 'ns3::DefaultDeleter<ns3::Ipv4MulticastRoute>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Ipv4Route, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4Route> > [class]
@@ -144,6 +204,12 @@
module.add_class('SocketIpTtlTag', import_from_module='ns.network', parent=root_module['ns3::Tag'])
## socket.h (module 'network'): ns3::SocketSetDontFragmentTag [class]
module.add_class('SocketSetDontFragmentTag', import_from_module='ns.network', parent=root_module['ns3::Tag'])
+ ## nstime.h (module 'core'): ns3::Time [class]
+ module.add_class('Time', import_from_module='ns.core')
+ ## nstime.h (module 'core'): ns3::Time::Unit [enumeration]
+ module.add_enum('Unit', ['S', 'MS', 'US', 'NS', 'PS', 'FS', 'LAST'], outer_class=root_module['ns3::Time'], import_from_module='ns.core')
+ ## nstime.h (module 'core'): ns3::Time [class]
+ root_module['ns3::Time'].implicitly_converts_to(root_module['ns3::int64x64_t'])
## trace-source-accessor.h (module 'core'): ns3::TraceSourceAccessor [class]
module.add_class('TraceSourceAccessor', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::TraceSourceAccessor, ns3::empty, ns3::DefaultDeleter<ns3::TraceSourceAccessor> >'])
## trailer.h (module 'network'): ns3::Trailer [class]
@@ -162,6 +228,12 @@
module.add_class('CallbackValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## attribute.h (module 'core'): ns3::EmptyAttributeValue [class]
module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
+ ## event-impl.h (module 'core'): ns3::EventImpl [class]
+ module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -172,10 +244,6 @@
module.add_class('Ipv4Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-l3-click-protocol.h (module 'click'): ns3::Ipv4L3ClickProtocol [class]
module.add_class('Ipv4L3ClickProtocol', parent=root_module['ns3::Ipv4'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -190,6 +258,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -200,10 +270,18 @@
module.add_enum('PacketType', ['PACKET_HOST', 'NS3_PACKET_HOST', 'PACKET_BROADCAST', 'NS3_PACKET_BROADCAST', 'PACKET_MULTICAST', 'NS3_PACKET_MULTICAST', 'PACKET_OTHERHOST', 'NS3_PACKET_OTHERHOST'], outer_class=root_module['ns3::NetDevice'], import_from_module='ns.network')
## nix-vector.h (module 'network'): ns3::NixVector [class]
module.add_class('NixVector', import_from_module='ns.network', parent=root_module['ns3::SimpleRefCount< ns3::NixVector, ns3::empty, ns3::DefaultDeleter<ns3::NixVector> >'])
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryChecker [class]
+ module.add_class('ObjectFactoryChecker', import_from_module='ns.core', parent=root_module['ns3::AttributeChecker'])
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryValue [class]
+ module.add_class('ObjectFactoryValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## output-stream-wrapper.h (module 'network'): ns3::OutputStreamWrapper [class]
module.add_class('OutputStreamWrapper', import_from_module='ns.network', parent=root_module['ns3::SimpleRefCount< ns3::OutputStreamWrapper, ns3::empty, ns3::DefaultDeleter<ns3::OutputStreamWrapper> >'])
## packet.h (module 'network'): ns3::Packet [class]
module.add_class('Packet', import_from_module='ns.network', parent=root_module['ns3::SimpleRefCount< ns3::Packet, ns3::empty, ns3::DefaultDeleter<ns3::Packet> >'])
+ ## nstime.h (module 'core'): ns3::TimeChecker [class]
+ module.add_class('TimeChecker', import_from_module='ns.core', parent=root_module['ns3::AttributeChecker'])
+ ## nstime.h (module 'core'): ns3::TimeValue [class]
+ module.add_class('TimeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## type-id.h (module 'core'): ns3::TypeIdChecker [class]
module.add_class('TypeIdChecker', import_from_module='ns.core', parent=root_module['ns3::AttributeChecker'])
## type-id.h (module 'core'): ns3::TypeIdValue [class]
@@ -244,14 +322,24 @@
register_Ns3ByteTagListIterator_methods(root_module, root_module['ns3::ByteTagList::Iterator'])
register_Ns3ByteTagListIteratorItem_methods(root_module, root_module['ns3::ByteTagList::Iterator::Item'])
register_Ns3CallbackBase_methods(root_module, root_module['ns3::CallbackBase'])
+ register_Ns3EventId_methods(root_module, root_module['ns3::EventId'])
+ register_Ns3IntToType__0_methods(root_module, root_module['ns3::IntToType< 0 >'])
+ register_Ns3IntToType__1_methods(root_module, root_module['ns3::IntToType< 1 >'])
+ register_Ns3IntToType__2_methods(root_module, root_module['ns3::IntToType< 2 >'])
+ register_Ns3IntToType__3_methods(root_module, root_module['ns3::IntToType< 3 >'])
+ register_Ns3IntToType__4_methods(root_module, root_module['ns3::IntToType< 4 >'])
+ register_Ns3IntToType__5_methods(root_module, root_module['ns3::IntToType< 5 >'])
+ register_Ns3IntToType__6_methods(root_module, root_module['ns3::IntToType< 6 >'])
register_Ns3Ipv4Address_methods(root_module, root_module['ns3::Ipv4Address'])
register_Ns3Ipv4InterfaceAddress_methods(root_module, root_module['ns3::Ipv4InterfaceAddress'])
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3LogComponent_methods(root_module, root_module['ns3::LogComponent'])
register_Ns3ObjectBase_methods(root_module, root_module['ns3::ObjectBase'])
register_Ns3ObjectDeleter_methods(root_module, root_module['ns3::ObjectDeleter'])
+ register_Ns3ObjectFactory_methods(root_module, root_module['ns3::ObjectFactory'])
register_Ns3PacketMetadata_methods(root_module, root_module['ns3::PacketMetadata'])
register_Ns3PacketMetadataItem_methods(root_module, root_module['ns3::PacketMetadata::Item'])
register_Ns3PacketMetadataItemIterator_methods(root_module, root_module['ns3::PacketMetadata::ItemIterator'])
@@ -260,22 +348,28 @@
register_Ns3PacketTagList_methods(root_module, root_module['ns3::PacketTagList'])
register_Ns3PacketTagListTagData_methods(root_module, root_module['ns3::PacketTagList::TagData'])
register_Ns3SimpleRefCount__Ns3Object_Ns3ObjectBase_Ns3ObjectDeleter_methods(root_module, root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
+ register_Ns3Simulator_methods(root_module, root_module['ns3::Simulator'])
register_Ns3SystemWallClockMs_methods(root_module, root_module['ns3::SystemWallClockMs'])
register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
+ register_Ns3Timer_methods(root_module, root_module['ns3::Timer'])
+ register_Ns3TimerImpl_methods(root_module, root_module['ns3::TimerImpl'])
register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
register_Ns3Empty_methods(root_module, root_module['ns3::empty'])
+ register_Ns3Int64x64_t_methods(root_module, root_module['ns3::int64x64_t'])
register_Ns3Chunk_methods(root_module, root_module['ns3::Chunk'])
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
register_Ns3SimpleRefCount__Ns3AttributeChecker_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeChecker__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeChecker, ns3::empty, ns3::DefaultDeleter<ns3::AttributeChecker> >'])
register_Ns3SimpleRefCount__Ns3AttributeValue_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeValue__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeValue, ns3::empty, ns3::DefaultDeleter<ns3::AttributeValue> >'])
register_Ns3SimpleRefCount__Ns3CallbackImplBase_Ns3Empty_Ns3DefaultDeleter__lt__ns3CallbackImplBase__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::CallbackImplBase, ns3::empty, ns3::DefaultDeleter<ns3::CallbackImplBase> >'])
+ register_Ns3SimpleRefCount__Ns3EventImpl_Ns3Empty_Ns3DefaultDeleter__lt__ns3EventImpl__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
register_Ns3SimpleRefCount__Ns3Ipv4MulticastRoute_Ns3Empty_Ns3DefaultDeleter__lt__ns3Ipv4MulticastRoute__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::Ipv4MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4MulticastRoute> >'])
register_Ns3SimpleRefCount__Ns3Ipv4Route_Ns3Empty_Ns3DefaultDeleter__lt__ns3Ipv4Route__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::Ipv4Route, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4Route> >'])
register_Ns3SimpleRefCount__Ns3NixVector_Ns3Empty_Ns3DefaultDeleter__lt__ns3NixVector__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::NixVector, ns3::empty, ns3::DefaultDeleter<ns3::NixVector> >'])
@@ -286,6 +380,7 @@
register_Ns3SocketAddressTag_methods(root_module, root_module['ns3::SocketAddressTag'])
register_Ns3SocketIpTtlTag_methods(root_module, root_module['ns3::SocketIpTtlTag'])
register_Ns3SocketSetDontFragmentTag_methods(root_module, root_module['ns3::SocketSetDontFragmentTag'])
+ register_Ns3Time_methods(root_module, root_module['ns3::Time'])
register_Ns3TraceSourceAccessor_methods(root_module, root_module['ns3::TraceSourceAccessor'])
register_Ns3Trailer_methods(root_module, root_module['ns3::Trailer'])
register_Ns3AttributeAccessor_methods(root_module, root_module['ns3::AttributeAccessor'])
@@ -295,12 +390,13 @@
register_Ns3CallbackImplBase_methods(root_module, root_module['ns3::CallbackImplBase'])
register_Ns3CallbackValue_methods(root_module, root_module['ns3::CallbackValue'])
register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue'])
+ register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
register_Ns3Ipv4Interface_methods(root_module, root_module['ns3::Ipv4Interface'])
register_Ns3Ipv4L3ClickProtocol_methods(root_module, root_module['ns3::Ipv4L3ClickProtocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -308,12 +404,17 @@
register_Ns3Ipv4RoutingProtocol_methods(root_module, root_module['ns3::Ipv4RoutingProtocol'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3NetDevice_methods(root_module, root_module['ns3::NetDevice'])
register_Ns3NixVector_methods(root_module, root_module['ns3::NixVector'])
+ register_Ns3ObjectFactoryChecker_methods(root_module, root_module['ns3::ObjectFactoryChecker'])
+ register_Ns3ObjectFactoryValue_methods(root_module, root_module['ns3::ObjectFactoryValue'])
register_Ns3OutputStreamWrapper_methods(root_module, root_module['ns3::OutputStreamWrapper'])
register_Ns3Packet_methods(root_module, root_module['ns3::Packet'])
+ register_Ns3TimeChecker_methods(root_module, root_module['ns3::TimeChecker'])
+ register_Ns3TimeValue_methods(root_module, root_module['ns3::TimeValue'])
register_Ns3TypeIdChecker_methods(root_module, root_module['ns3::TypeIdChecker'])
register_Ns3TypeIdValue_methods(root_module, root_module['ns3::TypeIdValue'])
register_Ns3AddressChecker_methods(root_module, root_module['ns3::AddressChecker'])
@@ -799,6 +900,100 @@
is_static=True, visibility='protected')
return
+def register_Ns3EventId_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_binary_comparison_operator('==')
+ ## event-id.h (module 'core'): ns3::EventId::EventId(ns3::EventId const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::EventId const &', 'arg0')])
+ ## event-id.h (module 'core'): ns3::EventId::EventId() [constructor]
+ cls.add_constructor([])
+ ## event-id.h (module 'core'): ns3::EventId::EventId(ns3::Ptr<ns3::EventImpl> const & impl, uint64_t ts, uint32_t context, uint32_t uid) [constructor]
+ cls.add_constructor([param('ns3::Ptr< ns3::EventImpl > const &', 'impl'), param('uint64_t', 'ts'), param('uint32_t', 'context'), param('uint32_t', 'uid')])
+ ## event-id.h (module 'core'): void ns3::EventId::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## event-id.h (module 'core'): uint32_t ns3::EventId::GetContext() const [member function]
+ cls.add_method('GetContext',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): uint64_t ns3::EventId::GetTs() const [member function]
+ cls.add_method('GetTs',
+ 'uint64_t',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): uint32_t ns3::EventId::GetUid() const [member function]
+ cls.add_method('GetUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): bool ns3::EventId::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): bool ns3::EventId::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): ns3::EventImpl * ns3::EventId::PeekEventImpl() const [member function]
+ cls.add_method('PeekEventImpl',
+ 'ns3::EventImpl *',
+ [],
+ is_const=True)
+ return
+
+def register_Ns3IntToType__0_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType(ns3::IntToType<0> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 0 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__1_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType(ns3::IntToType<1> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 1 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__2_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType(ns3::IntToType<2> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 2 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__3_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType(ns3::IntToType<3> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 3 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__4_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType(ns3::IntToType<4> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 4 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__5_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType(ns3::IntToType<5> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 5 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__6_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType(ns3::IntToType<6> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 6 > const &', 'arg0')])
+ return
+
def register_Ns3Ipv4Address_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -1085,6 +1280,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1125,11 +1325,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1160,6 +1369,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1185,6 +1399,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -1350,6 +1619,42 @@
is_static=True)
return
+def register_Ns3ObjectFactory_methods(root_module, cls):
+ cls.add_output_stream_operator()
+ ## object-factory.h (module 'core'): ns3::ObjectFactory::ObjectFactory(ns3::ObjectFactory const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ObjectFactory const &', 'arg0')])
+ ## object-factory.h (module 'core'): ns3::ObjectFactory::ObjectFactory() [constructor]
+ cls.add_constructor([])
+ ## object-factory.h (module 'core'): ns3::ObjectFactory::ObjectFactory(std::string typeId) [constructor]
+ cls.add_constructor([param('std::string', 'typeId')])
+ ## object-factory.h (module 'core'): ns3::Ptr<ns3::Object> ns3::ObjectFactory::Create() const [member function]
+ cls.add_method('Create',
+ 'ns3::Ptr< ns3::Object >',
+ [],
+ is_const=True)
+ ## object-factory.h (module 'core'): ns3::TypeId ns3::ObjectFactory::GetTypeId() const [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True)
+ ## object-factory.h (module 'core'): void ns3::ObjectFactory::Set(std::string name, ns3::AttributeValue const & value) [member function]
+ cls.add_method('Set',
+ 'void',
+ [param('std::string', 'name'), param('ns3::AttributeValue const &', 'value')])
+ ## object-factory.h (module 'core'): void ns3::ObjectFactory::SetTypeId(ns3::TypeId tid) [member function]
+ cls.add_method('SetTypeId',
+ 'void',
+ [param('ns3::TypeId', 'tid')])
+ ## object-factory.h (module 'core'): void ns3::ObjectFactory::SetTypeId(char const * tid) [member function]
+ cls.add_method('SetTypeId',
+ 'void',
+ [param('char const *', 'tid')])
+ ## object-factory.h (module 'core'): void ns3::ObjectFactory::SetTypeId(std::string tid) [member function]
+ cls.add_method('SetTypeId',
+ 'void',
+ [param('std::string', 'tid')])
+ return
+
def register_Ns3PacketMetadata_methods(root_module, cls):
## packet-metadata.h (module 'network'): ns3::PacketMetadata::PacketMetadata(uint64_t uid, uint32_t size) [constructor]
cls.add_constructor([param('uint64_t', 'uid'), param('uint32_t', 'size')])
@@ -1549,6 +1854,96 @@
is_static=True)
return
+def register_Ns3Simulator_methods(root_module, cls):
+ ## simulator.h (module 'core'): ns3::Simulator::Simulator(ns3::Simulator const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Simulator const &', 'arg0')])
+ ## simulator.h (module 'core'): static void ns3::Simulator::Cancel(ns3::EventId const & id) [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Destroy() [member function]
+ cls.add_method('Destroy',
+ 'void',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static uint32_t ns3::Simulator::GetContext() [member function]
+ cls.add_method('GetContext',
+ 'uint32_t',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::GetDelayLeft(ns3::EventId const & id) [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Ptr<ns3::SimulatorImpl> ns3::Simulator::GetImplementation() [member function]
+ cls.add_method('GetImplementation',
+ 'ns3::Ptr< ns3::SimulatorImpl >',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::GetMaximumSimulationTime() [member function]
+ cls.add_method('GetMaximumSimulationTime',
+ 'ns3::Time',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static uint32_t ns3::Simulator::GetSystemId() [member function]
+ cls.add_method('GetSystemId',
+ 'uint32_t',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static bool ns3::Simulator::IsExpired(ns3::EventId const & id) [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static bool ns3::Simulator::IsFinished() [member function]
+ cls.add_method('IsFinished',
+ 'bool',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::Next() [member function]
+ cls.add_method('Next',
+ 'ns3::Time',
+ [],
+ is_static=True, deprecated=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::Now() [member function]
+ cls.add_method('Now',
+ 'ns3::Time',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Remove(ns3::EventId const & id) [member function]
+ cls.add_method('Remove',
+ 'void',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::RunOneEvent() [member function]
+ cls.add_method('RunOneEvent',
+ 'void',
+ [],
+ is_static=True, deprecated=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::SetImplementation(ns3::Ptr<ns3::SimulatorImpl> impl) [member function]
+ cls.add_method('SetImplementation',
+ 'void',
+ [param('ns3::Ptr< ns3::SimulatorImpl >', 'impl')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::SetScheduler(ns3::ObjectFactory schedulerFactory) [member function]
+ cls.add_method('SetScheduler',
+ 'void',
+ [param('ns3::ObjectFactory', 'schedulerFactory')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Stop() [member function]
+ cls.add_method('Stop',
+ 'void',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Stop(ns3::Time const & time) [member function]
+ cls.add_method('Stop',
+ 'void',
+ [param('ns3::Time const &', 'time')],
+ is_static=True)
+ return
+
def register_Ns3SystemWallClockMs_methods(root_module, cls):
## system-wall-clock-ms.h (module 'core'): ns3::SystemWallClockMs::SystemWallClockMs(ns3::SystemWallClockMs const & arg0) [copy constructor]
cls.add_constructor([param('ns3::SystemWallClockMs const &', 'arg0')])
@@ -1674,6 +2069,90 @@
[param('uint8_t', 'v')])
return
+def register_Ns3Timer_methods(root_module, cls):
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Timer const &', 'arg0')])
+ ## timer.h (module 'core'): ns3::Timer::Timer() [constructor]
+ cls.add_constructor([])
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer::DestroyPolicy destroyPolicy) [constructor]
+ cls.add_constructor([param('ns3::Timer::DestroyPolicy', 'destroyPolicy')])
+ ## timer.h (module 'core'): void ns3::Timer::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelay() const [member function]
+ cls.add_method('GetDelay',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelayLeft() const [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Timer::State ns3::Timer::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Timer::State',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsSuspended() const [member function]
+ cls.add_method('IsSuspended',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): void ns3::Timer::Remove() [member function]
+ cls.add_method('Remove',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Resume() [member function]
+ cls.add_method('Resume',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule() [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule(ns3::Time delay) [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [param('ns3::Time', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::SetDelay(ns3::Time const & delay) [member function]
+ cls.add_method('SetDelay',
+ 'void',
+ [param('ns3::Time const &', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::Suspend() [member function]
+ cls.add_method('Suspend',
+ 'void',
+ [])
+ return
+
+def register_Ns3TimerImpl_methods(root_module, cls):
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl() [constructor]
+ cls.add_constructor([])
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl(ns3::TimerImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimerImpl const &', 'arg0')])
+ ## timer-impl.h (module 'core'): void ns3::TimerImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## timer-impl.h (module 'core'): ns3::EventId ns3::TimerImpl::Schedule(ns3::Time const & delay) [member function]
+ cls.add_method('Schedule',
+ 'ns3::EventId',
+ [param('ns3::Time const &', 'delay')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3TypeId_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -1779,7 +2258,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -1855,6 +2334,113 @@
cls.add_constructor([param('ns3::empty const &', 'arg0')])
return
+def register_Ns3Int64x64_t_methods(root_module, cls):
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned char const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('signed char const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('double const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned char const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('signed char const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('double const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned char const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('signed char const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('double const', 'right'))
+ cls.add_unary_numeric_operator('-')
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned char const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('signed char const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('double const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', 'right'))
+ cls.add_binary_comparison_operator('<')
+ cls.add_binary_comparison_operator('>')
+ cls.add_binary_comparison_operator('!=')
+ cls.add_inplace_numeric_operator('*=', param('ns3::int64x64_t const &', 'right'))
+ cls.add_inplace_numeric_operator('+=', param('ns3::int64x64_t const &', 'right'))
+ cls.add_inplace_numeric_operator('-=', param('ns3::int64x64_t const &', 'right'))
+ cls.add_inplace_numeric_operator('/=', param('ns3::int64x64_t const &', 'right'))
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('<=')
+ cls.add_binary_comparison_operator('==')
+ cls.add_binary_comparison_operator('>=')
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t() [constructor]
+ cls.add_constructor([])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(double v) [constructor]
+ cls.add_constructor([param('double', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(int v) [constructor]
+ cls.add_constructor([param('int', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(long int v) [constructor]
+ cls.add_constructor([param('long int', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(long long int v) [constructor]
+ cls.add_constructor([param('long long int', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(unsigned int v) [constructor]
+ cls.add_constructor([param('unsigned int', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(long unsigned int v) [constructor]
+ cls.add_constructor([param('long unsigned int', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(long long unsigned int v) [constructor]
+ cls.add_constructor([param('long long unsigned int', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(int64_t hi, uint64_t lo) [constructor]
+ cls.add_constructor([param('int64_t', 'hi'), param('uint64_t', 'lo')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(ns3::int64x64_t const & o) [copy constructor]
+ cls.add_constructor([param('ns3::int64x64_t const &', 'o')])
+ ## int64x64-double.h (module 'core'): double ns3::int64x64_t::GetDouble() const [member function]
+ cls.add_method('GetDouble',
+ 'double',
+ [],
+ is_const=True)
+ ## int64x64-double.h (module 'core'): int64_t ns3::int64x64_t::GetHigh() const [member function]
+ cls.add_method('GetHigh',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## int64x64-double.h (module 'core'): uint64_t ns3::int64x64_t::GetLow() const [member function]
+ cls.add_method('GetLow',
+ 'uint64_t',
+ [],
+ is_const=True)
+ ## int64x64-double.h (module 'core'): static ns3::int64x64_t ns3::int64x64_t::Invert(uint64_t v) [member function]
+ cls.add_method('Invert',
+ 'ns3::int64x64_t',
+ [param('uint64_t', 'v')],
+ is_static=True)
+ ## int64x64-double.h (module 'core'): void ns3::int64x64_t::MulByInvert(ns3::int64x64_t const & o) [member function]
+ cls.add_method('MulByInvert',
+ 'void',
+ [param('ns3::int64x64_t const &', 'o')])
+ return
+
def register_Ns3Chunk_methods(root_module, cls):
## chunk.h (module 'network'): ns3::Chunk::Chunk() [constructor]
cls.add_constructor([])
@@ -1920,6 +2506,16 @@
'uint32_t',
[param('ns3::Buffer::Iterator', 'start')],
is_virtual=True)
+ ## ipv4-header.h (module 'internet'): std::string ns3::Ipv4Header::DscpTypeToString(ns3::Ipv4Header::DscpType dscp) const [member function]
+ cls.add_method('DscpTypeToString',
+ 'std::string',
+ [param('ns3::Ipv4Header::DscpType', 'dscp')],
+ is_const=True)
+ ## ipv4-header.h (module 'internet'): std::string ns3::Ipv4Header::EcnTypeToString(ns3::Ipv4Header::EcnType ecn) const [member function]
+ cls.add_method('EcnTypeToString',
+ 'std::string',
+ [param('ns3::Ipv4Header::EcnType', 'ecn')],
+ is_const=True)
## ipv4-header.h (module 'internet'): void ns3::Ipv4Header::EnableChecksum() [member function]
cls.add_method('EnableChecksum',
'void',
@@ -1929,6 +2525,16 @@
'ns3::Ipv4Address',
[],
is_const=True)
+ ## ipv4-header.h (module 'internet'): ns3::Ipv4Header::DscpType ns3::Ipv4Header::GetDscp() const [member function]
+ cls.add_method('GetDscp',
+ 'ns3::Ipv4Header::DscpType',
+ [],
+ is_const=True)
+ ## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType ns3::Ipv4Header::GetEcn() const [member function]
+ cls.add_method('GetEcn',
+ 'ns3::Ipv4Header::EcnType',
+ [],
+ is_const=True)
## ipv4-header.h (module 'internet'): uint16_t ns3::Ipv4Header::GetFragmentOffset() const [member function]
cls.add_method('GetFragmentOffset',
'uint16_t',
@@ -2012,6 +2618,14 @@
cls.add_method('SetDontFragment',
'void',
[])
+ ## ipv4-header.h (module 'internet'): void ns3::Ipv4Header::SetDscp(ns3::Ipv4Header::DscpType dscp) [member function]
+ cls.add_method('SetDscp',
+ 'void',
+ [param('ns3::Ipv4Header::DscpType', 'dscp')])
+ ## ipv4-header.h (module 'internet'): void ns3::Ipv4Header::SetEcn(ns3::Ipv4Header::EcnType ecn) [member function]
+ cls.add_method('SetEcn',
+ 'void',
+ [param('ns3::Ipv4Header::EcnType', 'ecn')])
## ipv4-header.h (module 'internet'): void ns3::Ipv4Header::SetFragmentOffset(uint16_t offsetBytes) [member function]
cls.add_method('SetFragmentOffset',
'void',
@@ -2054,6 +2668,106 @@
[param('uint8_t', 'ttl')])
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -2168,6 +2882,18 @@
is_static=True)
return
+def register_Ns3SimpleRefCount__Ns3EventImpl_Ns3Empty_Ns3DefaultDeleter__lt__ns3EventImpl__gt___methods(root_module, cls):
+ ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >::SimpleRefCount() [constructor]
+ cls.add_constructor([])
+ ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >::SimpleRefCount(ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> > const & o) [copy constructor]
+ cls.add_constructor([param('ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter< ns3::EventImpl > > const &', 'o')])
+ ## simple-ref-count.h (module 'core'): static void ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >::Cleanup() [member function]
+ cls.add_method('Cleanup',
+ 'void',
+ [],
+ is_static=True)
+ return
+
def register_Ns3SimpleRefCount__Ns3Ipv4MulticastRoute_Ns3Empty_Ns3DefaultDeleter__lt__ns3Ipv4MulticastRoute__gt___methods(root_module, cls):
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Ipv4MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4MulticastRoute> >::SimpleRefCount() [constructor]
cls.add_constructor([])
@@ -2255,6 +2981,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -2604,6 +3335,162 @@
is_const=True, is_virtual=True)
return
+def register_Ns3Time_methods(root_module, cls):
+ cls.add_binary_numeric_operator('+', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', 'right'))
+ cls.add_binary_comparison_operator('<')
+ cls.add_binary_comparison_operator('>')
+ cls.add_binary_comparison_operator('!=')
+ cls.add_inplace_numeric_operator('+=', param('ns3::Time const &', 'right'))
+ cls.add_inplace_numeric_operator('-=', param('ns3::Time const &', 'right'))
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('<=')
+ cls.add_binary_comparison_operator('==')
+ cls.add_binary_comparison_operator('>=')
+ ## nstime.h (module 'core'): ns3::Time::Time() [constructor]
+ cls.add_constructor([])
+ ## nstime.h (module 'core'): ns3::Time::Time(ns3::Time const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Time const &', 'o')])
+ ## nstime.h (module 'core'): ns3::Time::Time(double v) [constructor]
+ cls.add_constructor([param('double', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(int v) [constructor]
+ cls.add_constructor([param('int', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(long int v) [constructor]
+ cls.add_constructor([param('long int', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(long long int v) [constructor]
+ cls.add_constructor([param('long long int', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(unsigned int v) [constructor]
+ cls.add_constructor([param('unsigned int', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(long unsigned int v) [constructor]
+ cls.add_constructor([param('long unsigned int', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(long long unsigned int v) [constructor]
+ cls.add_constructor([param('long long unsigned int', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(std::string const & s) [constructor]
+ cls.add_constructor([param('std::string const &', 's')])
+ ## nstime.h (module 'core'): ns3::Time::Time(ns3::int64x64_t const & value) [constructor]
+ cls.add_constructor([param('ns3::int64x64_t const &', 'value')])
+ ## nstime.h (module 'core'): int ns3::Time::Compare(ns3::Time const & o) const [member function]
+ cls.add_method('Compare',
+ 'int',
+ [param('ns3::Time const &', 'o')],
+ is_const=True)
+ ## nstime.h (module 'core'): static ns3::Time ns3::Time::From(ns3::int64x64_t const & from, ns3::Time::Unit timeUnit) [member function]
+ cls.add_method('From',
+ 'ns3::Time',
+ [param('ns3::int64x64_t const &', 'from'), param('ns3::Time::Unit', 'timeUnit')],
+ is_static=True)
+ ## nstime.h (module 'core'): static ns3::Time ns3::Time::From(ns3::int64x64_t const & value) [member function]
+ cls.add_method('From',
+ 'ns3::Time',
+ [param('ns3::int64x64_t const &', 'value')],
+ is_static=True)
+ ## nstime.h (module 'core'): static ns3::Time ns3::Time::FromDouble(double value, ns3::Time::Unit timeUnit) [member function]
+ cls.add_method('FromDouble',
+ 'ns3::Time',
+ [param('double', 'value'), param('ns3::Time::Unit', 'timeUnit')],
+ is_static=True)
+ ## nstime.h (module 'core'): static ns3::Time ns3::Time::FromInteger(uint64_t value, ns3::Time::Unit timeUnit) [member function]
+ cls.add_method('FromInteger',
+ 'ns3::Time',
+ [param('uint64_t', 'value'), param('ns3::Time::Unit', 'timeUnit')],
+ is_static=True)
+ ## nstime.h (module 'core'): double ns3::Time::GetDouble() const [member function]
+ cls.add_method('GetDouble',
+ 'double',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetFemtoSeconds() const [member function]
+ cls.add_method('GetFemtoSeconds',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetInteger() const [member function]
+ cls.add_method('GetInteger',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetMicroSeconds() const [member function]
+ cls.add_method('GetMicroSeconds',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetMilliSeconds() const [member function]
+ cls.add_method('GetMilliSeconds',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetNanoSeconds() const [member function]
+ cls.add_method('GetNanoSeconds',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetPicoSeconds() const [member function]
+ cls.add_method('GetPicoSeconds',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): static ns3::Time::Unit ns3::Time::GetResolution() [member function]
+ cls.add_method('GetResolution',
+ 'ns3::Time::Unit',
+ [],
+ is_static=True)
+ ## nstime.h (module 'core'): double ns3::Time::GetSeconds() const [member function]
+ cls.add_method('GetSeconds',
+ 'double',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetTimeStep() const [member function]
+ cls.add_method('GetTimeStep',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): bool ns3::Time::IsNegative() const [member function]
+ cls.add_method('IsNegative',
+ 'bool',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): bool ns3::Time::IsPositive() const [member function]
+ cls.add_method('IsPositive',
+ 'bool',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): bool ns3::Time::IsStrictlyNegative() const [member function]
+ cls.add_method('IsStrictlyNegative',
+ 'bool',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): bool ns3::Time::IsStrictlyPositive() const [member function]
+ cls.add_method('IsStrictlyPositive',
+ 'bool',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): bool ns3::Time::IsZero() const [member function]
+ cls.add_method('IsZero',
+ 'bool',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): static void ns3::Time::SetResolution(ns3::Time::Unit resolution) [member function]
+ cls.add_method('SetResolution',
+ 'void',
+ [param('ns3::Time::Unit', 'resolution')],
+ is_static=True)
+ ## nstime.h (module 'core'): ns3::int64x64_t ns3::Time::To(ns3::Time::Unit timeUnit) const [member function]
+ cls.add_method('To',
+ 'ns3::int64x64_t',
+ [param('ns3::Time::Unit', 'timeUnit')],
+ is_const=True)
+ ## nstime.h (module 'core'): double ns3::Time::ToDouble(ns3::Time::Unit timeUnit) const [member function]
+ cls.add_method('ToDouble',
+ 'double',
+ [param('ns3::Time::Unit', 'timeUnit')],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::ToInteger(ns3::Time::Unit timeUnit) const [member function]
+ cls.add_method('ToInteger',
+ 'int64_t',
+ [param('ns3::Time::Unit', 'timeUnit')],
+ is_const=True)
+ return
+
def register_Ns3TraceSourceAccessor_methods(root_module, cls):
## trace-source-accessor.h (module 'core'): ns3::TraceSourceAccessor::TraceSourceAccessor(ns3::TraceSourceAccessor const & arg0) [copy constructor]
cls.add_constructor([param('ns3::TraceSourceAccessor const &', 'arg0')])
@@ -2824,6 +3711,87 @@
is_const=True, visibility='private', is_virtual=True)
return
+def register_Ns3EventImpl_methods(root_module, cls):
+ ## event-impl.h (module 'core'): ns3::EventImpl::EventImpl(ns3::EventImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::EventImpl const &', 'arg0')])
+ ## event-impl.h (module 'core'): ns3::EventImpl::EventImpl() [constructor]
+ cls.add_constructor([])
+ ## event-impl.h (module 'core'): void ns3::EventImpl::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## event-impl.h (module 'core'): void ns3::EventImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [])
+ ## event-impl.h (module 'core'): bool ns3::EventImpl::IsCancelled() [member function]
+ cls.add_method('IsCancelled',
+ 'bool',
+ [])
+ ## event-impl.h (module 'core'): void ns3::EventImpl::Notify() [member function]
+ cls.add_method('Notify',
+ 'void',
+ [],
+ is_pure_virtual=True, visibility='protected', is_virtual=True)
+ return
+
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -2894,10 +3862,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -3122,43 +4090,6 @@
cls.add_constructor([param('ns3::Ipv4L3ClickProtocol const &', 'arg0')])
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -3387,6 +4318,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
@@ -3603,6 +4675,46 @@
is_const=True)
return
+def register_Ns3ObjectFactoryChecker_methods(root_module, cls):
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryChecker::ObjectFactoryChecker() [constructor]
+ cls.add_constructor([])
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryChecker::ObjectFactoryChecker(ns3::ObjectFactoryChecker const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ObjectFactoryChecker const &', 'arg0')])
+ return
+
+def register_Ns3ObjectFactoryValue_methods(root_module, cls):
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryValue::ObjectFactoryValue() [constructor]
+ cls.add_constructor([])
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryValue::ObjectFactoryValue(ns3::ObjectFactoryValue const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ObjectFactoryValue const &', 'arg0')])
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryValue::ObjectFactoryValue(ns3::ObjectFactory const & value) [constructor]
+ cls.add_constructor([param('ns3::ObjectFactory const &', 'value')])
+ ## object-factory.h (module 'core'): ns3::Ptr<ns3::AttributeValue> ns3::ObjectFactoryValue::Copy() const [member function]
+ cls.add_method('Copy',
+ 'ns3::Ptr< ns3::AttributeValue >',
+ [],
+ is_const=True, is_virtual=True)
+ ## object-factory.h (module 'core'): bool ns3::ObjectFactoryValue::DeserializeFromString(std::string value, ns3::Ptr<ns3::AttributeChecker const> checker) [member function]
+ cls.add_method('DeserializeFromString',
+ 'bool',
+ [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
+ is_virtual=True)
+ ## object-factory.h (module 'core'): ns3::ObjectFactory ns3::ObjectFactoryValue::Get() const [member function]
+ cls.add_method('Get',
+ 'ns3::ObjectFactory',
+ [],
+ is_const=True)
+ ## object-factory.h (module 'core'): std::string ns3::ObjectFactoryValue::SerializeToString(ns3::Ptr<ns3::AttributeChecker const> checker) const [member function]
+ cls.add_method('SerializeToString',
+ 'std::string',
+ [param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
+ is_const=True, is_virtual=True)
+ ## object-factory.h (module 'core'): void ns3::ObjectFactoryValue::Set(ns3::ObjectFactory const & value) [member function]
+ cls.add_method('Set',
+ 'void',
+ [param('ns3::ObjectFactory const &', 'value')])
+ return
+
def register_Ns3OutputStreamWrapper_methods(root_module, cls):
## output-stream-wrapper.h (module 'network'): ns3::OutputStreamWrapper::OutputStreamWrapper(ns3::OutputStreamWrapper const & arg0) [copy constructor]
cls.add_constructor([param('ns3::OutputStreamWrapper const &', 'arg0')])
@@ -3797,6 +4909,46 @@
[param('ns3::Ptr< ns3::NixVector >', 'arg0')])
return
+def register_Ns3TimeChecker_methods(root_module, cls):
+ ## nstime.h (module 'core'): ns3::TimeChecker::TimeChecker() [constructor]
+ cls.add_constructor([])
+ ## nstime.h (module 'core'): ns3::TimeChecker::TimeChecker(ns3::TimeChecker const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimeChecker const &', 'arg0')])
+ return
+
+def register_Ns3TimeValue_methods(root_module, cls):
+ ## nstime.h (module 'core'): ns3::TimeValue::TimeValue() [constructor]
+ cls.add_constructor([])
+ ## nstime.h (module 'core'): ns3::TimeValue::TimeValue(ns3::TimeValue const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimeValue const &', 'arg0')])
+ ## nstime.h (module 'core'): ns3::TimeValue::TimeValue(ns3::Time const & value) [constructor]
+ cls.add_constructor([param('ns3::Time const &', 'value')])
+ ## nstime.h (module 'core'): ns3::Ptr<ns3::AttributeValue> ns3::TimeValue::Copy() const [member function]
+ cls.add_method('Copy',
+ 'ns3::Ptr< ns3::AttributeValue >',
+ [],
+ is_const=True, is_virtual=True)
+ ## nstime.h (module 'core'): bool ns3::TimeValue::DeserializeFromString(std::string value, ns3::Ptr<ns3::AttributeChecker const> checker) [member function]
+ cls.add_method('DeserializeFromString',
+ 'bool',
+ [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
+ is_virtual=True)
+ ## nstime.h (module 'core'): ns3::Time ns3::TimeValue::Get() const [member function]
+ cls.add_method('Get',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): std::string ns3::TimeValue::SerializeToString(ns3::Ptr<ns3::AttributeChecker const> checker) const [member function]
+ cls.add_method('SerializeToString',
+ 'std::string',
+ [param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
+ is_const=True, is_virtual=True)
+ ## nstime.h (module 'core'): void ns3::TimeValue::Set(ns3::Time const & value) [member function]
+ cls.add_method('Set',
+ 'void',
+ [param('ns3::Time const &', 'value')])
+ return
+
def register_Ns3TypeIdChecker_methods(root_module, cls):
## type-id.h (module 'core'): ns3::TypeIdChecker::TypeIdChecker() [constructor]
cls.add_constructor([])
--- a/src/click/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/click/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -46,6 +46,36 @@
module.add_class('Item', import_from_module='ns.network', outer_class=root_module['ns3::ByteTagList::Iterator'])
## callback.h (module 'core'): ns3::CallbackBase [class]
module.add_class('CallbackBase', import_from_module='ns.core')
+ ## event-id.h (module 'core'): ns3::EventId [class]
+ module.add_class('EventId', import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<0> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['0'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 0 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<1> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['1'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 1 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<2> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['2'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 2 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<3> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['3'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 3 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<4> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['4'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 4 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<5> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['5'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 5 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<6> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['6'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 6 >'], import_from_module='ns.core')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
module.add_class('Ipv4Address', import_from_module='ns.network')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
@@ -60,6 +90,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## log.h (module 'core'): ns3::LogComponent [class]
@@ -68,6 +104,8 @@
module.add_class('ObjectBase', allow_subclassing=True, import_from_module='ns.core')
## object.h (module 'core'): ns3::ObjectDeleter [struct]
module.add_class('ObjectDeleter', import_from_module='ns.core')
+ ## object-factory.h (module 'core'): ns3::ObjectFactory [class]
+ module.add_class('ObjectFactory', import_from_module='ns.core')
## packet-metadata.h (module 'network'): ns3::PacketMetadata [class]
module.add_class('PacketMetadata', import_from_module='ns.network')
## packet-metadata.h (module 'network'): ns3::PacketMetadata::Item [struct]
@@ -86,12 +124,22 @@
module.add_class('TagData', import_from_module='ns.network', outer_class=root_module['ns3::PacketTagList'])
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter> [class]
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::Object', 'ns3::ObjectBase', 'ns3::ObjectDeleter'], parent=root_module['ns3::ObjectBase'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simulator.h (module 'core'): ns3::Simulator [class]
+ module.add_class('Simulator', destructor_visibility='private', import_from_module='ns.core')
## system-wall-clock-ms.h (module 'core'): ns3::SystemWallClockMs [class]
module.add_class('SystemWallClockMs', import_from_module='ns.core')
## tag.h (module 'network'): ns3::Tag [class]
module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
module.add_class('TagBuffer', import_from_module='ns.network')
+ ## timer.h (module 'core'): ns3::Timer [class]
+ module.add_class('Timer', import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::DestroyPolicy [enumeration]
+ module.add_enum('DestroyPolicy', ['CANCEL_ON_DESTROY', 'REMOVE_ON_DESTROY', 'CHECK_ON_DESTROY'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::State [enumeration]
+ module.add_enum('State', ['RUNNING', 'EXPIRED', 'SUSPENDED'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer-impl.h (module 'core'): ns3::TimerImpl [class]
+ module.add_class('TimerImpl', allow_subclassing=True, import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId [class]
module.add_class('TypeId', import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
@@ -102,12 +150,22 @@
module.add_class('TraceSourceInformation', import_from_module='ns.core', outer_class=root_module['ns3::TypeId'])
## empty.h (module 'core'): ns3::empty [class]
module.add_class('empty', import_from_module='ns.core')
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t [class]
+ module.add_class('int64x64_t', import_from_module='ns.core')
## chunk.h (module 'network'): ns3::Chunk [class]
module.add_class('Chunk', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
## header.h (module 'network'): ns3::Header [class]
module.add_class('Header', import_from_module='ns.network', parent=root_module['ns3::Chunk'])
## ipv4-header.h (module 'internet'): ns3::Ipv4Header [class]
module.add_class('Ipv4Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv4-header.h (module 'internet'): ns3::Ipv4Header::DscpType [enumeration]
+ module.add_enum('DscpType', ['DscpDefault', 'CS1', 'AF11', 'AF12', 'AF13', 'CS2', 'AF21', 'AF22', 'AF23', 'CS3', 'AF31', 'AF32', 'AF33', 'CS4', 'AF41', 'AF42', 'AF43', 'CS5', 'EF', 'CS6', 'CS7'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType [enumeration]
+ module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -120,6 +178,8 @@
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::AttributeValue', 'ns3::empty', 'ns3::DefaultDeleter<ns3::AttributeValue>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::CallbackImplBase, ns3::empty, ns3::DefaultDeleter<ns3::CallbackImplBase> > [class]
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::CallbackImplBase', 'ns3::empty', 'ns3::DefaultDeleter<ns3::CallbackImplBase>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::EventImpl', 'ns3::empty', 'ns3::DefaultDeleter<ns3::EventImpl>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Ipv4MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4MulticastRoute> > [class]
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::Ipv4MulticastRoute', 'ns3::empty', 'ns3::DefaultDeleter<ns3::Ipv4MulticastRoute>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Ipv4Route, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4Route> > [class]
@@ -144,6 +204,12 @@
module.add_class('SocketIpTtlTag', import_from_module='ns.network', parent=root_module['ns3::Tag'])
## socket.h (module 'network'): ns3::SocketSetDontFragmentTag [class]
module.add_class('SocketSetDontFragmentTag', import_from_module='ns.network', parent=root_module['ns3::Tag'])
+ ## nstime.h (module 'core'): ns3::Time [class]
+ module.add_class('Time', import_from_module='ns.core')
+ ## nstime.h (module 'core'): ns3::Time::Unit [enumeration]
+ module.add_enum('Unit', ['S', 'MS', 'US', 'NS', 'PS', 'FS', 'LAST'], outer_class=root_module['ns3::Time'], import_from_module='ns.core')
+ ## nstime.h (module 'core'): ns3::Time [class]
+ root_module['ns3::Time'].implicitly_converts_to(root_module['ns3::int64x64_t'])
## trace-source-accessor.h (module 'core'): ns3::TraceSourceAccessor [class]
module.add_class('TraceSourceAccessor', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::TraceSourceAccessor, ns3::empty, ns3::DefaultDeleter<ns3::TraceSourceAccessor> >'])
## trailer.h (module 'network'): ns3::Trailer [class]
@@ -162,6 +228,12 @@
module.add_class('CallbackValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## attribute.h (module 'core'): ns3::EmptyAttributeValue [class]
module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
+ ## event-impl.h (module 'core'): ns3::EventImpl [class]
+ module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -172,10 +244,6 @@
module.add_class('Ipv4Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-l3-click-protocol.h (module 'click'): ns3::Ipv4L3ClickProtocol [class]
module.add_class('Ipv4L3ClickProtocol', parent=root_module['ns3::Ipv4'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -190,6 +258,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -200,10 +270,18 @@
module.add_enum('PacketType', ['PACKET_HOST', 'NS3_PACKET_HOST', 'PACKET_BROADCAST', 'NS3_PACKET_BROADCAST', 'PACKET_MULTICAST', 'NS3_PACKET_MULTICAST', 'PACKET_OTHERHOST', 'NS3_PACKET_OTHERHOST'], outer_class=root_module['ns3::NetDevice'], import_from_module='ns.network')
## nix-vector.h (module 'network'): ns3::NixVector [class]
module.add_class('NixVector', import_from_module='ns.network', parent=root_module['ns3::SimpleRefCount< ns3::NixVector, ns3::empty, ns3::DefaultDeleter<ns3::NixVector> >'])
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryChecker [class]
+ module.add_class('ObjectFactoryChecker', import_from_module='ns.core', parent=root_module['ns3::AttributeChecker'])
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryValue [class]
+ module.add_class('ObjectFactoryValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## output-stream-wrapper.h (module 'network'): ns3::OutputStreamWrapper [class]
module.add_class('OutputStreamWrapper', import_from_module='ns.network', parent=root_module['ns3::SimpleRefCount< ns3::OutputStreamWrapper, ns3::empty, ns3::DefaultDeleter<ns3::OutputStreamWrapper> >'])
## packet.h (module 'network'): ns3::Packet [class]
module.add_class('Packet', import_from_module='ns.network', parent=root_module['ns3::SimpleRefCount< ns3::Packet, ns3::empty, ns3::DefaultDeleter<ns3::Packet> >'])
+ ## nstime.h (module 'core'): ns3::TimeChecker [class]
+ module.add_class('TimeChecker', import_from_module='ns.core', parent=root_module['ns3::AttributeChecker'])
+ ## nstime.h (module 'core'): ns3::TimeValue [class]
+ module.add_class('TimeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## type-id.h (module 'core'): ns3::TypeIdChecker [class]
module.add_class('TypeIdChecker', import_from_module='ns.core', parent=root_module['ns3::AttributeChecker'])
## type-id.h (module 'core'): ns3::TypeIdValue [class]
@@ -244,14 +322,24 @@
register_Ns3ByteTagListIterator_methods(root_module, root_module['ns3::ByteTagList::Iterator'])
register_Ns3ByteTagListIteratorItem_methods(root_module, root_module['ns3::ByteTagList::Iterator::Item'])
register_Ns3CallbackBase_methods(root_module, root_module['ns3::CallbackBase'])
+ register_Ns3EventId_methods(root_module, root_module['ns3::EventId'])
+ register_Ns3IntToType__0_methods(root_module, root_module['ns3::IntToType< 0 >'])
+ register_Ns3IntToType__1_methods(root_module, root_module['ns3::IntToType< 1 >'])
+ register_Ns3IntToType__2_methods(root_module, root_module['ns3::IntToType< 2 >'])
+ register_Ns3IntToType__3_methods(root_module, root_module['ns3::IntToType< 3 >'])
+ register_Ns3IntToType__4_methods(root_module, root_module['ns3::IntToType< 4 >'])
+ register_Ns3IntToType__5_methods(root_module, root_module['ns3::IntToType< 5 >'])
+ register_Ns3IntToType__6_methods(root_module, root_module['ns3::IntToType< 6 >'])
register_Ns3Ipv4Address_methods(root_module, root_module['ns3::Ipv4Address'])
register_Ns3Ipv4InterfaceAddress_methods(root_module, root_module['ns3::Ipv4InterfaceAddress'])
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3LogComponent_methods(root_module, root_module['ns3::LogComponent'])
register_Ns3ObjectBase_methods(root_module, root_module['ns3::ObjectBase'])
register_Ns3ObjectDeleter_methods(root_module, root_module['ns3::ObjectDeleter'])
+ register_Ns3ObjectFactory_methods(root_module, root_module['ns3::ObjectFactory'])
register_Ns3PacketMetadata_methods(root_module, root_module['ns3::PacketMetadata'])
register_Ns3PacketMetadataItem_methods(root_module, root_module['ns3::PacketMetadata::Item'])
register_Ns3PacketMetadataItemIterator_methods(root_module, root_module['ns3::PacketMetadata::ItemIterator'])
@@ -260,22 +348,28 @@
register_Ns3PacketTagList_methods(root_module, root_module['ns3::PacketTagList'])
register_Ns3PacketTagListTagData_methods(root_module, root_module['ns3::PacketTagList::TagData'])
register_Ns3SimpleRefCount__Ns3Object_Ns3ObjectBase_Ns3ObjectDeleter_methods(root_module, root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
+ register_Ns3Simulator_methods(root_module, root_module['ns3::Simulator'])
register_Ns3SystemWallClockMs_methods(root_module, root_module['ns3::SystemWallClockMs'])
register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
+ register_Ns3Timer_methods(root_module, root_module['ns3::Timer'])
+ register_Ns3TimerImpl_methods(root_module, root_module['ns3::TimerImpl'])
register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
register_Ns3Empty_methods(root_module, root_module['ns3::empty'])
+ register_Ns3Int64x64_t_methods(root_module, root_module['ns3::int64x64_t'])
register_Ns3Chunk_methods(root_module, root_module['ns3::Chunk'])
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
register_Ns3SimpleRefCount__Ns3AttributeChecker_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeChecker__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeChecker, ns3::empty, ns3::DefaultDeleter<ns3::AttributeChecker> >'])
register_Ns3SimpleRefCount__Ns3AttributeValue_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeValue__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeValue, ns3::empty, ns3::DefaultDeleter<ns3::AttributeValue> >'])
register_Ns3SimpleRefCount__Ns3CallbackImplBase_Ns3Empty_Ns3DefaultDeleter__lt__ns3CallbackImplBase__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::CallbackImplBase, ns3::empty, ns3::DefaultDeleter<ns3::CallbackImplBase> >'])
+ register_Ns3SimpleRefCount__Ns3EventImpl_Ns3Empty_Ns3DefaultDeleter__lt__ns3EventImpl__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
register_Ns3SimpleRefCount__Ns3Ipv4MulticastRoute_Ns3Empty_Ns3DefaultDeleter__lt__ns3Ipv4MulticastRoute__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::Ipv4MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4MulticastRoute> >'])
register_Ns3SimpleRefCount__Ns3Ipv4Route_Ns3Empty_Ns3DefaultDeleter__lt__ns3Ipv4Route__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::Ipv4Route, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4Route> >'])
register_Ns3SimpleRefCount__Ns3NixVector_Ns3Empty_Ns3DefaultDeleter__lt__ns3NixVector__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::NixVector, ns3::empty, ns3::DefaultDeleter<ns3::NixVector> >'])
@@ -286,6 +380,7 @@
register_Ns3SocketAddressTag_methods(root_module, root_module['ns3::SocketAddressTag'])
register_Ns3SocketIpTtlTag_methods(root_module, root_module['ns3::SocketIpTtlTag'])
register_Ns3SocketSetDontFragmentTag_methods(root_module, root_module['ns3::SocketSetDontFragmentTag'])
+ register_Ns3Time_methods(root_module, root_module['ns3::Time'])
register_Ns3TraceSourceAccessor_methods(root_module, root_module['ns3::TraceSourceAccessor'])
register_Ns3Trailer_methods(root_module, root_module['ns3::Trailer'])
register_Ns3AttributeAccessor_methods(root_module, root_module['ns3::AttributeAccessor'])
@@ -295,12 +390,13 @@
register_Ns3CallbackImplBase_methods(root_module, root_module['ns3::CallbackImplBase'])
register_Ns3CallbackValue_methods(root_module, root_module['ns3::CallbackValue'])
register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue'])
+ register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
register_Ns3Ipv4Interface_methods(root_module, root_module['ns3::Ipv4Interface'])
register_Ns3Ipv4L3ClickProtocol_methods(root_module, root_module['ns3::Ipv4L3ClickProtocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -308,12 +404,17 @@
register_Ns3Ipv4RoutingProtocol_methods(root_module, root_module['ns3::Ipv4RoutingProtocol'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3NetDevice_methods(root_module, root_module['ns3::NetDevice'])
register_Ns3NixVector_methods(root_module, root_module['ns3::NixVector'])
+ register_Ns3ObjectFactoryChecker_methods(root_module, root_module['ns3::ObjectFactoryChecker'])
+ register_Ns3ObjectFactoryValue_methods(root_module, root_module['ns3::ObjectFactoryValue'])
register_Ns3OutputStreamWrapper_methods(root_module, root_module['ns3::OutputStreamWrapper'])
register_Ns3Packet_methods(root_module, root_module['ns3::Packet'])
+ register_Ns3TimeChecker_methods(root_module, root_module['ns3::TimeChecker'])
+ register_Ns3TimeValue_methods(root_module, root_module['ns3::TimeValue'])
register_Ns3TypeIdChecker_methods(root_module, root_module['ns3::TypeIdChecker'])
register_Ns3TypeIdValue_methods(root_module, root_module['ns3::TypeIdValue'])
register_Ns3AddressChecker_methods(root_module, root_module['ns3::AddressChecker'])
@@ -799,6 +900,100 @@
is_static=True, visibility='protected')
return
+def register_Ns3EventId_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_binary_comparison_operator('==')
+ ## event-id.h (module 'core'): ns3::EventId::EventId(ns3::EventId const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::EventId const &', 'arg0')])
+ ## event-id.h (module 'core'): ns3::EventId::EventId() [constructor]
+ cls.add_constructor([])
+ ## event-id.h (module 'core'): ns3::EventId::EventId(ns3::Ptr<ns3::EventImpl> const & impl, uint64_t ts, uint32_t context, uint32_t uid) [constructor]
+ cls.add_constructor([param('ns3::Ptr< ns3::EventImpl > const &', 'impl'), param('uint64_t', 'ts'), param('uint32_t', 'context'), param('uint32_t', 'uid')])
+ ## event-id.h (module 'core'): void ns3::EventId::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## event-id.h (module 'core'): uint32_t ns3::EventId::GetContext() const [member function]
+ cls.add_method('GetContext',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): uint64_t ns3::EventId::GetTs() const [member function]
+ cls.add_method('GetTs',
+ 'uint64_t',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): uint32_t ns3::EventId::GetUid() const [member function]
+ cls.add_method('GetUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): bool ns3::EventId::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): bool ns3::EventId::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): ns3::EventImpl * ns3::EventId::PeekEventImpl() const [member function]
+ cls.add_method('PeekEventImpl',
+ 'ns3::EventImpl *',
+ [],
+ is_const=True)
+ return
+
+def register_Ns3IntToType__0_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType(ns3::IntToType<0> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 0 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__1_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType(ns3::IntToType<1> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 1 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__2_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType(ns3::IntToType<2> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 2 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__3_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType(ns3::IntToType<3> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 3 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__4_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType(ns3::IntToType<4> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 4 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__5_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType(ns3::IntToType<5> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 5 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__6_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType(ns3::IntToType<6> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 6 > const &', 'arg0')])
+ return
+
def register_Ns3Ipv4Address_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -1085,6 +1280,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1125,11 +1325,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1160,6 +1369,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1185,6 +1399,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -1350,6 +1619,42 @@
is_static=True)
return
+def register_Ns3ObjectFactory_methods(root_module, cls):
+ cls.add_output_stream_operator()
+ ## object-factory.h (module 'core'): ns3::ObjectFactory::ObjectFactory(ns3::ObjectFactory const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ObjectFactory const &', 'arg0')])
+ ## object-factory.h (module 'core'): ns3::ObjectFactory::ObjectFactory() [constructor]
+ cls.add_constructor([])
+ ## object-factory.h (module 'core'): ns3::ObjectFactory::ObjectFactory(std::string typeId) [constructor]
+ cls.add_constructor([param('std::string', 'typeId')])
+ ## object-factory.h (module 'core'): ns3::Ptr<ns3::Object> ns3::ObjectFactory::Create() const [member function]
+ cls.add_method('Create',
+ 'ns3::Ptr< ns3::Object >',
+ [],
+ is_const=True)
+ ## object-factory.h (module 'core'): ns3::TypeId ns3::ObjectFactory::GetTypeId() const [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True)
+ ## object-factory.h (module 'core'): void ns3::ObjectFactory::Set(std::string name, ns3::AttributeValue const & value) [member function]
+ cls.add_method('Set',
+ 'void',
+ [param('std::string', 'name'), param('ns3::AttributeValue const &', 'value')])
+ ## object-factory.h (module 'core'): void ns3::ObjectFactory::SetTypeId(ns3::TypeId tid) [member function]
+ cls.add_method('SetTypeId',
+ 'void',
+ [param('ns3::TypeId', 'tid')])
+ ## object-factory.h (module 'core'): void ns3::ObjectFactory::SetTypeId(char const * tid) [member function]
+ cls.add_method('SetTypeId',
+ 'void',
+ [param('char const *', 'tid')])
+ ## object-factory.h (module 'core'): void ns3::ObjectFactory::SetTypeId(std::string tid) [member function]
+ cls.add_method('SetTypeId',
+ 'void',
+ [param('std::string', 'tid')])
+ return
+
def register_Ns3PacketMetadata_methods(root_module, cls):
## packet-metadata.h (module 'network'): ns3::PacketMetadata::PacketMetadata(uint64_t uid, uint32_t size) [constructor]
cls.add_constructor([param('uint64_t', 'uid'), param('uint32_t', 'size')])
@@ -1549,6 +1854,96 @@
is_static=True)
return
+def register_Ns3Simulator_methods(root_module, cls):
+ ## simulator.h (module 'core'): ns3::Simulator::Simulator(ns3::Simulator const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Simulator const &', 'arg0')])
+ ## simulator.h (module 'core'): static void ns3::Simulator::Cancel(ns3::EventId const & id) [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Destroy() [member function]
+ cls.add_method('Destroy',
+ 'void',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static uint32_t ns3::Simulator::GetContext() [member function]
+ cls.add_method('GetContext',
+ 'uint32_t',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::GetDelayLeft(ns3::EventId const & id) [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Ptr<ns3::SimulatorImpl> ns3::Simulator::GetImplementation() [member function]
+ cls.add_method('GetImplementation',
+ 'ns3::Ptr< ns3::SimulatorImpl >',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::GetMaximumSimulationTime() [member function]
+ cls.add_method('GetMaximumSimulationTime',
+ 'ns3::Time',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static uint32_t ns3::Simulator::GetSystemId() [member function]
+ cls.add_method('GetSystemId',
+ 'uint32_t',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static bool ns3::Simulator::IsExpired(ns3::EventId const & id) [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static bool ns3::Simulator::IsFinished() [member function]
+ cls.add_method('IsFinished',
+ 'bool',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::Next() [member function]
+ cls.add_method('Next',
+ 'ns3::Time',
+ [],
+ is_static=True, deprecated=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::Now() [member function]
+ cls.add_method('Now',
+ 'ns3::Time',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Remove(ns3::EventId const & id) [member function]
+ cls.add_method('Remove',
+ 'void',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::RunOneEvent() [member function]
+ cls.add_method('RunOneEvent',
+ 'void',
+ [],
+ is_static=True, deprecated=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::SetImplementation(ns3::Ptr<ns3::SimulatorImpl> impl) [member function]
+ cls.add_method('SetImplementation',
+ 'void',
+ [param('ns3::Ptr< ns3::SimulatorImpl >', 'impl')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::SetScheduler(ns3::ObjectFactory schedulerFactory) [member function]
+ cls.add_method('SetScheduler',
+ 'void',
+ [param('ns3::ObjectFactory', 'schedulerFactory')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Stop() [member function]
+ cls.add_method('Stop',
+ 'void',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Stop(ns3::Time const & time) [member function]
+ cls.add_method('Stop',
+ 'void',
+ [param('ns3::Time const &', 'time')],
+ is_static=True)
+ return
+
def register_Ns3SystemWallClockMs_methods(root_module, cls):
## system-wall-clock-ms.h (module 'core'): ns3::SystemWallClockMs::SystemWallClockMs(ns3::SystemWallClockMs const & arg0) [copy constructor]
cls.add_constructor([param('ns3::SystemWallClockMs const &', 'arg0')])
@@ -1674,6 +2069,90 @@
[param('uint8_t', 'v')])
return
+def register_Ns3Timer_methods(root_module, cls):
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Timer const &', 'arg0')])
+ ## timer.h (module 'core'): ns3::Timer::Timer() [constructor]
+ cls.add_constructor([])
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer::DestroyPolicy destroyPolicy) [constructor]
+ cls.add_constructor([param('ns3::Timer::DestroyPolicy', 'destroyPolicy')])
+ ## timer.h (module 'core'): void ns3::Timer::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelay() const [member function]
+ cls.add_method('GetDelay',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelayLeft() const [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Timer::State ns3::Timer::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Timer::State',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsSuspended() const [member function]
+ cls.add_method('IsSuspended',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): void ns3::Timer::Remove() [member function]
+ cls.add_method('Remove',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Resume() [member function]
+ cls.add_method('Resume',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule() [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule(ns3::Time delay) [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [param('ns3::Time', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::SetDelay(ns3::Time const & delay) [member function]
+ cls.add_method('SetDelay',
+ 'void',
+ [param('ns3::Time const &', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::Suspend() [member function]
+ cls.add_method('Suspend',
+ 'void',
+ [])
+ return
+
+def register_Ns3TimerImpl_methods(root_module, cls):
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl() [constructor]
+ cls.add_constructor([])
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl(ns3::TimerImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimerImpl const &', 'arg0')])
+ ## timer-impl.h (module 'core'): void ns3::TimerImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## timer-impl.h (module 'core'): ns3::EventId ns3::TimerImpl::Schedule(ns3::Time const & delay) [member function]
+ cls.add_method('Schedule',
+ 'ns3::EventId',
+ [param('ns3::Time const &', 'delay')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3TypeId_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -1779,7 +2258,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -1855,6 +2334,113 @@
cls.add_constructor([param('ns3::empty const &', 'arg0')])
return
+def register_Ns3Int64x64_t_methods(root_module, cls):
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned char const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short int const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('signed char const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('double const', 'right'))
+ cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned char const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short int const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('signed char const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('double const', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned char const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short int const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('signed char const', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('double const', 'right'))
+ cls.add_unary_numeric_operator('-')
+ cls.add_binary_numeric_operator('-', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short unsigned int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('unsigned char const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long long int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('long int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('short int const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('signed char const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('double const', 'right'))
+ cls.add_binary_numeric_operator('/', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', 'right'))
+ cls.add_binary_comparison_operator('<')
+ cls.add_binary_comparison_operator('>')
+ cls.add_binary_comparison_operator('!=')
+ cls.add_inplace_numeric_operator('*=', param('ns3::int64x64_t const &', 'right'))
+ cls.add_inplace_numeric_operator('+=', param('ns3::int64x64_t const &', 'right'))
+ cls.add_inplace_numeric_operator('-=', param('ns3::int64x64_t const &', 'right'))
+ cls.add_inplace_numeric_operator('/=', param('ns3::int64x64_t const &', 'right'))
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('<=')
+ cls.add_binary_comparison_operator('==')
+ cls.add_binary_comparison_operator('>=')
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t() [constructor]
+ cls.add_constructor([])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(double v) [constructor]
+ cls.add_constructor([param('double', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(int v) [constructor]
+ cls.add_constructor([param('int', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(long int v) [constructor]
+ cls.add_constructor([param('long int', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(long long int v) [constructor]
+ cls.add_constructor([param('long long int', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(unsigned int v) [constructor]
+ cls.add_constructor([param('unsigned int', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(long unsigned int v) [constructor]
+ cls.add_constructor([param('long unsigned int', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(long long unsigned int v) [constructor]
+ cls.add_constructor([param('long long unsigned int', 'v')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(int64_t hi, uint64_t lo) [constructor]
+ cls.add_constructor([param('int64_t', 'hi'), param('uint64_t', 'lo')])
+ ## int64x64-double.h (module 'core'): ns3::int64x64_t::int64x64_t(ns3::int64x64_t const & o) [copy constructor]
+ cls.add_constructor([param('ns3::int64x64_t const &', 'o')])
+ ## int64x64-double.h (module 'core'): double ns3::int64x64_t::GetDouble() const [member function]
+ cls.add_method('GetDouble',
+ 'double',
+ [],
+ is_const=True)
+ ## int64x64-double.h (module 'core'): int64_t ns3::int64x64_t::GetHigh() const [member function]
+ cls.add_method('GetHigh',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## int64x64-double.h (module 'core'): uint64_t ns3::int64x64_t::GetLow() const [member function]
+ cls.add_method('GetLow',
+ 'uint64_t',
+ [],
+ is_const=True)
+ ## int64x64-double.h (module 'core'): static ns3::int64x64_t ns3::int64x64_t::Invert(uint64_t v) [member function]
+ cls.add_method('Invert',
+ 'ns3::int64x64_t',
+ [param('uint64_t', 'v')],
+ is_static=True)
+ ## int64x64-double.h (module 'core'): void ns3::int64x64_t::MulByInvert(ns3::int64x64_t const & o) [member function]
+ cls.add_method('MulByInvert',
+ 'void',
+ [param('ns3::int64x64_t const &', 'o')])
+ return
+
def register_Ns3Chunk_methods(root_module, cls):
## chunk.h (module 'network'): ns3::Chunk::Chunk() [constructor]
cls.add_constructor([])
@@ -1920,6 +2506,16 @@
'uint32_t',
[param('ns3::Buffer::Iterator', 'start')],
is_virtual=True)
+ ## ipv4-header.h (module 'internet'): std::string ns3::Ipv4Header::DscpTypeToString(ns3::Ipv4Header::DscpType dscp) const [member function]
+ cls.add_method('DscpTypeToString',
+ 'std::string',
+ [param('ns3::Ipv4Header::DscpType', 'dscp')],
+ is_const=True)
+ ## ipv4-header.h (module 'internet'): std::string ns3::Ipv4Header::EcnTypeToString(ns3::Ipv4Header::EcnType ecn) const [member function]
+ cls.add_method('EcnTypeToString',
+ 'std::string',
+ [param('ns3::Ipv4Header::EcnType', 'ecn')],
+ is_const=True)
## ipv4-header.h (module 'internet'): void ns3::Ipv4Header::EnableChecksum() [member function]
cls.add_method('EnableChecksum',
'void',
@@ -1929,6 +2525,16 @@
'ns3::Ipv4Address',
[],
is_const=True)
+ ## ipv4-header.h (module 'internet'): ns3::Ipv4Header::DscpType ns3::Ipv4Header::GetDscp() const [member function]
+ cls.add_method('GetDscp',
+ 'ns3::Ipv4Header::DscpType',
+ [],
+ is_const=True)
+ ## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType ns3::Ipv4Header::GetEcn() const [member function]
+ cls.add_method('GetEcn',
+ 'ns3::Ipv4Header::EcnType',
+ [],
+ is_const=True)
## ipv4-header.h (module 'internet'): uint16_t ns3::Ipv4Header::GetFragmentOffset() const [member function]
cls.add_method('GetFragmentOffset',
'uint16_t',
@@ -2012,6 +2618,14 @@
cls.add_method('SetDontFragment',
'void',
[])
+ ## ipv4-header.h (module 'internet'): void ns3::Ipv4Header::SetDscp(ns3::Ipv4Header::DscpType dscp) [member function]
+ cls.add_method('SetDscp',
+ 'void',
+ [param('ns3::Ipv4Header::DscpType', 'dscp')])
+ ## ipv4-header.h (module 'internet'): void ns3::Ipv4Header::SetEcn(ns3::Ipv4Header::EcnType ecn) [member function]
+ cls.add_method('SetEcn',
+ 'void',
+ [param('ns3::Ipv4Header::EcnType', 'ecn')])
## ipv4-header.h (module 'internet'): void ns3::Ipv4Header::SetFragmentOffset(uint16_t offsetBytes) [member function]
cls.add_method('SetFragmentOffset',
'void',
@@ -2054,6 +2668,106 @@
[param('uint8_t', 'ttl')])
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -2168,6 +2882,18 @@
is_static=True)
return
+def register_Ns3SimpleRefCount__Ns3EventImpl_Ns3Empty_Ns3DefaultDeleter__lt__ns3EventImpl__gt___methods(root_module, cls):
+ ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >::SimpleRefCount() [constructor]
+ cls.add_constructor([])
+ ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >::SimpleRefCount(ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> > const & o) [copy constructor]
+ cls.add_constructor([param('ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter< ns3::EventImpl > > const &', 'o')])
+ ## simple-ref-count.h (module 'core'): static void ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >::Cleanup() [member function]
+ cls.add_method('Cleanup',
+ 'void',
+ [],
+ is_static=True)
+ return
+
def register_Ns3SimpleRefCount__Ns3Ipv4MulticastRoute_Ns3Empty_Ns3DefaultDeleter__lt__ns3Ipv4MulticastRoute__gt___methods(root_module, cls):
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Ipv4MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4MulticastRoute> >::SimpleRefCount() [constructor]
cls.add_constructor([])
@@ -2255,6 +2981,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -2604,6 +3335,162 @@
is_const=True, is_virtual=True)
return
+def register_Ns3Time_methods(root_module, cls):
+ cls.add_binary_numeric_operator('+', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', 'right'))
+ cls.add_binary_comparison_operator('<')
+ cls.add_binary_comparison_operator('>')
+ cls.add_binary_comparison_operator('!=')
+ cls.add_inplace_numeric_operator('+=', param('ns3::Time const &', 'right'))
+ cls.add_inplace_numeric_operator('-=', param('ns3::Time const &', 'right'))
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('<=')
+ cls.add_binary_comparison_operator('==')
+ cls.add_binary_comparison_operator('>=')
+ ## nstime.h (module 'core'): ns3::Time::Time() [constructor]
+ cls.add_constructor([])
+ ## nstime.h (module 'core'): ns3::Time::Time(ns3::Time const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Time const &', 'o')])
+ ## nstime.h (module 'core'): ns3::Time::Time(double v) [constructor]
+ cls.add_constructor([param('double', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(int v) [constructor]
+ cls.add_constructor([param('int', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(long int v) [constructor]
+ cls.add_constructor([param('long int', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(long long int v) [constructor]
+ cls.add_constructor([param('long long int', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(unsigned int v) [constructor]
+ cls.add_constructor([param('unsigned int', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(long unsigned int v) [constructor]
+ cls.add_constructor([param('long unsigned int', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(long long unsigned int v) [constructor]
+ cls.add_constructor([param('long long unsigned int', 'v')])
+ ## nstime.h (module 'core'): ns3::Time::Time(std::string const & s) [constructor]
+ cls.add_constructor([param('std::string const &', 's')])
+ ## nstime.h (module 'core'): ns3::Time::Time(ns3::int64x64_t const & value) [constructor]
+ cls.add_constructor([param('ns3::int64x64_t const &', 'value')])
+ ## nstime.h (module 'core'): int ns3::Time::Compare(ns3::Time const & o) const [member function]
+ cls.add_method('Compare',
+ 'int',
+ [param('ns3::Time const &', 'o')],
+ is_const=True)
+ ## nstime.h (module 'core'): static ns3::Time ns3::Time::From(ns3::int64x64_t const & from, ns3::Time::Unit timeUnit) [member function]
+ cls.add_method('From',
+ 'ns3::Time',
+ [param('ns3::int64x64_t const &', 'from'), param('ns3::Time::Unit', 'timeUnit')],
+ is_static=True)
+ ## nstime.h (module 'core'): static ns3::Time ns3::Time::From(ns3::int64x64_t const & value) [member function]
+ cls.add_method('From',
+ 'ns3::Time',
+ [param('ns3::int64x64_t const &', 'value')],
+ is_static=True)
+ ## nstime.h (module 'core'): static ns3::Time ns3::Time::FromDouble(double value, ns3::Time::Unit timeUnit) [member function]
+ cls.add_method('FromDouble',
+ 'ns3::Time',
+ [param('double', 'value'), param('ns3::Time::Unit', 'timeUnit')],
+ is_static=True)
+ ## nstime.h (module 'core'): static ns3::Time ns3::Time::FromInteger(uint64_t value, ns3::Time::Unit timeUnit) [member function]
+ cls.add_method('FromInteger',
+ 'ns3::Time',
+ [param('uint64_t', 'value'), param('ns3::Time::Unit', 'timeUnit')],
+ is_static=True)
+ ## nstime.h (module 'core'): double ns3::Time::GetDouble() const [member function]
+ cls.add_method('GetDouble',
+ 'double',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetFemtoSeconds() const [member function]
+ cls.add_method('GetFemtoSeconds',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetInteger() const [member function]
+ cls.add_method('GetInteger',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetMicroSeconds() const [member function]
+ cls.add_method('GetMicroSeconds',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetMilliSeconds() const [member function]
+ cls.add_method('GetMilliSeconds',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetNanoSeconds() const [member function]
+ cls.add_method('GetNanoSeconds',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetPicoSeconds() const [member function]
+ cls.add_method('GetPicoSeconds',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): static ns3::Time::Unit ns3::Time::GetResolution() [member function]
+ cls.add_method('GetResolution',
+ 'ns3::Time::Unit',
+ [],
+ is_static=True)
+ ## nstime.h (module 'core'): double ns3::Time::GetSeconds() const [member function]
+ cls.add_method('GetSeconds',
+ 'double',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::GetTimeStep() const [member function]
+ cls.add_method('GetTimeStep',
+ 'int64_t',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): bool ns3::Time::IsNegative() const [member function]
+ cls.add_method('IsNegative',
+ 'bool',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): bool ns3::Time::IsPositive() const [member function]
+ cls.add_method('IsPositive',
+ 'bool',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): bool ns3::Time::IsStrictlyNegative() const [member function]
+ cls.add_method('IsStrictlyNegative',
+ 'bool',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): bool ns3::Time::IsStrictlyPositive() const [member function]
+ cls.add_method('IsStrictlyPositive',
+ 'bool',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): bool ns3::Time::IsZero() const [member function]
+ cls.add_method('IsZero',
+ 'bool',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): static void ns3::Time::SetResolution(ns3::Time::Unit resolution) [member function]
+ cls.add_method('SetResolution',
+ 'void',
+ [param('ns3::Time::Unit', 'resolution')],
+ is_static=True)
+ ## nstime.h (module 'core'): ns3::int64x64_t ns3::Time::To(ns3::Time::Unit timeUnit) const [member function]
+ cls.add_method('To',
+ 'ns3::int64x64_t',
+ [param('ns3::Time::Unit', 'timeUnit')],
+ is_const=True)
+ ## nstime.h (module 'core'): double ns3::Time::ToDouble(ns3::Time::Unit timeUnit) const [member function]
+ cls.add_method('ToDouble',
+ 'double',
+ [param('ns3::Time::Unit', 'timeUnit')],
+ is_const=True)
+ ## nstime.h (module 'core'): int64_t ns3::Time::ToInteger(ns3::Time::Unit timeUnit) const [member function]
+ cls.add_method('ToInteger',
+ 'int64_t',
+ [param('ns3::Time::Unit', 'timeUnit')],
+ is_const=True)
+ return
+
def register_Ns3TraceSourceAccessor_methods(root_module, cls):
## trace-source-accessor.h (module 'core'): ns3::TraceSourceAccessor::TraceSourceAccessor(ns3::TraceSourceAccessor const & arg0) [copy constructor]
cls.add_constructor([param('ns3::TraceSourceAccessor const &', 'arg0')])
@@ -2824,6 +3711,87 @@
is_const=True, visibility='private', is_virtual=True)
return
+def register_Ns3EventImpl_methods(root_module, cls):
+ ## event-impl.h (module 'core'): ns3::EventImpl::EventImpl(ns3::EventImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::EventImpl const &', 'arg0')])
+ ## event-impl.h (module 'core'): ns3::EventImpl::EventImpl() [constructor]
+ cls.add_constructor([])
+ ## event-impl.h (module 'core'): void ns3::EventImpl::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## event-impl.h (module 'core'): void ns3::EventImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [])
+ ## event-impl.h (module 'core'): bool ns3::EventImpl::IsCancelled() [member function]
+ cls.add_method('IsCancelled',
+ 'bool',
+ [])
+ ## event-impl.h (module 'core'): void ns3::EventImpl::Notify() [member function]
+ cls.add_method('Notify',
+ 'void',
+ [],
+ is_pure_virtual=True, visibility='protected', is_virtual=True)
+ return
+
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -2894,10 +3862,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -3122,43 +4090,6 @@
cls.add_constructor([param('ns3::Ipv4L3ClickProtocol const &', 'arg0')])
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -3387,6 +4318,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
@@ -3603,6 +4675,46 @@
is_const=True)
return
+def register_Ns3ObjectFactoryChecker_methods(root_module, cls):
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryChecker::ObjectFactoryChecker() [constructor]
+ cls.add_constructor([])
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryChecker::ObjectFactoryChecker(ns3::ObjectFactoryChecker const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ObjectFactoryChecker const &', 'arg0')])
+ return
+
+def register_Ns3ObjectFactoryValue_methods(root_module, cls):
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryValue::ObjectFactoryValue() [constructor]
+ cls.add_constructor([])
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryValue::ObjectFactoryValue(ns3::ObjectFactoryValue const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ObjectFactoryValue const &', 'arg0')])
+ ## object-factory.h (module 'core'): ns3::ObjectFactoryValue::ObjectFactoryValue(ns3::ObjectFactory const & value) [constructor]
+ cls.add_constructor([param('ns3::ObjectFactory const &', 'value')])
+ ## object-factory.h (module 'core'): ns3::Ptr<ns3::AttributeValue> ns3::ObjectFactoryValue::Copy() const [member function]
+ cls.add_method('Copy',
+ 'ns3::Ptr< ns3::AttributeValue >',
+ [],
+ is_const=True, is_virtual=True)
+ ## object-factory.h (module 'core'): bool ns3::ObjectFactoryValue::DeserializeFromString(std::string value, ns3::Ptr<ns3::AttributeChecker const> checker) [member function]
+ cls.add_method('DeserializeFromString',
+ 'bool',
+ [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
+ is_virtual=True)
+ ## object-factory.h (module 'core'): ns3::ObjectFactory ns3::ObjectFactoryValue::Get() const [member function]
+ cls.add_method('Get',
+ 'ns3::ObjectFactory',
+ [],
+ is_const=True)
+ ## object-factory.h (module 'core'): std::string ns3::ObjectFactoryValue::SerializeToString(ns3::Ptr<ns3::AttributeChecker const> checker) const [member function]
+ cls.add_method('SerializeToString',
+ 'std::string',
+ [param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
+ is_const=True, is_virtual=True)
+ ## object-factory.h (module 'core'): void ns3::ObjectFactoryValue::Set(ns3::ObjectFactory const & value) [member function]
+ cls.add_method('Set',
+ 'void',
+ [param('ns3::ObjectFactory const &', 'value')])
+ return
+
def register_Ns3OutputStreamWrapper_methods(root_module, cls):
## output-stream-wrapper.h (module 'network'): ns3::OutputStreamWrapper::OutputStreamWrapper(ns3::OutputStreamWrapper const & arg0) [copy constructor]
cls.add_constructor([param('ns3::OutputStreamWrapper const &', 'arg0')])
@@ -3797,6 +4909,46 @@
[param('ns3::Ptr< ns3::NixVector >', 'arg0')])
return
+def register_Ns3TimeChecker_methods(root_module, cls):
+ ## nstime.h (module 'core'): ns3::TimeChecker::TimeChecker() [constructor]
+ cls.add_constructor([])
+ ## nstime.h (module 'core'): ns3::TimeChecker::TimeChecker(ns3::TimeChecker const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimeChecker const &', 'arg0')])
+ return
+
+def register_Ns3TimeValue_methods(root_module, cls):
+ ## nstime.h (module 'core'): ns3::TimeValue::TimeValue() [constructor]
+ cls.add_constructor([])
+ ## nstime.h (module 'core'): ns3::TimeValue::TimeValue(ns3::TimeValue const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimeValue const &', 'arg0')])
+ ## nstime.h (module 'core'): ns3::TimeValue::TimeValue(ns3::Time const & value) [constructor]
+ cls.add_constructor([param('ns3::Time const &', 'value')])
+ ## nstime.h (module 'core'): ns3::Ptr<ns3::AttributeValue> ns3::TimeValue::Copy() const [member function]
+ cls.add_method('Copy',
+ 'ns3::Ptr< ns3::AttributeValue >',
+ [],
+ is_const=True, is_virtual=True)
+ ## nstime.h (module 'core'): bool ns3::TimeValue::DeserializeFromString(std::string value, ns3::Ptr<ns3::AttributeChecker const> checker) [member function]
+ cls.add_method('DeserializeFromString',
+ 'bool',
+ [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
+ is_virtual=True)
+ ## nstime.h (module 'core'): ns3::Time ns3::TimeValue::Get() const [member function]
+ cls.add_method('Get',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## nstime.h (module 'core'): std::string ns3::TimeValue::SerializeToString(ns3::Ptr<ns3::AttributeChecker const> checker) const [member function]
+ cls.add_method('SerializeToString',
+ 'std::string',
+ [param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
+ is_const=True, is_virtual=True)
+ ## nstime.h (module 'core'): void ns3::TimeValue::Set(ns3::Time const & value) [member function]
+ cls.add_method('Set',
+ 'void',
+ [param('ns3::Time const &', 'value')])
+ return
+
def register_Ns3TypeIdChecker_methods(root_module, cls):
## type-id.h (module 'core'): ns3::TypeIdChecker::TypeIdChecker() [constructor]
cls.add_constructor([])
--- a/src/click/helper/click-internet-stack-helper.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/click/helper/click-internet-stack-helper.cc Fri Mar 02 19:43:49 2012 +0100
@@ -297,7 +297,6 @@
result = ipv4L3Protocol->TraceConnectWithoutContext ("Rx", MakeCallback (&Ipv4L3ProtocolRxTxSink));
NS_ASSERT_MSG (result == true, "ClickInternetStackHelper::EnablePcapIpv4Internal(): "
"Unable to connect ipv4L3Protocol \"Rx\"");
- (void) result; //cast to void to suppress variable set but not used compiler warning in optimized builds
}
g_interfaceFileMapIpv4[std::make_pair (ipv4, interface)] = file;
@@ -450,9 +449,9 @@
// be aggregated to the same node.
//
Ptr<Ipv4L3Protocol> ipv4L3Protocol = ipv4->GetObject<Ipv4L3Protocol> ();
- bool __attribute__ ((unused)) result = ipv4L3Protocol->TraceConnectWithoutContext ("Drop",
- MakeBoundCallback (&Ipv4L3ProtocolDropSinkWithoutContext,
- theStream));
+ bool result = ipv4L3Protocol->TraceConnectWithoutContext ("Drop",
+ MakeBoundCallback (&Ipv4L3ProtocolDropSinkWithoutContext,
+ theStream));
NS_ASSERT_MSG (result == true, "ClickInternetStackHelper::EanableAsciiIpv4Internal(): "
"Unable to connect ipv4L3Protocol \"Drop\"");
}
--- a/src/click/model/ipv4-click-routing.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/click/model/ipv4-click-routing.cc Fri Mar 02 19:43:49 2012 +0100
@@ -114,7 +114,10 @@
void
Ipv4ClickRouting::DoDispose ()
{
- simclick_click_kill (m_simNode);
+ if (m_clickInitialised)
+ {
+ simclick_click_kill (m_simNode);
+ }
m_ipv4 = 0;
delete m_simNode;
Ipv4RoutingProtocol::DoDispose ();
--- a/src/click/model/ipv4-l3-click-protocol.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/click/model/ipv4-l3-click-protocol.cc Fri Mar 02 19:43:49 2012 +0100
@@ -33,7 +33,7 @@
#include "ns3/ipv4-raw-socket-impl.h"
#include "ns3/arp-l3-protocol.h"
-#include "ns3/ipv4-l4-protocol.h"
+#include "ns3/ip-l4-protocol.h"
#include "ns3/icmpv4-l4-protocol.h"
#include "ns3/loopback-net-device.h"
@@ -738,23 +738,23 @@
m_localDeliverTrace (ip, packet, iif);
- Ptr<Ipv4L4Protocol> protocol = GetProtocol (ip.GetProtocol ());
+ Ptr<IpL4Protocol> protocol = GetProtocol (ip.GetProtocol ());
if (protocol != 0)
{
// we need to make a copy in the unlikely event we hit the
// RX_ENDPOINT_UNREACH codepath
Ptr<Packet> copy = p->Copy ();
- enum Ipv4L4Protocol::RxStatus status =
+ enum IpL4Protocol::RxStatus status =
protocol->Receive (p, ip, GetInterface (iif));
switch (status)
{
- case Ipv4L4Protocol::RX_OK:
+ case IpL4Protocol::RX_OK:
// fall through
- case Ipv4L4Protocol::RX_ENDPOINT_CLOSED:
+ case IpL4Protocol::RX_ENDPOINT_CLOSED:
// fall through
- case Ipv4L4Protocol::RX_CSUM_FAILED:
+ case IpL4Protocol::RX_CSUM_FAILED:
break;
- case Ipv4L4Protocol::RX_ENDPOINT_UNREACH:
+ case IpL4Protocol::RX_ENDPOINT_UNREACH:
if (ip.GetDestination ().IsBroadcast () == true
|| ip.GetDestination ().IsMulticast () == true)
{
@@ -782,7 +782,7 @@
Ptr<Icmpv4L4Protocol>
Ipv4L3ClickProtocol::GetIcmp (void) const
{
- Ptr<Ipv4L4Protocol> prot = GetProtocol (Icmpv4L4Protocol::GetStaticProtocolNumber ());
+ Ptr<IpL4Protocol> prot = GetProtocol (Icmpv4L4Protocol::GetStaticProtocolNumber ());
if (prot != 0)
{
return prot->GetObject<Icmpv4L4Protocol> ();
@@ -794,12 +794,12 @@
}
void
-Ipv4L3ClickProtocol::Insert (Ptr<Ipv4L4Protocol> protocol)
+Ipv4L3ClickProtocol::Insert (Ptr<IpL4Protocol> protocol)
{
m_protocols.push_back (protocol);
}
-Ptr<Ipv4L4Protocol>
+Ptr<IpL4Protocol>
Ipv4L3ClickProtocol::GetProtocol (int protocolNumber) const
{
for (L4List_t::const_iterator i = m_protocols.begin (); i != m_protocols.end (); ++i)
--- a/src/click/model/ipv4-l3-click-protocol.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/click/model/ipv4-l3-click-protocol.h Fri Mar 02 19:43:49 2012 +0100
@@ -42,7 +42,7 @@
class Node;
class Socket;
class Ipv4RawSocketImpl;
-class Ipv4L4Protocol;
+class IpL4Protocol;
class Icmpv4L4Protocol;
/**
@@ -82,7 +82,7 @@
* a working L4 Protocol and returned from this method.
* The caller does not get ownership of the returned pointer.
*/
- void Insert (Ptr<Ipv4L4Protocol> protocol);
+ void Insert (Ptr<IpL4Protocol> protocol);
/**
* \param protocolNumber number of protocol to lookup
@@ -93,7 +93,7 @@
* to forward packets up the stack to the right protocol.
* It is also called from NodeImpl::GetUdp for example.
*/
- Ptr<Ipv4L4Protocol> GetProtocol (int protocolNumber) const;
+ Ptr<IpL4Protocol> GetProtocol (int protocolNumber) const;
/**
* \param ttl default ttl to use
@@ -242,7 +242,7 @@
typedef std::vector<Ptr<Ipv4Interface> > Ipv4InterfaceList;
typedef std::list<Ptr<Ipv4RawSocketImpl> > SocketList;
- typedef std::list<Ptr<Ipv4L4Protocol> > L4List_t;
+ typedef std::list<Ptr<IpL4Protocol> > L4List_t;
Ptr<Ipv4RoutingProtocol> m_routingProtocol;
bool m_ipForward;
--- a/src/click/test/ipv4-click-routing-test.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/click/test/ipv4-click-routing-test.cc Fri Mar 02 19:43:49 2012 +0100
@@ -97,9 +97,6 @@
ret = simclick_sim_command (click->m_simNode, SIMCLICK_IFID_FROM_NAME, "eth1");
NS_TEST_EXPECT_MSG_EQ (ret, -1, "No eth1 on node");
-
- // Cast ret to void to work around set-but-unused warnings from compilers
- (void) ret;
}
class ClickIpMacAddressFromNameTest : public TestCase
@@ -125,36 +122,32 @@
Ptr<Ipv4ClickRouting> click = DynamicCast<Ipv4ClickRouting> (ipv4->GetRoutingProtocol ());
click->DoStart ();
- int ret = 0;
char *buf = NULL;
buf = new char [255];
- ret = simclick_sim_command (click->m_simNode, SIMCLICK_IPADDR_FROM_NAME, "eth0", buf, 255);
+ simclick_sim_command (click->m_simNode, SIMCLICK_IPADDR_FROM_NAME, "eth0", buf, 255);
NS_TEST_EXPECT_MSG_EQ (strcmp (buf, "10.1.1.1"), 0, "eth0 has IP 10.1.1.1");
- ret = simclick_sim_command (click->m_simNode, SIMCLICK_MACADDR_FROM_NAME, "eth0", buf, 255);
+ simclick_sim_command (click->m_simNode, SIMCLICK_MACADDR_FROM_NAME, "eth0", buf, 255);
NS_TEST_EXPECT_MSG_EQ (strcmp (buf, "00:00:00:00:00:01"), 0, "eth0 has Mac Address 00:00:00:00:00:01");
- ret = simclick_sim_command (click->m_simNode, SIMCLICK_IPADDR_FROM_NAME, "eth1", buf, 255);
+ simclick_sim_command (click->m_simNode, SIMCLICK_IPADDR_FROM_NAME, "eth1", buf, 255);
NS_TEST_EXPECT_MSG_EQ (strcmp (buf, "10.1.1.2"), 0, "eth1 has IP 10.1.1.2");
- ret = simclick_sim_command (click->m_simNode, SIMCLICK_MACADDR_FROM_NAME, "eth1", buf, 255);
+ simclick_sim_command (click->m_simNode, SIMCLICK_MACADDR_FROM_NAME, "eth1", buf, 255);
NS_TEST_EXPECT_MSG_EQ (strcmp (buf, "00:00:00:00:00:02"), 0, "eth0 has Mac Address 00:00:00:00:00:02");
// Not sure how to test the below case, because the Ipv4ClickRouting code is to ASSERT for such inputs
- // ret = simclick_sim_command (click->m_simNode, SIMCLICK_IPADDR_FROM_NAME, "eth2", buf, 255);
+ // simclick_sim_command (click->m_simNode, SIMCLICK_IPADDR_FROM_NAME, "eth2", buf, 255);
// NS_TEST_EXPECT_MSG_EQ (buf, NULL, "No eth2");
- ret = simclick_sim_command (click->m_simNode, SIMCLICK_IPADDR_FROM_NAME, "tap0", buf, 255);
+ simclick_sim_command (click->m_simNode, SIMCLICK_IPADDR_FROM_NAME, "tap0", buf, 255);
NS_TEST_EXPECT_MSG_EQ (strcmp (buf, "127.0.0.1"), 0, "tun0 has IP 127.0.0.1");
- ret = simclick_sim_command (click->m_simNode, SIMCLICK_MACADDR_FROM_NAME, "tap0", buf, 255);
+ simclick_sim_command (click->m_simNode, SIMCLICK_MACADDR_FROM_NAME, "tap0", buf, 255);
NS_TEST_EXPECT_MSG_EQ (strcmp (buf, "00:00:00:00:00:00"), 0, "tun0 has IP 127.0.0.1");
delete [] buf;
-
- // Cast ret to void to work around set-but-unused warnings from compilers
- (void) ret;
}
class ClickTrivialTest : public TestCase
@@ -197,9 +190,6 @@
NS_TEST_EXPECT_MSG_EQ (ret, 0, "eth1 does not exist, so return 0");
delete [] buf;
-
- // Cast ret to void to work around set-but-unused warnings from compilers
- (void) ret;
}
class ClickIfidFromNameTestSuite : public TestSuite
--- a/src/config-store/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/config-store/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -370,7 +370,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/config-store/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/config-store/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -370,7 +370,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/core/bindings/module_helpers.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/core/bindings/module_helpers.cc Fri Mar 02 19:43:49 2012 +0100
@@ -10,14 +10,34 @@
private:
PyObject *m_callback;
PyObject *m_args;
+
public:
- PythonEventImpl (PyObject *callback, PyObject *args)
+
+ PythonEventImpl (PyObject *callback, PyObject *args, PyObject *py_context=NULL)
{
m_callback = callback;
Py_INCREF (m_callback);
- m_args = args;
- Py_INCREF (m_args);
+
+ if (py_context == NULL)
+ {
+ m_args = args;
+ Py_INCREF (m_args);
+ }
+ else
+ {
+ Py_ssize_t arglen = PyTuple_GET_SIZE (args);
+ m_args = PyTuple_New (arglen + 1);
+ PyTuple_SET_ITEM (m_args, 0, py_context);
+ Py_INCREF (py_context);
+ for (Py_ssize_t i = 0; i < arglen; ++i)
+ {
+ PyObject *arg = PyTuple_GET_ITEM (args, i);
+ Py_INCREF (arg);
+ PyTuple_SET_ITEM (m_args, 1 + i, arg);
+ }
+ }
}
+
virtual ~PythonEventImpl ()
{
PyGILState_STATE __py_gil_state;
@@ -124,7 +144,7 @@
py_callback = PyTuple_GET_ITEM (args, 0);
if (!PyCallable_Check (py_callback)) {
- PyErr_SetString (PyExc_TypeError, "Parameter 2 should be callable");
+ PyErr_SetString (PyExc_TypeError, "Parameter 1 should be callable");
goto error;
}
user_args = PyTuple_GetSlice (args, 1, PyTuple_GET_SIZE (args));
@@ -143,6 +163,60 @@
return NULL;
}
+PyObject *
+_wrap_Simulator_ScheduleWithContext (PyNs3Simulator *PYBINDGEN_UNUSED(dummy), PyObject *args, PyObject *kwargs,
+ PyObject **return_exception)
+{
+ PyObject *exc_type, *traceback;
+ PyObject *py_obj_context;
+ uint32_t context;
+ PyObject *py_time;
+ PyObject *py_callback;
+ PyObject *user_args;
+ PythonEventImpl *py_event_impl;
+
+ if (kwargs && PyObject_Length(kwargs) > 0) {
+ PyErr_SetString(PyExc_TypeError, "keyword arguments not supported");
+ goto error;
+ }
+
+ if (PyTuple_GET_SIZE(args) < 3 ) {
+ PyErr_SetString(PyExc_TypeError, "ns3.Simulator.ScheduleWithContext needs at least 3 arguments");
+ goto error;
+ }
+
+ py_obj_context = PyTuple_GET_ITEM(args, 0);
+ py_time = PyTuple_GET_ITEM(args, 1);
+ py_callback = PyTuple_GET_ITEM(args, 2);
+
+ context = PyInt_AsUnsignedLongMask(py_obj_context);
+ if (PyErr_Occurred()) {
+ goto error;
+ }
+ if (!PyObject_IsInstance(py_time, (PyObject*) &PyNs3Time_Type)) {
+ PyErr_SetString(PyExc_TypeError, "Parameter 2 should be a ns3.Time instance");
+ goto error;
+ }
+ if (!PyCallable_Check(py_callback)) {
+ PyErr_SetString(PyExc_TypeError, "Parameter 3 should be callable");
+ goto error;
+ }
+
+ user_args = PyTuple_GetSlice(args, 3, PyTuple_GET_SIZE(args));
+ py_event_impl = new PythonEventImpl (py_callback, user_args, py_obj_context);
+ Py_DECREF(user_args);
+
+ ns3::Simulator::ScheduleWithContext(context, *((PyNs3Time *) py_time)->obj, py_event_impl);
+
+ Py_INCREF(Py_None);
+ return Py_None;
+
+error:
+ PyErr_Fetch(&exc_type, return_exception, &traceback);
+ Py_XDECREF(exc_type);
+ Py_XDECREF(traceback);
+ return NULL;
+}
PyObject *
_wrap_Simulator_ScheduleDestroy (PyNs3Simulator *PYBINDGEN_UNUSED (dummy), PyObject *args, PyObject *kwargs,
--- a/src/core/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/core/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1429,7 +1429,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/core/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/core/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1429,7 +1429,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/core/bindings/modulegen_customizations.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/core/bindings/modulegen_customizations.py Fri Mar 02 19:43:49 2012 +0100
@@ -303,11 +303,13 @@
Simulator.add_custom_method_wrapper("Schedule", "_wrap_Simulator_Schedule",
flags=["METH_VARARGS", "METH_KEYWORDS", "METH_STATIC"])
-
## Simulator::ScheduleNow(callback, ...user..args...)
Simulator.add_custom_method_wrapper("ScheduleNow", "_wrap_Simulator_ScheduleNow",
flags=["METH_VARARGS", "METH_KEYWORDS", "METH_STATIC"])
+ ## Simulator::ScheduleWithContext(delay, callback, ...user..args...)
+ Simulator.add_custom_method_wrapper("ScheduleWithContext", "_wrap_Simulator_ScheduleWithContext",
+ flags=["METH_VARARGS", "METH_KEYWORDS", "METH_STATIC"])
## Simulator::ScheduleDestroy(callback, ...user..args...)
Simulator.add_custom_method_wrapper("ScheduleDestroy", "_wrap_Simulator_ScheduleDestroy",
--- a/src/core/examples/main-callback.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/core/examples/main-callback.cc Fri Mar 02 19:43:49 2012 +0100
@@ -34,9 +34,8 @@
// invoke cbOne function through callback instance
double retOne;
retOne = one (10.0, 20.0);
- // cast retOne to void, to suppress variable ‘retOne’ set but
- // not used compiler warning
- (void) retOne;
+ // callback returned expected value
+ NS_ASSERT (retOne == 10.0);
// return type: int
// first arg type: double
@@ -49,9 +48,9 @@
// invoke MyCb::cbTwo through callback instance
int retTwo;
retTwo = two (10.0);
- // cast retTwo to void, to suppress variable ‘retTwo’ set but
- // not used compiler warning
- (void) retTwo;
+ // callback returned expected value
+ NS_ASSERT (retTwo == -5);
+
two = MakeNullCallback<int, double> ();
// invoking a null callback is just like
// invoking a null function pointer:
--- a/src/core/model/assert.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/core/model/assert.h Fri Mar 02 19:43:49 2012 +0100
@@ -97,8 +97,19 @@
#else /* NS3_ASSERT_ENABLE */
-#define NS_ASSERT(cond)
-#define NS_ASSERT_MSG(cond,msg)
+#define NS_ASSERT(condition) \
+ do \
+ { \
+ (void)sizeof (condition); \
+ } \
+ while (false)
+
+#define NS_ASSERT_MSG(condition, message) \
+ do \
+ { \
+ (void)sizeof (condition); \
+ } \
+ while (false)
#endif /* NS3_ASSERT_ENABLE */
--- a/src/core/model/int64x64-128.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/core/model/int64x64-128.cc Fri Mar 02 19:43:49 2012 +0100
@@ -84,7 +84,6 @@
}
else
{
- rem = rem;
div = b >> 64;
}
quo = rem / div;
--- a/src/core/model/test.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/core/model/test.cc Fri Mar 02 19:43:49 2012 +0100
@@ -223,7 +223,7 @@
m_result->failure.push_back (TestCaseFailure (cond, actual, limit,
message, file, line));
// set childrenFailed flag on parents.
- struct TestCase *current = m_parent;
+ TestCase *current = m_parent;
while (current != 0)
{
current->m_result->childrenFailed = true;
--- a/src/core/model/test.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/core/model/test.h Fri Mar 02 19:43:49 2012 +0100
@@ -45,7 +45,7 @@
do { \
if (MustAssertOnFailure ()) \
{ \
- *(int *)0 = 0; \
+ *(volatile int *)0 = 0; \
} \
} while (false)
--- a/src/core/model/traced-value.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/core/model/traced-value.h Fri Mar 02 19:43:49 2012 +0100
@@ -374,7 +374,7 @@
template <typename T, typename U>
TracedValue<T> operator * (const U &lhs, const TracedValue<T> &rhs) {
TRACED_VALUE_DEBUG ("*x");
- return TracedValue<T> (lhs - rhs.Get ());
+ return TracedValue<T> (lhs * rhs.Get ());
}
template <typename T, typename U>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/core/model/unused.h Fri Mar 02 19:43:49 2012 +0100
@@ -0,0 +1,8 @@
+#ifndef UNUSED_H
+#define UNUSED_H
+
+#ifndef NS_UNUSED
+# define NS_UNUSED(x) ((void)(x))
+#endif
+
+#endif /* UNUSED_H */
--- a/src/core/test/timer-test-suite.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/core/test/timer-test-suite.cc Fri Mar 02 19:43:49 2012 +0100
@@ -38,21 +38,12 @@
void bar5i (int, int, int, int, int)
{
}
-void bar6i (int, int, int, int, int, int)
-{
-}
void barcir (const int &)
{
}
void barir (int &)
{
}
-void barip (int *)
-{
-}
-void barcip (const int *)
-{
-}
} // anonymous namespace
namespace ns3 {
--- a/src/core/wscript Fri Mar 02 18:49:54 2012 +0100
+++ b/src/core/wscript Fri Mar 02 19:43:49 2012 +0100
@@ -242,7 +242,8 @@
'model/vector.h',
'model/default-deleter.h',
'model/fatal-impl.h',
- 'model/system-path.h'
+ 'model/system-path.h',
+ 'model/unused.h',
]
if sys.platform == 'win32':
--- a/src/csma-layout/examples/csma-star.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/csma-layout/examples/csma-star.cc Fri Mar 02 19:43:49 2012 +0100
@@ -22,6 +22,7 @@
#include "ns3/applications-module.h"
#include "ns3/csma-module.h"
#include "ns3/internet-module.h"
+#include "ns3/ipv6-address-generator.h"
// Network topology (default)
//
@@ -61,9 +62,13 @@
// Default number of nodes in the star. Overridable by command line argument.
//
uint32_t nSpokes = 7;
+ uint32_t useIpv6 = 0;
+ Ipv6Address ipv6AddressBase = Ipv6Address("2001::");
+ Ipv6Prefix ipv6AddressPrefix = Ipv6Prefix(64);
CommandLine cmd;
cmd.AddValue ("nSpokes", "Number of spoke nodes to place in the star", nSpokes);
+ cmd.AddValue ("useIpv6", "Use Ipv6", useIpv6);
cmd.Parse (argc, argv);
NS_LOG_INFO ("Build star topology.");
@@ -98,7 +103,14 @@
internet.Install (fillNodes);
NS_LOG_INFO ("Assign IP Addresses.");
- star.AssignIpv4Addresses (Ipv4AddressHelper ("10.1.0.0", "255.255.255.0"));
+ if (useIpv6 == 0)
+ {
+ star.AssignIpv4Addresses (Ipv4AddressHelper ("10.1.0.0", "255.255.255.0"));
+ }
+ else
+ {
+ star.AssignIpv6Addresses (ipv6AddressBase, ipv6AddressPrefix);
+ }
//
// We assigned addresses to the logical hub and the first "drop" of the
@@ -111,16 +123,31 @@
// etc.
//
Ipv4AddressHelper address;
+ Ipv6AddressHelper address6;
for(uint32_t i = 0; i < star.SpokeCount (); ++i)
{
- std::ostringstream subnet;
- subnet << "10.1." << i << ".0";
- NS_LOG_INFO ("Assign IP Addresses for CSMA subnet " << subnet.str ());
- address.SetBase (subnet.str ().c_str (), "255.255.255.0", "0.0.0.3");
+ if (useIpv6 == 0)
+ {
+ std::ostringstream subnet;
+ subnet << "10.1." << i << ".0";
+ NS_LOG_INFO ("Assign IP Addresses for CSMA subnet " << subnet.str ());
+ address.SetBase (subnet.str ().c_str (), "255.255.255.0", "0.0.0.3");
- for (uint32_t j = 0; j < nFill; ++j)
+ for (uint32_t j = 0; j < nFill; ++j)
+ {
+ address.Assign (fillDevices.Get (i * nFill + j));
+ }
+ }
+ else
{
- address.Assign (fillDevices.Get (i * nFill + j));
+ Ipv6AddressGenerator::Init (ipv6AddressBase, ipv6AddressPrefix);
+ Ipv6Address v6network = Ipv6AddressGenerator::GetNetwork (ipv6AddressPrefix);
+ address6.NewNetwork(v6network, ipv6AddressPrefix);
+
+ for (uint32_t j = 0; j < nFill; ++j)
+ {
+ address6.Assign(fillDevices.Get (i * nFill + j));
+ }
}
}
@@ -129,11 +156,23 @@
// Create a packet sink on the star "hub" to receive packets.
//
uint16_t port = 50000;
- Address hubLocalAddress (InetSocketAddress (Ipv4Address::GetAny (), port));
- PacketSinkHelper packetSinkHelper ("ns3::TcpSocketFactory", hubLocalAddress);
- ApplicationContainer hubApp = packetSinkHelper.Install (star.GetHub ());
- hubApp.Start (Seconds (1.0));
- hubApp.Stop (Seconds (10.0));
+
+ if (useIpv6 == 0)
+ {
+ Address hubLocalAddress (InetSocketAddress (Ipv4Address::GetAny (), port));
+ PacketSinkHelper packetSinkHelper ("ns3::TcpSocketFactory", hubLocalAddress);
+ ApplicationContainer hubApp = packetSinkHelper.Install (star.GetHub ());
+ hubApp.Start (Seconds (1.0));
+ hubApp.Stop (Seconds (10.0));
+ }
+ else
+ {
+ Address hubLocalAddress6 (Inet6SocketAddress (Ipv6Address::GetAny (), port));
+ PacketSinkHelper packetSinkHelper6 ("ns3::TcpSocketFactory", hubLocalAddress6);
+ ApplicationContainer hubApp6 = packetSinkHelper6.Install (star.GetHub ());
+ hubApp6.Start (Seconds (1.0));
+ hubApp6.Stop (Seconds (10.0));
+ }
//
// Create OnOff applications to send TCP to the hub, one on each spoke node.
@@ -146,8 +185,16 @@
for (uint32_t i = 0; i < star.SpokeCount (); ++i)
{
- AddressValue remoteAddress (InetSocketAddress (star.GetHubIpv4Address (i), port));
- onOffHelper.SetAttribute ("Remote", remoteAddress);
+ if (useIpv6 == 0)
+ {
+ AddressValue remoteAddress (InetSocketAddress (star.GetHubIpv4Address (i), port));
+ onOffHelper.SetAttribute ("Remote", remoteAddress);
+ }
+ else
+ {
+ AddressValue remoteAddress (Inet6SocketAddress (star.GetHubIpv6Address (i), port));
+ onOffHelper.SetAttribute ("Remote", remoteAddress);
+ }
spokeApps.Add (onOffHelper.Install (star.GetSpokeNode (i)));
}
@@ -166,7 +213,15 @@
for (uint32_t i = 0; i < fillNodes.GetN (); ++i)
{
- AddressValue remoteAddress (InetSocketAddress (star.GetHubIpv4Address (i / nFill), port));
+ AddressValue remoteAddress;
+ if (useIpv6 == 0)
+ {
+ remoteAddress = AddressValue(InetSocketAddress (star.GetHubIpv4Address (i / nFill), port));
+ }
+ else
+ {
+ remoteAddress = AddressValue(Inet6SocketAddress (star.GetHubIpv6Address (i / nFill), port));
+ }
onOffHelper.SetAttribute ("Remote", remoteAddress);
fillApps.Add (onOffHelper.Install (fillNodes.Get (i)));
}
@@ -178,7 +233,10 @@
//
// Turn on global static routing so we can actually be routed across the star.
//
- Ipv4GlobalRoutingHelper::PopulateRoutingTables ();
+ if (useIpv6 == 0)
+ {
+ Ipv4GlobalRoutingHelper::PopulateRoutingTables ();
+ }
NS_LOG_INFO ("Enable pcap tracing.");
//
--- a/src/csma-layout/model/csma-star-helper.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/csma-layout/model/csma-star-helper.cc Fri Mar 02 19:43:49 2012 +0100
@@ -83,6 +83,18 @@
return m_spokeInterfaces.GetAddress (i);
}
+Ipv6Address
+CsmaStarHelper::GetHubIpv6Address (uint32_t i) const
+{
+ return m_hubInterfaces6.GetAddress (i, 1);
+}
+
+Ipv6Address
+CsmaStarHelper::GetSpokeIpv6Address (uint32_t i) const
+{
+ return m_spokeInterfaces6.GetAddress (i, 1);
+}
+
uint32_t
CsmaStarHelper::SpokeCount () const
{
@@ -107,4 +119,25 @@
}
}
+void
+CsmaStarHelper::AssignIpv6Addresses (Ipv6Address network, Ipv6Prefix prefix)
+{
+ Ipv6AddressGenerator::Init(network, prefix);
+ Ipv6Address v6network;
+ Ipv6AddressHelper addressHelper;
+
+ for (uint32_t i = 0; i < m_spokes.GetN (); ++i)
+ {
+ v6network = Ipv6AddressGenerator::GetNetwork (prefix);
+ addressHelper.NewNetwork(v6network, prefix);
+
+ Ipv6InterfaceContainer ic = addressHelper.Assign (m_hubDevices.Get (i));
+ m_hubInterfaces6.Add (ic);
+ ic = addressHelper.Assign (m_spokeDevices.Get (i));
+ m_spokeInterfaces6.Add (ic);
+
+ Ipv6AddressGenerator::NextNetwork (prefix);
+ }
+}
+
} // namespace ns3
--- a/src/csma-layout/model/csma-star-helper.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/csma-layout/model/csma-star-helper.h Fri Mar 02 19:43:49 2012 +0100
@@ -23,8 +23,11 @@
#include "csma-helper.h"
#include "ipv4-address-helper.h"
+#include "ipv6-address-helper.h"
#include "internet-stack-helper.h"
#include "ipv4-interface-container.h"
+#include "ipv6-interface-container.h"
+#include "ipv6-address-generator.h"
namespace ns3 {
@@ -92,6 +95,13 @@
Ipv4Address GetHubIpv4Address (uint32_t i) const;
/**
+ * \param i index into the hub interfaces
+ *
+ * \returns Ipv6Address according to indexed hub interface
+ */
+ Ipv6Address GetHubIpv6Address (uint32_t i) const;
+
+ /**
* \param i index into the spoke interfaces
*
* \returns Ipv4Address according to indexed spoke interface
@@ -99,6 +109,13 @@
Ipv4Address GetSpokeIpv4Address (uint32_t i) const;
/**
+ * \param i index into the spoke interfaces
+ *
+ * \returns Ipv6Address according to indexed spoke interface
+ */
+ Ipv6Address GetSpokeIpv6Address (uint32_t i) const;
+
+ /**
* \returns the total number of spokes in the star
*/
uint32_t SpokeCount () const;
@@ -116,6 +133,13 @@
*/
void AssignIpv4Addresses (Ipv4AddressHelper address);
+ /**
+ * \param network an IPv6 Address representing the network portion
+ * of the Ipv6 Address
+ * \param prefix the prefix length
+ */
+ void AssignIpv6Addresses (Ipv6Address network, Ipv6Prefix prefix);
+
private:
NodeContainer m_hub;
NetDeviceContainer m_hubDevices;
@@ -123,6 +147,8 @@
NetDeviceContainer m_spokeDevices;
Ipv4InterfaceContainer m_hubInterfaces;
Ipv4InterfaceContainer m_spokeInterfaces;
+ Ipv6InterfaceContainer m_hubInterfaces6;
+ Ipv6InterfaceContainer m_spokeInterfaces6;
};
} // namespace ns3
--- a/src/csma/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/csma/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1365,6 +1365,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1405,11 +1410,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1440,6 +1454,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2513,7 +2532,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/csma/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/csma/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1365,6 +1365,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1405,11 +1410,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1440,6 +1454,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2513,7 +2532,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/dsdv/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/dsdv/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -90,6 +90,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## node-container.h (module 'network'): ns3::NodeContainer [class]
@@ -156,6 +162,10 @@
module.add_enum('DscpType', ['DscpDefault', 'CS1', 'AF11', 'AF12', 'AF13', 'CS2', 'AF21', 'AF22', 'AF23', 'CS3', 'AF31', 'AF32', 'AF33', 'CS4', 'AF41', 'AF42', 'AF43', 'CS5', 'EF', 'CS6', 'CS7'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType [enumeration]
module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -220,6 +230,10 @@
module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## event-impl.h (module 'core'): ns3::EventImpl [class]
module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -232,10 +246,6 @@
module.add_class('Ipv4L3Protocol', import_from_module='ns.internet', parent=root_module['ns3::Ipv4'])
## ipv4-l3-protocol.h (module 'internet'): ns3::Ipv4L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_BAD_CHECKSUM', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_FRAGMENT_TIMEOUT'], outer_class=root_module['ns3::Ipv4L3Protocol'], import_from_module='ns.internet')
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -250,6 +260,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -344,6 +356,7 @@
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv4RoutingHelper_methods(root_module, root_module['ns3::Ipv4RoutingHelper'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3NodeContainer_methods(root_module, root_module['ns3::NodeContainer'])
register_Ns3ObjectBase_methods(root_module, root_module['ns3::ObjectBase'])
@@ -371,6 +384,7 @@
register_Ns3DsdvHelper_methods(root_module, root_module['ns3::DsdvHelper'])
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
@@ -399,12 +413,12 @@
register_Ns3CallbackValue_methods(root_module, root_module['ns3::CallbackValue'])
register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue'])
register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
register_Ns3Ipv4Interface_methods(root_module, root_module['ns3::Ipv4Interface'])
register_Ns3Ipv4L3Protocol_methods(root_module, root_module['ns3::Ipv4L3Protocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -412,6 +426,7 @@
register_Ns3Ipv4RoutingProtocol_methods(root_module, root_module['ns3::Ipv4RoutingProtocol'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3NetDevice_methods(root_module, root_module['ns3::NetDevice'])
@@ -1330,6 +1345,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1370,11 +1390,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1405,6 +1434,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1430,6 +1464,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -2234,7 +2323,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -2665,6 +2754,106 @@
[param('uint8_t', 'ttl')])
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -2878,6 +3067,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -3627,6 +3821,63 @@
is_pure_virtual=True, visibility='protected', is_virtual=True)
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -3697,10 +3948,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -3989,9 +4240,9 @@
'ns3::Ptr< ns3::NetDevice >',
[param('uint32_t', 'i')],
is_virtual=True)
- ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4L4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv4L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4RoutingProtocol> ns3::Ipv4L3Protocol::GetRoutingProtocol() const [member function]
@@ -4004,10 +4255,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_virtual=True)
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4028,10 +4279,10 @@
cls.add_method('Receive',
'void',
[param('ns3::Ptr< ns3::NetDevice >', 'device'), param('ns3::Ptr< ns3::Packet const >', 'p'), param('uint16_t', 'protocol'), param('ns3::Address const &', 'from'), param('ns3::Address const &', 'to'), param('ns3::NetDevice::PacketType', 'packetType')])
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')])
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::RemoveAddress(uint32_t interfaceIndex, uint32_t addressIndex) [member function]
cls.add_method('RemoveAddress',
'bool',
@@ -4118,43 +4369,6 @@
visibility='private', is_virtual=True)
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -4383,6 +4597,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
--- a/src/dsdv/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/dsdv/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -90,6 +90,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## node-container.h (module 'network'): ns3::NodeContainer [class]
@@ -156,6 +162,10 @@
module.add_enum('DscpType', ['DscpDefault', 'CS1', 'AF11', 'AF12', 'AF13', 'CS2', 'AF21', 'AF22', 'AF23', 'CS3', 'AF31', 'AF32', 'AF33', 'CS4', 'AF41', 'AF42', 'AF43', 'CS5', 'EF', 'CS6', 'CS7'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType [enumeration]
module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -220,6 +230,10 @@
module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## event-impl.h (module 'core'): ns3::EventImpl [class]
module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -232,10 +246,6 @@
module.add_class('Ipv4L3Protocol', import_from_module='ns.internet', parent=root_module['ns3::Ipv4'])
## ipv4-l3-protocol.h (module 'internet'): ns3::Ipv4L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_BAD_CHECKSUM', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_FRAGMENT_TIMEOUT'], outer_class=root_module['ns3::Ipv4L3Protocol'], import_from_module='ns.internet')
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -250,6 +260,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -344,6 +356,7 @@
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv4RoutingHelper_methods(root_module, root_module['ns3::Ipv4RoutingHelper'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3NodeContainer_methods(root_module, root_module['ns3::NodeContainer'])
register_Ns3ObjectBase_methods(root_module, root_module['ns3::ObjectBase'])
@@ -371,6 +384,7 @@
register_Ns3DsdvHelper_methods(root_module, root_module['ns3::DsdvHelper'])
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
@@ -399,12 +413,12 @@
register_Ns3CallbackValue_methods(root_module, root_module['ns3::CallbackValue'])
register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue'])
register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
register_Ns3Ipv4Interface_methods(root_module, root_module['ns3::Ipv4Interface'])
register_Ns3Ipv4L3Protocol_methods(root_module, root_module['ns3::Ipv4L3Protocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -412,6 +426,7 @@
register_Ns3Ipv4RoutingProtocol_methods(root_module, root_module['ns3::Ipv4RoutingProtocol'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3NetDevice_methods(root_module, root_module['ns3::NetDevice'])
@@ -1330,6 +1345,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1370,11 +1390,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1405,6 +1434,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1430,6 +1464,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -2234,7 +2323,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -2665,6 +2754,106 @@
[param('uint8_t', 'ttl')])
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -2878,6 +3067,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -3627,6 +3821,63 @@
is_pure_virtual=True, visibility='protected', is_virtual=True)
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -3697,10 +3948,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -3989,9 +4240,9 @@
'ns3::Ptr< ns3::NetDevice >',
[param('uint32_t', 'i')],
is_virtual=True)
- ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4L4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv4L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4RoutingProtocol> ns3::Ipv4L3Protocol::GetRoutingProtocol() const [member function]
@@ -4004,10 +4255,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_virtual=True)
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4028,10 +4279,10 @@
cls.add_method('Receive',
'void',
[param('ns3::Ptr< ns3::NetDevice >', 'device'), param('ns3::Ptr< ns3::Packet const >', 'p'), param('uint16_t', 'protocol'), param('ns3::Address const &', 'from'), param('ns3::Address const &', 'to'), param('ns3::NetDevice::PacketType', 'packetType')])
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')])
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::RemoveAddress(uint32_t interfaceIndex, uint32_t addressIndex) [member function]
cls.add_method('RemoveAddress',
'bool',
@@ -4118,43 +4369,6 @@
visibility='private', is_virtual=True)
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -4383,6 +4597,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
--- a/src/emu/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/emu/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1289,6 +1289,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1329,11 +1334,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1364,6 +1378,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2418,7 +2437,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/emu/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/emu/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1289,6 +1289,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1329,11 +1334,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1364,6 +1378,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2418,7 +2437,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/energy/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/energy/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1266,6 +1266,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1306,11 +1311,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1341,6 +1355,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2092,7 +2111,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/energy/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/energy/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1266,6 +1266,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1306,11 +1311,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1341,6 +1355,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2092,7 +2111,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/flow-monitor/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/flow-monitor/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -50,6 +50,34 @@
module.add_class('FlowMonitorHelper')
## histogram.h (module 'flow-monitor'): ns3::Histogram [class]
module.add_class('Histogram')
+ ## int-to-type.h (module 'core'): ns3::IntToType<0> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['0'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 0 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<1> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['1'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 1 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<2> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['2'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 2 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<3> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['3'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 3 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<4> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['4'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 4 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<5> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['5'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 5 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<6> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['6'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 6 >'], import_from_module='ns.core')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
module.add_class('Ipv4Address', import_from_module='ns.network')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
@@ -64,6 +92,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## node-container.h (module 'network'): ns3::NodeContainer [class]
@@ -98,6 +132,14 @@
module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
module.add_class('TagBuffer', import_from_module='ns.network')
+ ## timer.h (module 'core'): ns3::Timer [class]
+ module.add_class('Timer', import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::DestroyPolicy [enumeration]
+ module.add_enum('DestroyPolicy', ['CANCEL_ON_DESTROY', 'REMOVE_ON_DESTROY', 'CHECK_ON_DESTROY'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::State [enumeration]
+ module.add_enum('State', ['RUNNING', 'EXPIRED', 'SUSPENDED'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer-impl.h (module 'core'): ns3::TimerImpl [class]
+ module.add_class('TimerImpl', allow_subclassing=True, import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId [class]
module.add_class('TypeId', import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
@@ -120,6 +162,10 @@
module.add_enum('DscpType', ['DscpDefault', 'CS1', 'AF11', 'AF12', 'AF13', 'CS2', 'AF21', 'AF22', 'AF23', 'CS3', 'AF31', 'AF32', 'AF33', 'CS4', 'AF41', 'AF42', 'AF43', 'CS5', 'EF', 'CS6', 'CS7'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType [enumeration]
module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -198,6 +244,10 @@
module.add_class('FlowProbe', parent=root_module['ns3::SimpleRefCount< ns3::FlowProbe, ns3::empty, ns3::DefaultDeleter<ns3::FlowProbe> >'])
## flow-probe.h (module 'flow-monitor'): ns3::FlowProbe::FlowStats [struct]
module.add_class('FlowStats', outer_class=root_module['ns3::FlowProbe'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -216,10 +266,6 @@
module.add_class('Ipv4L3Protocol', import_from_module='ns.internet', parent=root_module['ns3::Ipv4'])
## ipv4-l3-protocol.h (module 'internet'): ns3::Ipv4L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_BAD_CHECKSUM', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_FRAGMENT_TIMEOUT'], outer_class=root_module['ns3::Ipv4L3Protocol'], import_from_module='ns.internet')
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -234,6 +280,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -304,10 +352,18 @@
register_Ns3EventId_methods(root_module, root_module['ns3::EventId'])
register_Ns3FlowMonitorHelper_methods(root_module, root_module['ns3::FlowMonitorHelper'])
register_Ns3Histogram_methods(root_module, root_module['ns3::Histogram'])
+ register_Ns3IntToType__0_methods(root_module, root_module['ns3::IntToType< 0 >'])
+ register_Ns3IntToType__1_methods(root_module, root_module['ns3::IntToType< 1 >'])
+ register_Ns3IntToType__2_methods(root_module, root_module['ns3::IntToType< 2 >'])
+ register_Ns3IntToType__3_methods(root_module, root_module['ns3::IntToType< 3 >'])
+ register_Ns3IntToType__4_methods(root_module, root_module['ns3::IntToType< 4 >'])
+ register_Ns3IntToType__5_methods(root_module, root_module['ns3::IntToType< 5 >'])
+ register_Ns3IntToType__6_methods(root_module, root_module['ns3::IntToType< 6 >'])
register_Ns3Ipv4Address_methods(root_module, root_module['ns3::Ipv4Address'])
register_Ns3Ipv4InterfaceAddress_methods(root_module, root_module['ns3::Ipv4InterfaceAddress'])
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3NodeContainer_methods(root_module, root_module['ns3::NodeContainer'])
register_Ns3ObjectBase_methods(root_module, root_module['ns3::ObjectBase'])
@@ -324,6 +380,8 @@
register_Ns3Simulator_methods(root_module, root_module['ns3::Simulator'])
register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
+ register_Ns3Timer_methods(root_module, root_module['ns3::Timer'])
+ register_Ns3TimerImpl_methods(root_module, root_module['ns3::TimerImpl'])
register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
@@ -332,6 +390,7 @@
register_Ns3Chunk_methods(root_module, root_module['ns3::Chunk'])
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
@@ -367,6 +426,7 @@
register_Ns3FlowMonitorFlowStats_methods(root_module, root_module['ns3::FlowMonitor::FlowStats'])
register_Ns3FlowProbe_methods(root_module, root_module['ns3::FlowProbe'])
register_Ns3FlowProbeFlowStats_methods(root_module, root_module['ns3::FlowProbe::FlowStats'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
@@ -374,7 +434,6 @@
register_Ns3Ipv4FlowClassifierFiveTuple_methods(root_module, root_module['ns3::Ipv4FlowClassifier::FiveTuple'])
register_Ns3Ipv4FlowProbe_methods(root_module, root_module['ns3::Ipv4FlowProbe'])
register_Ns3Ipv4L3Protocol_methods(root_module, root_module['ns3::Ipv4L3Protocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -382,6 +441,7 @@
register_Ns3Ipv4RoutingProtocol_methods(root_module, root_module['ns3::Ipv4RoutingProtocol'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3NetDevice_methods(root_module, root_module['ns3::NetDevice'])
@@ -997,6 +1057,55 @@
[param('double', 'binWidth')])
return
+def register_Ns3IntToType__0_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType(ns3::IntToType<0> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 0 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__1_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType(ns3::IntToType<1> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 1 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__2_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType(ns3::IntToType<2> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 2 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__3_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType(ns3::IntToType<3> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 3 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__4_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType(ns3::IntToType<4> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 4 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__5_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType(ns3::IntToType<5> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 5 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__6_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType(ns3::IntToType<6> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 6 > const &', 'arg0')])
+ return
+
def register_Ns3Ipv4Address_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -1283,6 +1392,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1323,11 +1437,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1358,6 +1481,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1383,6 +1511,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -1998,6 +2181,90 @@
[param('uint8_t', 'v')])
return
+def register_Ns3Timer_methods(root_module, cls):
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Timer const &', 'arg0')])
+ ## timer.h (module 'core'): ns3::Timer::Timer() [constructor]
+ cls.add_constructor([])
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer::DestroyPolicy destroyPolicy) [constructor]
+ cls.add_constructor([param('ns3::Timer::DestroyPolicy', 'destroyPolicy')])
+ ## timer.h (module 'core'): void ns3::Timer::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelay() const [member function]
+ cls.add_method('GetDelay',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelayLeft() const [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Timer::State ns3::Timer::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Timer::State',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsSuspended() const [member function]
+ cls.add_method('IsSuspended',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): void ns3::Timer::Remove() [member function]
+ cls.add_method('Remove',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Resume() [member function]
+ cls.add_method('Resume',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule() [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule(ns3::Time delay) [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [param('ns3::Time', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::SetDelay(ns3::Time const & delay) [member function]
+ cls.add_method('SetDelay',
+ 'void',
+ [param('ns3::Time const &', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::Suspend() [member function]
+ cls.add_method('Suspend',
+ 'void',
+ [])
+ return
+
+def register_Ns3TimerImpl_methods(root_module, cls):
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl() [constructor]
+ cls.add_constructor([])
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl(ns3::TimerImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimerImpl const &', 'arg0')])
+ ## timer-impl.h (module 'core'): void ns3::TimerImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## timer-impl.h (module 'core'): ns3::EventId ns3::TimerImpl::Schedule(ns3::Time const & delay) [member function]
+ cls.add_method('Schedule',
+ 'ns3::EventId',
+ [param('ns3::Time const &', 'delay')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3TypeId_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -2103,7 +2370,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -2513,6 +2780,106 @@
[param('uint8_t', 'ttl')])
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -2750,6 +3117,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -3692,6 +4064,63 @@
cls.add_instance_attribute('packetsDropped', 'std::vector< unsigned int >', is_const=False)
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -3762,10 +4191,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4000,9 +4429,9 @@
'ns3::Ptr< ns3::NetDevice >',
[param('uint32_t', 'i')],
is_virtual=True)
- ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4L4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv4L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4RoutingProtocol> ns3::Ipv4L3Protocol::GetRoutingProtocol() const [member function]
@@ -4015,10 +4444,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_virtual=True)
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4039,10 +4468,10 @@
cls.add_method('Receive',
'void',
[param('ns3::Ptr< ns3::NetDevice >', 'device'), param('ns3::Ptr< ns3::Packet const >', 'p'), param('uint16_t', 'protocol'), param('ns3::Address const &', 'from'), param('ns3::Address const &', 'to'), param('ns3::NetDevice::PacketType', 'packetType')])
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')])
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::RemoveAddress(uint32_t interfaceIndex, uint32_t addressIndex) [member function]
cls.add_method('RemoveAddress',
'bool',
@@ -4129,43 +4558,6 @@
visibility='private', is_virtual=True)
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -4394,6 +4786,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
--- a/src/flow-monitor/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/flow-monitor/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -50,6 +50,34 @@
module.add_class('FlowMonitorHelper')
## histogram.h (module 'flow-monitor'): ns3::Histogram [class]
module.add_class('Histogram')
+ ## int-to-type.h (module 'core'): ns3::IntToType<0> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['0'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 0 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<1> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['1'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 1 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<2> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['2'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 2 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<3> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['3'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 3 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<4> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['4'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 4 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<5> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['5'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 5 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<6> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['6'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 6 >'], import_from_module='ns.core')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
module.add_class('Ipv4Address', import_from_module='ns.network')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
@@ -64,6 +92,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## node-container.h (module 'network'): ns3::NodeContainer [class]
@@ -98,6 +132,14 @@
module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
module.add_class('TagBuffer', import_from_module='ns.network')
+ ## timer.h (module 'core'): ns3::Timer [class]
+ module.add_class('Timer', import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::DestroyPolicy [enumeration]
+ module.add_enum('DestroyPolicy', ['CANCEL_ON_DESTROY', 'REMOVE_ON_DESTROY', 'CHECK_ON_DESTROY'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::State [enumeration]
+ module.add_enum('State', ['RUNNING', 'EXPIRED', 'SUSPENDED'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer-impl.h (module 'core'): ns3::TimerImpl [class]
+ module.add_class('TimerImpl', allow_subclassing=True, import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId [class]
module.add_class('TypeId', import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
@@ -120,6 +162,10 @@
module.add_enum('DscpType', ['DscpDefault', 'CS1', 'AF11', 'AF12', 'AF13', 'CS2', 'AF21', 'AF22', 'AF23', 'CS3', 'AF31', 'AF32', 'AF33', 'CS4', 'AF41', 'AF42', 'AF43', 'CS5', 'EF', 'CS6', 'CS7'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType [enumeration]
module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -198,6 +244,10 @@
module.add_class('FlowProbe', parent=root_module['ns3::SimpleRefCount< ns3::FlowProbe, ns3::empty, ns3::DefaultDeleter<ns3::FlowProbe> >'])
## flow-probe.h (module 'flow-monitor'): ns3::FlowProbe::FlowStats [struct]
module.add_class('FlowStats', outer_class=root_module['ns3::FlowProbe'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -216,10 +266,6 @@
module.add_class('Ipv4L3Protocol', import_from_module='ns.internet', parent=root_module['ns3::Ipv4'])
## ipv4-l3-protocol.h (module 'internet'): ns3::Ipv4L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_BAD_CHECKSUM', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_FRAGMENT_TIMEOUT'], outer_class=root_module['ns3::Ipv4L3Protocol'], import_from_module='ns.internet')
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -234,6 +280,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -304,10 +352,18 @@
register_Ns3EventId_methods(root_module, root_module['ns3::EventId'])
register_Ns3FlowMonitorHelper_methods(root_module, root_module['ns3::FlowMonitorHelper'])
register_Ns3Histogram_methods(root_module, root_module['ns3::Histogram'])
+ register_Ns3IntToType__0_methods(root_module, root_module['ns3::IntToType< 0 >'])
+ register_Ns3IntToType__1_methods(root_module, root_module['ns3::IntToType< 1 >'])
+ register_Ns3IntToType__2_methods(root_module, root_module['ns3::IntToType< 2 >'])
+ register_Ns3IntToType__3_methods(root_module, root_module['ns3::IntToType< 3 >'])
+ register_Ns3IntToType__4_methods(root_module, root_module['ns3::IntToType< 4 >'])
+ register_Ns3IntToType__5_methods(root_module, root_module['ns3::IntToType< 5 >'])
+ register_Ns3IntToType__6_methods(root_module, root_module['ns3::IntToType< 6 >'])
register_Ns3Ipv4Address_methods(root_module, root_module['ns3::Ipv4Address'])
register_Ns3Ipv4InterfaceAddress_methods(root_module, root_module['ns3::Ipv4InterfaceAddress'])
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3NodeContainer_methods(root_module, root_module['ns3::NodeContainer'])
register_Ns3ObjectBase_methods(root_module, root_module['ns3::ObjectBase'])
@@ -324,6 +380,8 @@
register_Ns3Simulator_methods(root_module, root_module['ns3::Simulator'])
register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
+ register_Ns3Timer_methods(root_module, root_module['ns3::Timer'])
+ register_Ns3TimerImpl_methods(root_module, root_module['ns3::TimerImpl'])
register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
@@ -332,6 +390,7 @@
register_Ns3Chunk_methods(root_module, root_module['ns3::Chunk'])
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
@@ -367,6 +426,7 @@
register_Ns3FlowMonitorFlowStats_methods(root_module, root_module['ns3::FlowMonitor::FlowStats'])
register_Ns3FlowProbe_methods(root_module, root_module['ns3::FlowProbe'])
register_Ns3FlowProbeFlowStats_methods(root_module, root_module['ns3::FlowProbe::FlowStats'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
@@ -374,7 +434,6 @@
register_Ns3Ipv4FlowClassifierFiveTuple_methods(root_module, root_module['ns3::Ipv4FlowClassifier::FiveTuple'])
register_Ns3Ipv4FlowProbe_methods(root_module, root_module['ns3::Ipv4FlowProbe'])
register_Ns3Ipv4L3Protocol_methods(root_module, root_module['ns3::Ipv4L3Protocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -382,6 +441,7 @@
register_Ns3Ipv4RoutingProtocol_methods(root_module, root_module['ns3::Ipv4RoutingProtocol'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3NetDevice_methods(root_module, root_module['ns3::NetDevice'])
@@ -997,6 +1057,55 @@
[param('double', 'binWidth')])
return
+def register_Ns3IntToType__0_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType(ns3::IntToType<0> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 0 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__1_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType(ns3::IntToType<1> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 1 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__2_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType(ns3::IntToType<2> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 2 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__3_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType(ns3::IntToType<3> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 3 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__4_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType(ns3::IntToType<4> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 4 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__5_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType(ns3::IntToType<5> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 5 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__6_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType(ns3::IntToType<6> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 6 > const &', 'arg0')])
+ return
+
def register_Ns3Ipv4Address_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -1283,6 +1392,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1323,11 +1437,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1358,6 +1481,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1383,6 +1511,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -1998,6 +2181,90 @@
[param('uint8_t', 'v')])
return
+def register_Ns3Timer_methods(root_module, cls):
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Timer const &', 'arg0')])
+ ## timer.h (module 'core'): ns3::Timer::Timer() [constructor]
+ cls.add_constructor([])
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer::DestroyPolicy destroyPolicy) [constructor]
+ cls.add_constructor([param('ns3::Timer::DestroyPolicy', 'destroyPolicy')])
+ ## timer.h (module 'core'): void ns3::Timer::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelay() const [member function]
+ cls.add_method('GetDelay',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelayLeft() const [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Timer::State ns3::Timer::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Timer::State',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsSuspended() const [member function]
+ cls.add_method('IsSuspended',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): void ns3::Timer::Remove() [member function]
+ cls.add_method('Remove',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Resume() [member function]
+ cls.add_method('Resume',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule() [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule(ns3::Time delay) [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [param('ns3::Time', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::SetDelay(ns3::Time const & delay) [member function]
+ cls.add_method('SetDelay',
+ 'void',
+ [param('ns3::Time const &', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::Suspend() [member function]
+ cls.add_method('Suspend',
+ 'void',
+ [])
+ return
+
+def register_Ns3TimerImpl_methods(root_module, cls):
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl() [constructor]
+ cls.add_constructor([])
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl(ns3::TimerImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimerImpl const &', 'arg0')])
+ ## timer-impl.h (module 'core'): void ns3::TimerImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## timer-impl.h (module 'core'): ns3::EventId ns3::TimerImpl::Schedule(ns3::Time const & delay) [member function]
+ cls.add_method('Schedule',
+ 'ns3::EventId',
+ [param('ns3::Time const &', 'delay')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3TypeId_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -2103,7 +2370,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -2513,6 +2780,106 @@
[param('uint8_t', 'ttl')])
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -2750,6 +3117,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -3692,6 +4064,63 @@
cls.add_instance_attribute('packetsDropped', 'std::vector< unsigned int >', is_const=False)
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -3762,10 +4191,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4000,9 +4429,9 @@
'ns3::Ptr< ns3::NetDevice >',
[param('uint32_t', 'i')],
is_virtual=True)
- ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4L4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv4L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4RoutingProtocol> ns3::Ipv4L3Protocol::GetRoutingProtocol() const [member function]
@@ -4015,10 +4444,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_virtual=True)
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4039,10 +4468,10 @@
cls.add_method('Receive',
'void',
[param('ns3::Ptr< ns3::NetDevice >', 'device'), param('ns3::Ptr< ns3::Packet const >', 'p'), param('uint16_t', 'protocol'), param('ns3::Address const &', 'from'), param('ns3::Address const &', 'to'), param('ns3::NetDevice::PacketType', 'packetType')])
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')])
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::RemoveAddress(uint32_t interfaceIndex, uint32_t addressIndex) [member function]
cls.add_method('RemoveAddress',
'bool',
@@ -4129,43 +4558,6 @@
visibility='private', is_virtual=True)
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -4394,6 +4786,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
--- a/src/flow-monitor/model/ipv4-flow-probe.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/flow-monitor/model/ipv4-flow-probe.cc Fri Mar 02 19:43:49 2012 +0100
@@ -330,10 +330,11 @@
// ConstCast: see http://www.nsnam.org/bugzilla/show_bug.cgi?id=904
bool tagFound;
tagFound = ConstCast<Packet> (ipPayload)->RemovePacketTag (fTag);
- NS_ASSERT_MSG (tagFound, "FlowProbeTag is missing");
- // cast tagFound to void, to suppress 'tagFound' set but not used compiler
- // warning in optimized builds
- (void) tagFound;
+ if (!tagFound)
+ {
+ return;
+ }
+
FlowId flowId = fTag.GetFlowId ();
FlowPacketId packetId = fTag.GetPacketId ();
uint32_t size = fTag.GetPacketSize ();
--- a/src/internet/bindings/callbacks_list.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/bindings/callbacks_list.py Fri Mar 02 19:43:49 2012 +0100
@@ -6,6 +6,7 @@
['void', 'ns3::Ptr<ns3::Socket>', 'unsigned int', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['void', 'ns3::Ptr<ns3::Socket>', 'ns3::Address const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['bool', 'ns3::Ptr<ns3::Socket>', 'ns3::Address const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
+ ['void', 'ns3::Ptr<ns3::Packet>', 'ns3::Ipv6Address', 'ns3::Ipv6Address', 'unsigned char', 'ns3::Ptr<ns3::Ipv6Route>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['void', 'ns3::Ptr<ns3::Packet>', 'ns3::Ipv4Address', 'ns3::Ipv4Address', 'unsigned char', 'ns3::Ptr<ns3::Ipv4Route>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['bool', 'ns3::Ptr<ns3::NetDevice>', 'ns3::Ptr<ns3::Packet const>', 'unsigned short', 'ns3::Address const&', 'ns3::Address const&', 'ns3::NetDevice::PacketType', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['bool', 'ns3::Ptr<ns3::NetDevice>', 'ns3::Ptr<ns3::Packet const>', 'unsigned short', 'ns3::Address const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
--- a/src/internet/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -468,6 +468,10 @@
module.add_class('Icmpv6DestinationUnreachable', parent=root_module['ns3::Icmpv6Header'])
## icmpv6-header.h (module 'internet'): ns3::Icmpv6Echo [class]
module.add_class('Icmpv6Echo', parent=root_module['ns3::Icmpv6Header'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'])
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -480,10 +484,6 @@
module.add_class('Ipv4L3Protocol', parent=root_module['ns3::Ipv4'])
## ipv4-l3-protocol.h (module 'internet'): ns3::Ipv4L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_BAD_CHECKSUM', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_FRAGMENT_TIMEOUT'], outer_class=root_module['ns3::Ipv4L3Protocol'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -522,10 +522,6 @@
module.add_class('Ipv6L3Protocol', parent=root_module['ns3::Ipv6'])
## ipv6-l3-protocol.h (module 'internet'): ns3::Ipv6L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_UNKNOWN_PROTOCOL'], outer_class=root_module['ns3::Ipv6L3Protocol'])
- ## ipv6-l4-protocol.h (module 'internet'): ns3::Ipv6L4Protocol [class]
- module.add_class('Ipv6L4Protocol', parent=root_module['ns3::Object'])
- ## ipv6-l4-protocol.h (module 'internet'): ns3::Ipv6L4Protocol::RxStatus_e [enumeration]
- module.add_enum('RxStatus_e', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv6L4Protocol'])
## ipv6-route.h (module 'internet'): ns3::Ipv6MulticastRoute [class]
module.add_class('Ipv6MulticastRoute', parent=root_module['ns3::SimpleRefCount< ns3::Ipv6MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv6MulticastRoute> >'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
@@ -569,7 +565,7 @@
## random-variable.h (module 'core'): ns3::RandomVariableValue [class]
module.add_class('RandomVariableValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## tcp-l4-protocol.h (module 'internet'): ns3::TcpL4Protocol [class]
- module.add_class('TcpL4Protocol', parent=root_module['ns3::Ipv4L4Protocol'])
+ module.add_class('TcpL4Protocol', parent=root_module['ns3::IpL4Protocol'])
## nstime.h (module 'core'): ns3::TimeChecker [class]
module.add_class('TimeChecker', import_from_module='ns.core', parent=root_module['ns3::AttributeChecker'])
## nstime.h (module 'core'): ns3::TimeValue [class]
@@ -579,7 +575,7 @@
## type-id.h (module 'core'): ns3::TypeIdValue [class]
module.add_class('TypeIdValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## udp-l4-protocol.h (module 'internet'): ns3::UdpL4Protocol [class]
- module.add_class('UdpL4Protocol', parent=root_module['ns3::Ipv4L4Protocol'])
+ module.add_class('UdpL4Protocol', parent=root_module['ns3::IpL4Protocol'])
## address.h (module 'network'): ns3::AddressChecker [class]
module.add_class('AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## address.h (module 'network'): ns3::AddressValue [class]
@@ -589,9 +585,9 @@
## bridge-net-device.h (module 'bridge'): ns3::BridgeNetDevice [class]
module.add_class('BridgeNetDevice', import_from_module='ns.bridge', parent=root_module['ns3::NetDevice'])
## icmpv4-l4-protocol.h (module 'internet'): ns3::Icmpv4L4Protocol [class]
- module.add_class('Icmpv4L4Protocol', parent=root_module['ns3::Ipv4L4Protocol'])
+ module.add_class('Icmpv4L4Protocol', parent=root_module['ns3::IpL4Protocol'])
## icmpv6-l4-protocol.h (module 'internet'): ns3::Icmpv6L4Protocol [class]
- module.add_class('Icmpv6L4Protocol', parent=root_module['ns3::Ipv6L4Protocol'])
+ module.add_class('Icmpv6L4Protocol', parent=root_module['ns3::IpL4Protocol'])
## ipv4-global-routing.h (module 'internet'): ns3::Ipv4GlobalRouting [class]
module.add_class('Ipv4GlobalRouting', parent=root_module['ns3::Ipv4RoutingProtocol'])
## ipv4-list-routing.h (module 'internet'): ns3::Ipv4ListRouting [class]
@@ -806,12 +802,12 @@
register_Ns3GlobalRouter_methods(root_module, root_module['ns3::GlobalRouter'])
register_Ns3Icmpv6DestinationUnreachable_methods(root_module, root_module['ns3::Icmpv6DestinationUnreachable'])
register_Ns3Icmpv6Echo_methods(root_module, root_module['ns3::Icmpv6Echo'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
register_Ns3Ipv4Interface_methods(root_module, root_module['ns3::Ipv4Interface'])
register_Ns3Ipv4L3Protocol_methods(root_module, root_module['ns3::Ipv4L3Protocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -830,7 +826,6 @@
register_Ns3Ipv6ExtensionLooseRoutingHeader_methods(root_module, root_module['ns3::Ipv6ExtensionLooseRoutingHeader'])
register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6L3Protocol_methods(root_module, root_module['ns3::Ipv6L3Protocol'])
- register_Ns3Ipv6L4Protocol_methods(root_module, root_module['ns3::Ipv6L4Protocol'])
register_Ns3Ipv6MulticastRoute_methods(root_module, root_module['ns3::Ipv6MulticastRoute'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
@@ -2651,6 +2646,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -2691,11 +2691,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -2726,6 +2735,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -4507,7 +4521,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -7319,6 +7333,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -7758,6 +7777,14 @@
cls.add_method('InitializeChecksum',
'void',
[param('ns3::Ipv4Address', 'source'), param('ns3::Ipv4Address', 'destination'), param('uint8_t', 'protocol')])
+ ## tcp-header.h (module 'internet'): void ns3::TcpHeader::InitializeChecksum(ns3::Ipv6Address source, ns3::Ipv6Address destination, uint8_t protocol) [member function]
+ cls.add_method('InitializeChecksum',
+ 'void',
+ [param('ns3::Ipv6Address', 'source'), param('ns3::Ipv6Address', 'destination'), param('uint8_t', 'protocol')])
+ ## tcp-header.h (module 'internet'): void ns3::TcpHeader::InitializeChecksum(ns3::Address source, ns3::Address destination, uint8_t protocol) [member function]
+ cls.add_method('InitializeChecksum',
+ 'void',
+ [param('ns3::Address', 'source'), param('ns3::Address', 'destination'), param('uint8_t', 'protocol')])
## tcp-header.h (module 'internet'): bool ns3::TcpHeader::IsChecksumOk() const [member function]
cls.add_method('IsChecksumOk',
'bool',
@@ -8198,10 +8225,18 @@
'ns3::TypeId',
[],
is_static=True)
+ ## udp-header.h (module 'internet'): void ns3::UdpHeader::InitializeChecksum(ns3::Address source, ns3::Address destination, uint8_t protocol) [member function]
+ cls.add_method('InitializeChecksum',
+ 'void',
+ [param('ns3::Address', 'source'), param('ns3::Address', 'destination'), param('uint8_t', 'protocol')])
## udp-header.h (module 'internet'): void ns3::UdpHeader::InitializeChecksum(ns3::Ipv4Address source, ns3::Ipv4Address destination, uint8_t protocol) [member function]
cls.add_method('InitializeChecksum',
'void',
[param('ns3::Ipv4Address', 'source'), param('ns3::Ipv4Address', 'destination'), param('uint8_t', 'protocol')])
+ ## udp-header.h (module 'internet'): void ns3::UdpHeader::InitializeChecksum(ns3::Ipv6Address source, ns3::Ipv6Address destination, uint8_t protocol) [member function]
+ cls.add_method('InitializeChecksum',
+ 'void',
+ [param('ns3::Ipv6Address', 'source'), param('ns3::Ipv6Address', 'destination'), param('uint8_t', 'protocol')])
## udp-header.h (module 'internet'): bool ns3::UdpHeader::IsChecksumOk() const [member function]
cls.add_method('IsChecksumOk',
'bool',
@@ -8963,6 +8998,63 @@
[param('uint16_t', 'seq')])
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -9033,10 +9125,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -9325,9 +9417,9 @@
'ns3::Ptr< ns3::NetDevice >',
[param('uint32_t', 'i')],
is_virtual=True)
- ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4L4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv4L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4RoutingProtocol> ns3::Ipv4L3Protocol::GetRoutingProtocol() const [member function]
@@ -9340,10 +9432,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_virtual=True)
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -9364,10 +9456,10 @@
cls.add_method('Receive',
'void',
[param('ns3::Ptr< ns3::NetDevice >', 'device'), param('ns3::Ptr< ns3::Packet const >', 'p'), param('uint16_t', 'protocol'), param('ns3::Address const &', 'from'), param('ns3::Address const &', 'to'), param('ns3::NetDevice::PacketType', 'packetType')])
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')])
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::RemoveAddress(uint32_t interfaceIndex, uint32_t addressIndex) [member function]
cls.add_method('RemoveAddress',
'bool',
@@ -9454,43 +9546,6 @@
visibility='private', is_virtual=True)
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -9610,6 +9665,11 @@
'int',
[],
is_virtual=True)
+ ## ipv4-raw-socket-impl.h (module 'internet'): int ns3::Ipv4RawSocketImpl::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_virtual=True)
## ipv4-raw-socket-impl.h (module 'internet'): int ns3::Ipv4RawSocketImpl::Close() [member function]
cls.add_method('Close',
'int',
@@ -10503,17 +10563,17 @@
cls.add_method('SetNode',
'void',
[param('ns3::Ptr< ns3::Node >', 'node')])
- ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Insert(ns3::Ptr<ns3::Ipv6L4Protocol> protocol) [member function]
+ ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv6L4Protocol >', 'protocol')])
- ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Remove(ns3::Ptr<ns3::Ipv6L4Protocol> protocol) [member function]
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
+ ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv6L4Protocol >', 'protocol')])
- ## ipv6-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv6L4Protocol> ns3::Ipv6L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
+ ## ipv6-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv6L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv6L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv6-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Socket> ns3::Ipv6L3Protocol::CreateRawSocket() [member function]
@@ -10686,33 +10746,6 @@
is_const=True, visibility='private', is_virtual=True)
return
-def register_Ns3Ipv6L4Protocol_methods(root_module, cls):
- ## ipv6-l4-protocol.h (module 'internet'): ns3::Ipv6L4Protocol::Ipv6L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv6-l4-protocol.h (module 'internet'): ns3::Ipv6L4Protocol::Ipv6L4Protocol(ns3::Ipv6L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv6L4Protocol const &', 'arg0')])
- ## ipv6-l4-protocol.h (module 'internet'): int ns3::Ipv6L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv6-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv6L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv6-l4-protocol.h (module 'internet'): ns3::Ipv6L4Protocol::RxStatus_e ns3::Ipv6L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address const & src, ns3::Ipv6Address const & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv6L4Protocol::RxStatus_e',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address const &', 'src'), param('ns3::Ipv6Address const &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv6-l4-protocol.h (module 'internet'): void ns3::Ipv6L4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- return
-
def register_Ns3Ipv6MulticastRoute_methods(root_module, cls):
cls.add_output_stream_operator()
## ipv6-route.h (module 'internet'): ns3::Ipv6MulticastRoute::Ipv6MulticastRoute(ns3::Ipv6MulticastRoute const & arg0) [copy constructor]
@@ -11894,29 +11927,72 @@
cls.add_method('Allocate',
'ns3::Ipv4EndPoint *',
[param('ns3::Ipv4Address', 'localAddress'), param('uint16_t', 'localPort'), param('ns3::Ipv4Address', 'peerAddress'), param('uint16_t', 'peerPort')])
+ ## tcp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::TcpL4Protocol::Allocate6() [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [])
+ ## tcp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::TcpL4Protocol::Allocate6(ns3::Ipv6Address address) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('ns3::Ipv6Address', 'address')])
+ ## tcp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::TcpL4Protocol::Allocate6(uint16_t port) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('uint16_t', 'port')])
+ ## tcp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::TcpL4Protocol::Allocate6(ns3::Ipv6Address address, uint16_t port) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('ns3::Ipv6Address', 'address'), param('uint16_t', 'port')])
+ ## tcp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::TcpL4Protocol::Allocate6(ns3::Ipv6Address localAddress, uint16_t localPort, ns3::Ipv6Address peerAddress, uint16_t peerPort) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('ns3::Ipv6Address', 'localAddress'), param('uint16_t', 'localPort'), param('ns3::Ipv6Address', 'peerAddress'), param('uint16_t', 'peerPort')])
## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::DeAllocate(ns3::Ipv4EndPoint * endPoint) [member function]
cls.add_method('DeAllocate',
'void',
[param('ns3::Ipv4EndPoint *', 'endPoint')])
+ ## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::DeAllocate(ns3::Ipv6EndPoint * endPoint) [member function]
+ cls.add_method('DeAllocate',
+ 'void',
+ [param('ns3::Ipv6EndPoint *', 'endPoint')])
## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::Send(ns3::Ptr<ns3::Packet> packet, ns3::Ipv4Address saddr, ns3::Ipv4Address daddr, uint16_t sport, uint16_t dport, ns3::Ptr<ns3::NetDevice> oif=0) [member function]
cls.add_method('Send',
'void',
[param('ns3::Ptr< ns3::Packet >', 'packet'), param('ns3::Ipv4Address', 'saddr'), param('ns3::Ipv4Address', 'daddr'), param('uint16_t', 'sport'), param('uint16_t', 'dport'), param('ns3::Ptr< ns3::NetDevice >', 'oif', default_value='0')])
- ## tcp-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::TcpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ ## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::Send(ns3::Ptr<ns3::Packet> packet, ns3::Ipv6Address saddr, ns3::Ipv6Address daddr, uint16_t sport, uint16_t dport, ns3::Ptr<ns3::NetDevice> oif=0) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'packet'), param('ns3::Ipv6Address', 'saddr'), param('ns3::Ipv6Address', 'daddr'), param('uint16_t', 'sport'), param('uint16_t', 'dport'), param('ns3::Ptr< ns3::NetDevice >', 'oif', default_value='0')])
+ ## tcp-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::TcpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
+ 'ns3::IpL4Protocol::RxStatus',
[param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
is_virtual=True)
+ ## tcp-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::TcpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> interface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'interface')],
+ is_virtual=True)
## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::SetDownTarget(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
cls.add_method('SetDownTarget',
'void',
[param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
is_virtual=True)
+ ## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::SetDownTarget6(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_virtual=True)
## tcp-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::TcpL4Protocol::GetDownTarget() const [member function]
cls.add_method('GetDownTarget',
'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
[],
is_const=True, is_virtual=True)
+ ## tcp-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::TcpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True, is_virtual=True)
## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
@@ -12052,10 +12128,34 @@
cls.add_method('Allocate',
'ns3::Ipv4EndPoint *',
[param('ns3::Ipv4Address', 'localAddress'), param('uint16_t', 'localPort'), param('ns3::Ipv4Address', 'peerAddress'), param('uint16_t', 'peerPort')])
+ ## udp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::UdpL4Protocol::Allocate6() [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [])
+ ## udp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::UdpL4Protocol::Allocate6(ns3::Ipv6Address address) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('ns3::Ipv6Address', 'address')])
+ ## udp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::UdpL4Protocol::Allocate6(uint16_t port) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('uint16_t', 'port')])
+ ## udp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::UdpL4Protocol::Allocate6(ns3::Ipv6Address address, uint16_t port) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('ns3::Ipv6Address', 'address'), param('uint16_t', 'port')])
+ ## udp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::UdpL4Protocol::Allocate6(ns3::Ipv6Address localAddress, uint16_t localPort, ns3::Ipv6Address peerAddress, uint16_t peerPort) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('ns3::Ipv6Address', 'localAddress'), param('uint16_t', 'localPort'), param('ns3::Ipv6Address', 'peerAddress'), param('uint16_t', 'peerPort')])
## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::DeAllocate(ns3::Ipv4EndPoint * endPoint) [member function]
cls.add_method('DeAllocate',
'void',
[param('ns3::Ipv4EndPoint *', 'endPoint')])
+ ## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::DeAllocate(ns3::Ipv6EndPoint * endPoint) [member function]
+ cls.add_method('DeAllocate',
+ 'void',
+ [param('ns3::Ipv6EndPoint *', 'endPoint')])
## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::Send(ns3::Ptr<ns3::Packet> packet, ns3::Ipv4Address saddr, ns3::Ipv4Address daddr, uint16_t sport, uint16_t dport) [member function]
cls.add_method('Send',
'void',
@@ -12064,26 +12164,54 @@
cls.add_method('Send',
'void',
[param('ns3::Ptr< ns3::Packet >', 'packet'), param('ns3::Ipv4Address', 'saddr'), param('ns3::Ipv4Address', 'daddr'), param('uint16_t', 'sport'), param('uint16_t', 'dport'), param('ns3::Ptr< ns3::Ipv4Route >', 'route')])
- ## udp-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::UdpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> interface) [member function]
+ ## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::Send(ns3::Ptr<ns3::Packet> packet, ns3::Ipv6Address saddr, ns3::Ipv6Address daddr, uint16_t sport, uint16_t dport) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'packet'), param('ns3::Ipv6Address', 'saddr'), param('ns3::Ipv6Address', 'daddr'), param('uint16_t', 'sport'), param('uint16_t', 'dport')])
+ ## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::Send(ns3::Ptr<ns3::Packet> packet, ns3::Ipv6Address saddr, ns3::Ipv6Address daddr, uint16_t sport, uint16_t dport, ns3::Ptr<ns3::Ipv6Route> route) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'packet'), param('ns3::Ipv6Address', 'saddr'), param('ns3::Ipv6Address', 'daddr'), param('uint16_t', 'sport'), param('uint16_t', 'dport'), param('ns3::Ptr< ns3::Ipv6Route >', 'route')])
+ ## udp-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::UdpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> interface) [member function]
cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
+ 'ns3::IpL4Protocol::RxStatus',
[param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'interface')],
is_virtual=True)
+ ## udp-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::UdpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> interface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'interface')],
+ is_virtual=True)
## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
cls.add_method('ReceiveIcmp',
'void',
[param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
is_virtual=True)
+ ## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::SetDownTarget(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
cls.add_method('SetDownTarget',
'void',
[param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
is_virtual=True)
+ ## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::SetDownTarget6(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_virtual=True)
## udp-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::UdpL4Protocol::GetDownTarget() const [member function]
cls.add_method('GetDownTarget',
'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
[],
is_const=True, is_virtual=True)
+ ## udp-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::UdpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True, is_virtual=True)
## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
@@ -12344,6 +12472,11 @@
'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
[],
is_const=True, is_virtual=True)
+ ## icmpv4-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::Icmpv4L4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True, is_virtual=True)
## icmpv4-l4-protocol.h (module 'internet'): int ns3::Icmpv4L4Protocol::GetProtocolNumber() const [member function]
cls.add_method('GetProtocolNumber',
'int',
@@ -12359,11 +12492,16 @@
'ns3::TypeId',
[],
is_static=True)
- ## icmpv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Icmpv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ ## icmpv4-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::Icmpv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
+ 'ns3::IpL4Protocol::RxStatus',
[param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
is_virtual=True)
+ ## icmpv4-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::Icmpv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_virtual=True)
## icmpv4-l4-protocol.h (module 'internet'): void ns3::Icmpv4L4Protocol::SendDestUnreachFragNeeded(ns3::Ipv4Header header, ns3::Ptr<const ns3::Packet> orgData, uint16_t nextHopMtu) [member function]
cls.add_method('SendDestUnreachFragNeeded',
'void',
@@ -12381,6 +12519,11 @@
'void',
[param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
is_virtual=True)
+ ## icmpv4-l4-protocol.h (module 'internet'): void ns3::Icmpv4L4Protocol::SetDownTarget6(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_virtual=True)
## icmpv4-l4-protocol.h (module 'internet'): void ns3::Icmpv4L4Protocol::SetNode(ns3::Ptr<ns3::Node> node) [member function]
cls.add_method('SetNode',
'void',
@@ -12471,10 +12614,15 @@
'void',
[],
is_virtual=True)
- ## icmpv6-l4-protocol.h (module 'internet'): ns3::Ipv6L4Protocol::RxStatus_e ns3::Icmpv6L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address const & src, ns3::Ipv6Address const & dst, ns3::Ptr<ns3::Ipv6Interface> interface) [member function]
+ ## icmpv6-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::Icmpv6L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> interface) [member function]
cls.add_method('Receive',
- 'ns3::Ipv6L4Protocol::RxStatus_e',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address const &', 'src'), param('ns3::Ipv6Address const &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'interface')],
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'interface')],
+ is_virtual=True)
+ ## icmpv6-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::Icmpv6L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> interface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'interface')],
is_virtual=True)
## icmpv6-l4-protocol.h (module 'internet'): void ns3::Icmpv6L4Protocol::SendEchoReply(ns3::Ipv6Address src, ns3::Ipv6Address dst, uint16_t id, uint16_t seq, ns3::Ptr<ns3::Packet> data) [member function]
cls.add_method('SendEchoReply',
@@ -12565,6 +12713,26 @@
'void',
[],
visibility='protected', is_virtual=True)
+ ## icmpv6-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::Icmpv6L4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True, visibility='private', is_virtual=True)
+ ## icmpv6-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::Icmpv6L4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True, visibility='private', is_virtual=True)
+ ## icmpv6-l4-protocol.h (module 'internet'): void ns3::Icmpv6L4Protocol::SetDownTarget(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ visibility='private', is_virtual=True)
+ ## icmpv6-l4-protocol.h (module 'internet'): void ns3::Icmpv6L4Protocol::SetDownTarget6(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ visibility='private', is_virtual=True)
return
def register_Ns3Ipv4GlobalRouting_methods(root_module, cls):
--- a/src/internet/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -468,6 +468,10 @@
module.add_class('Icmpv6DestinationUnreachable', parent=root_module['ns3::Icmpv6Header'])
## icmpv6-header.h (module 'internet'): ns3::Icmpv6Echo [class]
module.add_class('Icmpv6Echo', parent=root_module['ns3::Icmpv6Header'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'])
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -480,10 +484,6 @@
module.add_class('Ipv4L3Protocol', parent=root_module['ns3::Ipv4'])
## ipv4-l3-protocol.h (module 'internet'): ns3::Ipv4L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_BAD_CHECKSUM', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_FRAGMENT_TIMEOUT'], outer_class=root_module['ns3::Ipv4L3Protocol'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -522,10 +522,6 @@
module.add_class('Ipv6L3Protocol', parent=root_module['ns3::Ipv6'])
## ipv6-l3-protocol.h (module 'internet'): ns3::Ipv6L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_UNKNOWN_PROTOCOL'], outer_class=root_module['ns3::Ipv6L3Protocol'])
- ## ipv6-l4-protocol.h (module 'internet'): ns3::Ipv6L4Protocol [class]
- module.add_class('Ipv6L4Protocol', parent=root_module['ns3::Object'])
- ## ipv6-l4-protocol.h (module 'internet'): ns3::Ipv6L4Protocol::RxStatus_e [enumeration]
- module.add_enum('RxStatus_e', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv6L4Protocol'])
## ipv6-route.h (module 'internet'): ns3::Ipv6MulticastRoute [class]
module.add_class('Ipv6MulticastRoute', parent=root_module['ns3::SimpleRefCount< ns3::Ipv6MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv6MulticastRoute> >'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
@@ -569,7 +565,7 @@
## random-variable.h (module 'core'): ns3::RandomVariableValue [class]
module.add_class('RandomVariableValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## tcp-l4-protocol.h (module 'internet'): ns3::TcpL4Protocol [class]
- module.add_class('TcpL4Protocol', parent=root_module['ns3::Ipv4L4Protocol'])
+ module.add_class('TcpL4Protocol', parent=root_module['ns3::IpL4Protocol'])
## nstime.h (module 'core'): ns3::TimeChecker [class]
module.add_class('TimeChecker', import_from_module='ns.core', parent=root_module['ns3::AttributeChecker'])
## nstime.h (module 'core'): ns3::TimeValue [class]
@@ -579,7 +575,7 @@
## type-id.h (module 'core'): ns3::TypeIdValue [class]
module.add_class('TypeIdValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## udp-l4-protocol.h (module 'internet'): ns3::UdpL4Protocol [class]
- module.add_class('UdpL4Protocol', parent=root_module['ns3::Ipv4L4Protocol'])
+ module.add_class('UdpL4Protocol', parent=root_module['ns3::IpL4Protocol'])
## address.h (module 'network'): ns3::AddressChecker [class]
module.add_class('AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## address.h (module 'network'): ns3::AddressValue [class]
@@ -589,9 +585,9 @@
## bridge-net-device.h (module 'bridge'): ns3::BridgeNetDevice [class]
module.add_class('BridgeNetDevice', import_from_module='ns.bridge', parent=root_module['ns3::NetDevice'])
## icmpv4-l4-protocol.h (module 'internet'): ns3::Icmpv4L4Protocol [class]
- module.add_class('Icmpv4L4Protocol', parent=root_module['ns3::Ipv4L4Protocol'])
+ module.add_class('Icmpv4L4Protocol', parent=root_module['ns3::IpL4Protocol'])
## icmpv6-l4-protocol.h (module 'internet'): ns3::Icmpv6L4Protocol [class]
- module.add_class('Icmpv6L4Protocol', parent=root_module['ns3::Ipv6L4Protocol'])
+ module.add_class('Icmpv6L4Protocol', parent=root_module['ns3::IpL4Protocol'])
## ipv4-global-routing.h (module 'internet'): ns3::Ipv4GlobalRouting [class]
module.add_class('Ipv4GlobalRouting', parent=root_module['ns3::Ipv4RoutingProtocol'])
## ipv4-list-routing.h (module 'internet'): ns3::Ipv4ListRouting [class]
@@ -806,12 +802,12 @@
register_Ns3GlobalRouter_methods(root_module, root_module['ns3::GlobalRouter'])
register_Ns3Icmpv6DestinationUnreachable_methods(root_module, root_module['ns3::Icmpv6DestinationUnreachable'])
register_Ns3Icmpv6Echo_methods(root_module, root_module['ns3::Icmpv6Echo'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
register_Ns3Ipv4Interface_methods(root_module, root_module['ns3::Ipv4Interface'])
register_Ns3Ipv4L3Protocol_methods(root_module, root_module['ns3::Ipv4L3Protocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -830,7 +826,6 @@
register_Ns3Ipv6ExtensionLooseRoutingHeader_methods(root_module, root_module['ns3::Ipv6ExtensionLooseRoutingHeader'])
register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6L3Protocol_methods(root_module, root_module['ns3::Ipv6L3Protocol'])
- register_Ns3Ipv6L4Protocol_methods(root_module, root_module['ns3::Ipv6L4Protocol'])
register_Ns3Ipv6MulticastRoute_methods(root_module, root_module['ns3::Ipv6MulticastRoute'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
@@ -2651,6 +2646,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -2691,11 +2691,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -2726,6 +2735,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -4507,7 +4521,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -7319,6 +7333,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -7758,6 +7777,14 @@
cls.add_method('InitializeChecksum',
'void',
[param('ns3::Ipv4Address', 'source'), param('ns3::Ipv4Address', 'destination'), param('uint8_t', 'protocol')])
+ ## tcp-header.h (module 'internet'): void ns3::TcpHeader::InitializeChecksum(ns3::Ipv6Address source, ns3::Ipv6Address destination, uint8_t protocol) [member function]
+ cls.add_method('InitializeChecksum',
+ 'void',
+ [param('ns3::Ipv6Address', 'source'), param('ns3::Ipv6Address', 'destination'), param('uint8_t', 'protocol')])
+ ## tcp-header.h (module 'internet'): void ns3::TcpHeader::InitializeChecksum(ns3::Address source, ns3::Address destination, uint8_t protocol) [member function]
+ cls.add_method('InitializeChecksum',
+ 'void',
+ [param('ns3::Address', 'source'), param('ns3::Address', 'destination'), param('uint8_t', 'protocol')])
## tcp-header.h (module 'internet'): bool ns3::TcpHeader::IsChecksumOk() const [member function]
cls.add_method('IsChecksumOk',
'bool',
@@ -8198,10 +8225,18 @@
'ns3::TypeId',
[],
is_static=True)
+ ## udp-header.h (module 'internet'): void ns3::UdpHeader::InitializeChecksum(ns3::Address source, ns3::Address destination, uint8_t protocol) [member function]
+ cls.add_method('InitializeChecksum',
+ 'void',
+ [param('ns3::Address', 'source'), param('ns3::Address', 'destination'), param('uint8_t', 'protocol')])
## udp-header.h (module 'internet'): void ns3::UdpHeader::InitializeChecksum(ns3::Ipv4Address source, ns3::Ipv4Address destination, uint8_t protocol) [member function]
cls.add_method('InitializeChecksum',
'void',
[param('ns3::Ipv4Address', 'source'), param('ns3::Ipv4Address', 'destination'), param('uint8_t', 'protocol')])
+ ## udp-header.h (module 'internet'): void ns3::UdpHeader::InitializeChecksum(ns3::Ipv6Address source, ns3::Ipv6Address destination, uint8_t protocol) [member function]
+ cls.add_method('InitializeChecksum',
+ 'void',
+ [param('ns3::Ipv6Address', 'source'), param('ns3::Ipv6Address', 'destination'), param('uint8_t', 'protocol')])
## udp-header.h (module 'internet'): bool ns3::UdpHeader::IsChecksumOk() const [member function]
cls.add_method('IsChecksumOk',
'bool',
@@ -8963,6 +8998,63 @@
[param('uint16_t', 'seq')])
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -9033,10 +9125,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -9325,9 +9417,9 @@
'ns3::Ptr< ns3::NetDevice >',
[param('uint32_t', 'i')],
is_virtual=True)
- ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4L4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv4L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4RoutingProtocol> ns3::Ipv4L3Protocol::GetRoutingProtocol() const [member function]
@@ -9340,10 +9432,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_virtual=True)
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -9364,10 +9456,10 @@
cls.add_method('Receive',
'void',
[param('ns3::Ptr< ns3::NetDevice >', 'device'), param('ns3::Ptr< ns3::Packet const >', 'p'), param('uint16_t', 'protocol'), param('ns3::Address const &', 'from'), param('ns3::Address const &', 'to'), param('ns3::NetDevice::PacketType', 'packetType')])
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')])
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::RemoveAddress(uint32_t interfaceIndex, uint32_t addressIndex) [member function]
cls.add_method('RemoveAddress',
'bool',
@@ -9454,43 +9546,6 @@
visibility='private', is_virtual=True)
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -9610,6 +9665,11 @@
'int',
[],
is_virtual=True)
+ ## ipv4-raw-socket-impl.h (module 'internet'): int ns3::Ipv4RawSocketImpl::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_virtual=True)
## ipv4-raw-socket-impl.h (module 'internet'): int ns3::Ipv4RawSocketImpl::Close() [member function]
cls.add_method('Close',
'int',
@@ -10503,17 +10563,17 @@
cls.add_method('SetNode',
'void',
[param('ns3::Ptr< ns3::Node >', 'node')])
- ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Insert(ns3::Ptr<ns3::Ipv6L4Protocol> protocol) [member function]
+ ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv6L4Protocol >', 'protocol')])
- ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Remove(ns3::Ptr<ns3::Ipv6L4Protocol> protocol) [member function]
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
+ ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv6L4Protocol >', 'protocol')])
- ## ipv6-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv6L4Protocol> ns3::Ipv6L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
+ ## ipv6-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv6L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv6L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv6-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Socket> ns3::Ipv6L3Protocol::CreateRawSocket() [member function]
@@ -10686,33 +10746,6 @@
is_const=True, visibility='private', is_virtual=True)
return
-def register_Ns3Ipv6L4Protocol_methods(root_module, cls):
- ## ipv6-l4-protocol.h (module 'internet'): ns3::Ipv6L4Protocol::Ipv6L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv6-l4-protocol.h (module 'internet'): ns3::Ipv6L4Protocol::Ipv6L4Protocol(ns3::Ipv6L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv6L4Protocol const &', 'arg0')])
- ## ipv6-l4-protocol.h (module 'internet'): int ns3::Ipv6L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv6-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv6L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv6-l4-protocol.h (module 'internet'): ns3::Ipv6L4Protocol::RxStatus_e ns3::Ipv6L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address const & src, ns3::Ipv6Address const & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv6L4Protocol::RxStatus_e',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address const &', 'src'), param('ns3::Ipv6Address const &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv6-l4-protocol.h (module 'internet'): void ns3::Ipv6L4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- return
-
def register_Ns3Ipv6MulticastRoute_methods(root_module, cls):
cls.add_output_stream_operator()
## ipv6-route.h (module 'internet'): ns3::Ipv6MulticastRoute::Ipv6MulticastRoute(ns3::Ipv6MulticastRoute const & arg0) [copy constructor]
@@ -11894,29 +11927,72 @@
cls.add_method('Allocate',
'ns3::Ipv4EndPoint *',
[param('ns3::Ipv4Address', 'localAddress'), param('uint16_t', 'localPort'), param('ns3::Ipv4Address', 'peerAddress'), param('uint16_t', 'peerPort')])
+ ## tcp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::TcpL4Protocol::Allocate6() [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [])
+ ## tcp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::TcpL4Protocol::Allocate6(ns3::Ipv6Address address) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('ns3::Ipv6Address', 'address')])
+ ## tcp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::TcpL4Protocol::Allocate6(uint16_t port) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('uint16_t', 'port')])
+ ## tcp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::TcpL4Protocol::Allocate6(ns3::Ipv6Address address, uint16_t port) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('ns3::Ipv6Address', 'address'), param('uint16_t', 'port')])
+ ## tcp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::TcpL4Protocol::Allocate6(ns3::Ipv6Address localAddress, uint16_t localPort, ns3::Ipv6Address peerAddress, uint16_t peerPort) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('ns3::Ipv6Address', 'localAddress'), param('uint16_t', 'localPort'), param('ns3::Ipv6Address', 'peerAddress'), param('uint16_t', 'peerPort')])
## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::DeAllocate(ns3::Ipv4EndPoint * endPoint) [member function]
cls.add_method('DeAllocate',
'void',
[param('ns3::Ipv4EndPoint *', 'endPoint')])
+ ## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::DeAllocate(ns3::Ipv6EndPoint * endPoint) [member function]
+ cls.add_method('DeAllocate',
+ 'void',
+ [param('ns3::Ipv6EndPoint *', 'endPoint')])
## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::Send(ns3::Ptr<ns3::Packet> packet, ns3::Ipv4Address saddr, ns3::Ipv4Address daddr, uint16_t sport, uint16_t dport, ns3::Ptr<ns3::NetDevice> oif=0) [member function]
cls.add_method('Send',
'void',
[param('ns3::Ptr< ns3::Packet >', 'packet'), param('ns3::Ipv4Address', 'saddr'), param('ns3::Ipv4Address', 'daddr'), param('uint16_t', 'sport'), param('uint16_t', 'dport'), param('ns3::Ptr< ns3::NetDevice >', 'oif', default_value='0')])
- ## tcp-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::TcpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ ## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::Send(ns3::Ptr<ns3::Packet> packet, ns3::Ipv6Address saddr, ns3::Ipv6Address daddr, uint16_t sport, uint16_t dport, ns3::Ptr<ns3::NetDevice> oif=0) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'packet'), param('ns3::Ipv6Address', 'saddr'), param('ns3::Ipv6Address', 'daddr'), param('uint16_t', 'sport'), param('uint16_t', 'dport'), param('ns3::Ptr< ns3::NetDevice >', 'oif', default_value='0')])
+ ## tcp-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::TcpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
+ 'ns3::IpL4Protocol::RxStatus',
[param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
is_virtual=True)
+ ## tcp-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::TcpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> interface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'interface')],
+ is_virtual=True)
## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::SetDownTarget(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
cls.add_method('SetDownTarget',
'void',
[param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
is_virtual=True)
+ ## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::SetDownTarget6(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_virtual=True)
## tcp-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::TcpL4Protocol::GetDownTarget() const [member function]
cls.add_method('GetDownTarget',
'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
[],
is_const=True, is_virtual=True)
+ ## tcp-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::TcpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True, is_virtual=True)
## tcp-l4-protocol.h (module 'internet'): void ns3::TcpL4Protocol::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
@@ -12052,10 +12128,34 @@
cls.add_method('Allocate',
'ns3::Ipv4EndPoint *',
[param('ns3::Ipv4Address', 'localAddress'), param('uint16_t', 'localPort'), param('ns3::Ipv4Address', 'peerAddress'), param('uint16_t', 'peerPort')])
+ ## udp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::UdpL4Protocol::Allocate6() [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [])
+ ## udp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::UdpL4Protocol::Allocate6(ns3::Ipv6Address address) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('ns3::Ipv6Address', 'address')])
+ ## udp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::UdpL4Protocol::Allocate6(uint16_t port) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('uint16_t', 'port')])
+ ## udp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::UdpL4Protocol::Allocate6(ns3::Ipv6Address address, uint16_t port) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('ns3::Ipv6Address', 'address'), param('uint16_t', 'port')])
+ ## udp-l4-protocol.h (module 'internet'): ns3::Ipv6EndPoint * ns3::UdpL4Protocol::Allocate6(ns3::Ipv6Address localAddress, uint16_t localPort, ns3::Ipv6Address peerAddress, uint16_t peerPort) [member function]
+ cls.add_method('Allocate6',
+ 'ns3::Ipv6EndPoint *',
+ [param('ns3::Ipv6Address', 'localAddress'), param('uint16_t', 'localPort'), param('ns3::Ipv6Address', 'peerAddress'), param('uint16_t', 'peerPort')])
## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::DeAllocate(ns3::Ipv4EndPoint * endPoint) [member function]
cls.add_method('DeAllocate',
'void',
[param('ns3::Ipv4EndPoint *', 'endPoint')])
+ ## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::DeAllocate(ns3::Ipv6EndPoint * endPoint) [member function]
+ cls.add_method('DeAllocate',
+ 'void',
+ [param('ns3::Ipv6EndPoint *', 'endPoint')])
## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::Send(ns3::Ptr<ns3::Packet> packet, ns3::Ipv4Address saddr, ns3::Ipv4Address daddr, uint16_t sport, uint16_t dport) [member function]
cls.add_method('Send',
'void',
@@ -12064,26 +12164,54 @@
cls.add_method('Send',
'void',
[param('ns3::Ptr< ns3::Packet >', 'packet'), param('ns3::Ipv4Address', 'saddr'), param('ns3::Ipv4Address', 'daddr'), param('uint16_t', 'sport'), param('uint16_t', 'dport'), param('ns3::Ptr< ns3::Ipv4Route >', 'route')])
- ## udp-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::UdpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> interface) [member function]
+ ## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::Send(ns3::Ptr<ns3::Packet> packet, ns3::Ipv6Address saddr, ns3::Ipv6Address daddr, uint16_t sport, uint16_t dport) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'packet'), param('ns3::Ipv6Address', 'saddr'), param('ns3::Ipv6Address', 'daddr'), param('uint16_t', 'sport'), param('uint16_t', 'dport')])
+ ## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::Send(ns3::Ptr<ns3::Packet> packet, ns3::Ipv6Address saddr, ns3::Ipv6Address daddr, uint16_t sport, uint16_t dport, ns3::Ptr<ns3::Ipv6Route> route) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'packet'), param('ns3::Ipv6Address', 'saddr'), param('ns3::Ipv6Address', 'daddr'), param('uint16_t', 'sport'), param('uint16_t', 'dport'), param('ns3::Ptr< ns3::Ipv6Route >', 'route')])
+ ## udp-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::UdpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> interface) [member function]
cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
+ 'ns3::IpL4Protocol::RxStatus',
[param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'interface')],
is_virtual=True)
+ ## udp-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::UdpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> interface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'interface')],
+ is_virtual=True)
## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
cls.add_method('ReceiveIcmp',
'void',
[param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
is_virtual=True)
+ ## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::SetDownTarget(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
cls.add_method('SetDownTarget',
'void',
[param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
is_virtual=True)
+ ## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::SetDownTarget6(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_virtual=True)
## udp-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::UdpL4Protocol::GetDownTarget() const [member function]
cls.add_method('GetDownTarget',
'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
[],
is_const=True, is_virtual=True)
+ ## udp-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::UdpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True, is_virtual=True)
## udp-l4-protocol.h (module 'internet'): void ns3::UdpL4Protocol::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
@@ -12344,6 +12472,11 @@
'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
[],
is_const=True, is_virtual=True)
+ ## icmpv4-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::Icmpv4L4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True, is_virtual=True)
## icmpv4-l4-protocol.h (module 'internet'): int ns3::Icmpv4L4Protocol::GetProtocolNumber() const [member function]
cls.add_method('GetProtocolNumber',
'int',
@@ -12359,11 +12492,16 @@
'ns3::TypeId',
[],
is_static=True)
- ## icmpv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Icmpv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ ## icmpv4-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::Icmpv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
+ 'ns3::IpL4Protocol::RxStatus',
[param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
is_virtual=True)
+ ## icmpv4-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::Icmpv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_virtual=True)
## icmpv4-l4-protocol.h (module 'internet'): void ns3::Icmpv4L4Protocol::SendDestUnreachFragNeeded(ns3::Ipv4Header header, ns3::Ptr<const ns3::Packet> orgData, uint16_t nextHopMtu) [member function]
cls.add_method('SendDestUnreachFragNeeded',
'void',
@@ -12381,6 +12519,11 @@
'void',
[param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
is_virtual=True)
+ ## icmpv4-l4-protocol.h (module 'internet'): void ns3::Icmpv4L4Protocol::SetDownTarget6(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_virtual=True)
## icmpv4-l4-protocol.h (module 'internet'): void ns3::Icmpv4L4Protocol::SetNode(ns3::Ptr<ns3::Node> node) [member function]
cls.add_method('SetNode',
'void',
@@ -12471,10 +12614,15 @@
'void',
[],
is_virtual=True)
- ## icmpv6-l4-protocol.h (module 'internet'): ns3::Ipv6L4Protocol::RxStatus_e ns3::Icmpv6L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address const & src, ns3::Ipv6Address const & dst, ns3::Ptr<ns3::Ipv6Interface> interface) [member function]
+ ## icmpv6-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::Icmpv6L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> interface) [member function]
cls.add_method('Receive',
- 'ns3::Ipv6L4Protocol::RxStatus_e',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address const &', 'src'), param('ns3::Ipv6Address const &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'interface')],
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'interface')],
+ is_virtual=True)
+ ## icmpv6-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::Icmpv6L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> interface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'interface')],
is_virtual=True)
## icmpv6-l4-protocol.h (module 'internet'): void ns3::Icmpv6L4Protocol::SendEchoReply(ns3::Ipv6Address src, ns3::Ipv6Address dst, uint16_t id, uint16_t seq, ns3::Ptr<ns3::Packet> data) [member function]
cls.add_method('SendEchoReply',
@@ -12565,6 +12713,26 @@
'void',
[],
visibility='protected', is_virtual=True)
+ ## icmpv6-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::Icmpv6L4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True, visibility='private', is_virtual=True)
+ ## icmpv6-l4-protocol.h (module 'internet'): ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> ns3::Icmpv6L4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_const=True, visibility='private', is_virtual=True)
+ ## icmpv6-l4-protocol.h (module 'internet'): void ns3::Icmpv6L4Protocol::SetDownTarget(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr<ns3::Ipv4Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ visibility='private', is_virtual=True)
+ ## icmpv6-l4-protocol.h (module 'internet'): void ns3::Icmpv6L4Protocol::SetDownTarget6(ns3::Callback<void, ns3::Ptr<ns3::Packet>, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr<ns3::Ipv6Route>, ns3::empty, ns3::empty, ns3::empty, ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ visibility='private', is_virtual=True)
return
def register_Ns3Ipv4GlobalRouting_methods(root_module, cls):
--- a/src/internet/doc/internet-stack.rst Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/doc/internet-stack.rst Fri Mar 02 19:43:49 2012 +0100
@@ -70,7 +70,7 @@
~~~~~~~~~~~~~~~~~
At the lowest layer, sitting above the NetDevices, are the "layer 3" protocols,
-including IPv4, IPv6 (in the future), and ARP. The class
+including IPv4, IPv6, and ARP. The class
:cpp:class:`Ipv4L3Protocol` is an implementation class whose public interface is
typically class :cpp:class:`Ipv4`, but the
Ipv4L3Protocol public API is also used internally at present.
@@ -137,7 +137,12 @@
Config::SetDefault ("ns3::ArpCache::PendingQueueSize", UintegerValue (MAX_BURST_SIZE/L2MTU*3));
-The IPv6 implementation follows a similar architecture.
+The IPv6 implementation follows a similar architecture. Dual-stacked nodes (one with
+support for both IPv4 and IPv6) will allow an IPv6 socket to receive IPv4 connections
+as a standard dual-stacked system does. A socket bound and listening to an IPv6 endpoint
+can receive an IPv4 connection and will return the remote address as an IPv4-mapped address.
+Support for the IPV6_V6ONLY socket option does not currently exist.
+
Layer-4 protocols and sockets
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -156,8 +161,14 @@
The above will query the node to get a pointer to its UDP socket factory, will
create one such socket, and will use the socket with an API similar to the
-C-based sockets API, such as ``Connect ()`` and ``Send ()``. See the chapter on
-|ns3| sockets for more information.
+C-based sockets API, such as ``Connect ()`` and ``Send ()``. The address passed
+to the ``Bind ()``, ``Connect ()``, or ``Send ()`` functions may be a
+:cpp:class:`Ipv4Address`, :cpp:class:`Ipv6Address`, or :cpp:class:`Address`.
+If a :cpp:class:`Address` is passed in and contains anything other than
+a :cpp:class:`Ipv4Address` or :cpp:class:`Ipv6Address`, these functions will
+return an error. The ``Bind (void)`` and ``Bind6 (void)`` functions bind to
+"0.0.0.0" and "::" respectively.
+See the chapter on |ns3| sockets for more information.
We have described so far a socket factory (e.g. ``class Udp``) and a socket,
which may be specialized (e.g., class :cpp:class:`UdpSocket`). There are a few
--- a/src/internet/doc/ipv6.rst Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/doc/ipv6.rst Fri Mar 02 19:43:49 2012 +0100
@@ -5,6 +5,3 @@
*Placeholder chapter*
-IPv6 models are being added to ns-3. A paper on the IPv6 models was published in
-WNS2 2008: `<http://lsiit.u-strasbg.fr/Publications/2008/VMM08/>`_.
-
--- a/src/internet/examples/main-simple.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/examples/main-simple.cc Fri Mar 02 19:43:49 2012 +0100
@@ -25,7 +25,7 @@
SocketPrinter (Ptr<Socket> socket)
{
Ptr<Packet> packet;
- while (packet = socket->Recv ())
+ while ((packet = socket->Recv ()))
{
std::cout << "at=" << Simulator::Now ().GetSeconds () << "s, rx bytes=" << packet->GetSize () << std::endl;
}
--- a/src/internet/helper/internet-stack-helper.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/helper/internet-stack-helper.cc Fri Mar 02 19:43:49 2012 +0100
@@ -492,9 +492,6 @@
result = ipv4L3Protocol->TraceConnectWithoutContext ("Rx", MakeCallback (&Ipv4L3ProtocolRxTxSink));
NS_ASSERT_MSG (result == true, "InternetStackHelper::EnablePcapIpv4Internal(): "
"Unable to connect ipv4L3Protocol \"Rx\"");
- // cast result to void, to suppress ‘result’ set but not used compiler-warning
- // for optimized builds
- (void) result;
}
g_interfaceFileMapIpv4[std::make_pair (ipv4, interface)] = file;
@@ -587,9 +584,6 @@
result = ipv6L3Protocol->TraceConnectWithoutContext ("Rx", MakeCallback (&Ipv6L3ProtocolRxTxSink));
NS_ASSERT_MSG (result == true, "InternetStackHelper::EnablePcapIpv6Internal(): "
"Unable to connect ipv6L3Protocol \"Rx\"");
- // cast found to void, to suppress ‘result’ set but not used compiler-warning
- // for optimized builds
- (void) result;
}
g_interfaceFileMapIpv6[std::make_pair (ipv6, interface)] = file;
@@ -822,8 +816,8 @@
// be aggregated to the same node.
//
Ptr<Ipv4L3Protocol> ipv4L3Protocol = ipv4->GetObject<Ipv4L3Protocol> ();
- bool __attribute__ ((unused)) result = ipv4L3Protocol->TraceConnectWithoutContext ("Drop",
- MakeBoundCallback (&Ipv4L3ProtocolDropSinkWithoutContext, theStream));
+ bool result = ipv4L3Protocol->TraceConnectWithoutContext ("Drop",
+ MakeBoundCallback (&Ipv4L3ProtocolDropSinkWithoutContext, theStream));
NS_ASSERT_MSG (result == true, "InternetStackHelper::EnableAsciiIpv4Internal(): "
"Unable to connect ipv4L3Protocol \"Drop\"");
result = ipv4L3Protocol->TraceConnectWithoutContext ("Tx",
@@ -1103,8 +1097,8 @@
// be aggregated to the same node.
//
Ptr<Ipv6L3Protocol> ipv6L3Protocol = ipv6->GetObject<Ipv6L3Protocol> ();
- bool __attribute__ ((unused)) result = ipv6L3Protocol->TraceConnectWithoutContext ("Drop",
- MakeBoundCallback (&Ipv6L3ProtocolDropSinkWithoutContext, theStream));
+ bool result = ipv6L3Protocol->TraceConnectWithoutContext ("Drop",
+ MakeBoundCallback (&Ipv6L3ProtocolDropSinkWithoutContext, theStream));
NS_ASSERT_MSG (result == true, "InternetStackHelper::EnableAsciiIpv6Internal(): "
"Unable to connect ipv6L3Protocol \"Drop\"");
result = ipv6L3Protocol->TraceConnectWithoutContext ("Tx",
--- a/src/internet/model/icmpv4-l4-protocol.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/icmpv4-l4-protocol.cc Fri Mar 02 19:43:49 2012 +0100
@@ -22,7 +22,7 @@
Icmpv4L4Protocol::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::Icmpv4L4Protocol")
- .SetParent<Ipv4L4Protocol> ()
+ .SetParent<IpL4Protocol> ()
.AddConstructor<Icmpv4L4Protocol> ()
;
return tid;
@@ -180,7 +180,7 @@
const uint8_t payload[8])
{
Ptr<Ipv4L3Protocol> ipv4 = m_node->GetObject<Ipv4L3Protocol> ();
- Ptr<Ipv4L4Protocol> l4 = ipv4->GetProtocol (ipHeader.GetProtocol ());
+ Ptr<IpL4Protocol> l4 = ipv4->GetProtocol (ipHeader.GetProtocol ());
if (l4 != 0)
{
l4->ReceiveIcmp (source, ipHeader.GetTtl (), icmp.GetType (), icmp.GetCode (),
@@ -219,7 +219,7 @@
Forward (source, icmp, 0, ipHeader, payload);
}
-enum Ipv4L4Protocol::RxStatus
+enum IpL4Protocol::RxStatus
Icmpv4L4Protocol::Receive (Ptr<Packet> p,
Ipv4Header const &header,
Ptr<Ipv4Interface> incomingInterface)
@@ -242,7 +242,16 @@
NS_LOG_DEBUG (icmp << " " << *p);
break;
}
- return Ipv4L4Protocol::RX_OK;
+ return IpL4Protocol::RX_OK;
+}
+enum IpL4Protocol::RxStatus
+Icmpv4L4Protocol::Receive (Ptr<Packet> p,
+ Ipv6Address &src,
+ Ipv6Address &dst,
+ Ptr<Ipv6Interface> incomingInterface)
+{
+ NS_LOG_FUNCTION (this << p << src << dst << incomingInterface);
+ return IpL4Protocol::RX_ENDPOINT_UNREACH;
}
void
Icmpv4L4Protocol::DoDispose (void)
@@ -250,19 +259,30 @@
NS_LOG_FUNCTION (this);
m_node = 0;
m_downTarget.Nullify ();
- Ipv4L4Protocol::DoDispose ();
+ IpL4Protocol::DoDispose ();
}
void
-Icmpv4L4Protocol::SetDownTarget (Ipv4L4Protocol::DownTargetCallback callback)
+Icmpv4L4Protocol::SetDownTarget (IpL4Protocol::DownTargetCallback callback)
{
m_downTarget = callback;
}
-Ipv4L4Protocol::DownTargetCallback
+void
+Icmpv4L4Protocol::SetDownTarget6 (IpL4Protocol::DownTargetCallback6 callback)
+{
+}
+
+IpL4Protocol::DownTargetCallback
Icmpv4L4Protocol::GetDownTarget (void) const
{
return m_downTarget;
}
+IpL4Protocol::DownTargetCallback6
+Icmpv4L4Protocol::GetDownTarget6 (void) const
+{
+ return (IpL4Protocol::DownTargetCallback6)NULL;
+}
+
} // namespace ns3
--- a/src/internet/model/icmpv4-l4-protocol.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/icmpv4-l4-protocol.h Fri Mar 02 19:43:49 2012 +0100
@@ -1,7 +1,7 @@
#ifndef ICMPV4_L4_PROTOCOL_H
#define ICMPV4_L4_PROTOCOL_H
-#include "ipv4-l4-protocol.h"
+#include "ip-l4-protocol.h"
#include "icmpv4.h"
#include "ns3/ipv4-address.h"
@@ -11,7 +11,7 @@
class Ipv4Interface;
class Ipv4Route;
-class Icmpv4L4Protocol : public Ipv4L4Protocol
+class Icmpv4L4Protocol : public IpL4Protocol
{
public:
static TypeId GetTypeId (void);
@@ -24,18 +24,24 @@
static uint16_t GetStaticProtocolNumber (void);
virtual int GetProtocolNumber (void) const;
- virtual enum Ipv4L4Protocol::RxStatus Receive (Ptr<Packet> p,
+ virtual enum IpL4Protocol::RxStatus Receive (Ptr<Packet> p,
Ipv4Header const &header,
Ptr<Ipv4Interface> incomingInterface);
+ virtual enum IpL4Protocol::RxStatus Receive (Ptr<Packet> p,
+ Ipv6Address &src,
+ Ipv6Address &dst,
+ Ptr<Ipv6Interface> incomingInterface);
void SendDestUnreachFragNeeded (Ipv4Header header, Ptr<const Packet> orgData, uint16_t nextHopMtu);
void SendTimeExceededTtl (Ipv4Header header, Ptr<const Packet> orgData);
void SendDestUnreachPort (Ipv4Header header, Ptr<const Packet> orgData);
- // From Ipv4L4Protocol
- virtual void SetDownTarget (Ipv4L4Protocol::DownTargetCallback cb);
- // From Ipv4L4Protocol
- virtual Ipv4L4Protocol::DownTargetCallback GetDownTarget (void) const;
+ // From IpL4Protocol
+ virtual void SetDownTarget (IpL4Protocol::DownTargetCallback cb);
+ virtual void SetDownTarget6 (IpL4Protocol::DownTargetCallback6 cb);
+ // From IpL4Protocol
+ virtual IpL4Protocol::DownTargetCallback GetDownTarget (void) const;
+ virtual IpL4Protocol::DownTargetCallback6 GetDownTarget6 (void) const;
protected:
/*
* This function will notify other components connected to the node that a new stack member is now connected
@@ -66,7 +72,7 @@
virtual void DoDispose (void);
Ptr<Node> m_node;
- Ipv4L4Protocol::DownTargetCallback m_downTarget;
+ IpL4Protocol::DownTargetCallback m_downTarget;
};
} // namespace ns3
--- a/src/internet/model/icmpv6-l4-protocol.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/icmpv6-l4-protocol.cc Fri Mar 02 19:43:49 2012 +0100
@@ -66,7 +66,7 @@
TypeId Icmpv6L4Protocol::GetTypeId ()
{
static TypeId tid = TypeId ("ns3::Icmpv6L4Protocol")
- .SetParent<Ipv6L4Protocol> ()
+ .SetParent<IpL4Protocol> ()
.AddConstructor<Icmpv6L4Protocol> ()
.AddAttribute ("DAD", "Always do DAD check.",
BooleanValue (true),
@@ -97,9 +97,10 @@
cache = 0;
}
m_cacheList.clear ();
+ m_downTarget.Nullify();
m_node = 0;
- Ipv6L4Protocol::DoDispose ();
+ IpL4Protocol::DoDispose ();
}
void Icmpv6L4Protocol::NotifyNewAggregate ()
@@ -117,6 +118,7 @@
ipv6->Insert (this);
Ptr<Ipv6RawSocketFactoryImpl> rawFactory = CreateObject<Ipv6RawSocketFactoryImpl> ();
ipv6->AggregateObject (rawFactory);
+ this->SetDownTarget6 (MakeCallback (&Ipv6L3Protocol::Send, ipv6));
}
}
}
@@ -174,7 +176,13 @@
interface->Send (p, Ipv6Address::MakeSolicitedAddress (target));
}
-enum Ipv6L4Protocol::RxStatus_e Icmpv6L4Protocol::Receive (Ptr<Packet> packet, Ipv6Address const &src, Ipv6Address const &dst, Ptr<Ipv6Interface> interface)
+enum IpL4Protocol::RxStatus Icmpv6L4Protocol::Receive (Ptr<Packet> packet, Ipv4Header const &header, Ptr<Ipv4Interface> interface)
+{
+ NS_LOG_FUNCTION (this << packet << header);
+ return IpL4Protocol::RX_ENDPOINT_UNREACH;
+}
+
+enum IpL4Protocol::RxStatus Icmpv6L4Protocol::Receive (Ptr<Packet> packet, Ipv6Address &src, Ipv6Address &dst, Ptr<Ipv6Interface> interface)
{
NS_LOG_FUNCTION (this << packet << src << dst << interface);
Ptr<Packet> p = packet->Copy ();
@@ -225,7 +233,7 @@
break;
}
- return Ipv6L4Protocol::RX_OK;
+ return IpL4Protocol::RX_OK;
}
void Icmpv6L4Protocol::HandleEchoRequest (Ptr<Packet> packet, Ipv6Address const &src, Ipv6Address const &dst, Ptr<Ipv6Interface> interface)
@@ -751,7 +759,7 @@
tag.SetTtl (ttl);
packet->AddPacketTag (tag);
- ipv6->Send (packet, src, dst, PROT_NUMBER, 0);
+ m_downTarget (packet, src, dst, PROT_NUMBER, 0);
}
void Icmpv6L4Protocol::SendMessage (Ptr<Packet> packet, Ipv6Address dst, Icmpv6Header& icmpv6Hdr, uint8_t ttl)
@@ -777,7 +785,7 @@
icmpv6Hdr.CalculatePseudoHeaderChecksum (src, dst, packet->GetSize () + icmpv6Hdr.GetSerializedSize (), PROT_NUMBER);
packet->AddHeader (icmpv6Hdr);
- ipv6->Send (packet, src, dst, PROT_NUMBER, route);
+ m_downTarget (packet, src, dst, PROT_NUMBER, route);
}
else
{
@@ -1244,5 +1252,28 @@
}
}
+void
+Icmpv6L4Protocol::SetDownTarget (IpL4Protocol::DownTargetCallback callback)
+{
+}
+
+void
+Icmpv6L4Protocol::SetDownTarget6 (IpL4Protocol::DownTargetCallback6 callback)
+{
+ m_downTarget = callback;
+}
+
+IpL4Protocol::DownTargetCallback
+Icmpv6L4Protocol::GetDownTarget (void) const
+{
+ return (IpL4Protocol::DownTargetCallback)NULL;
+}
+
+IpL4Protocol::DownTargetCallback6
+Icmpv6L4Protocol::GetDownTarget6 (void) const
+{
+ return m_downTarget;
+}
+
} /* namespace ns3 */
--- a/src/internet/model/icmpv6-l4-protocol.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/icmpv6-l4-protocol.h Fri Mar 02 19:43:49 2012 +0100
@@ -27,7 +27,7 @@
#include "ns3/ipv6-address.h"
#include "icmpv6-header.h"
-#include "ipv6-l4-protocol.h"
+#include "ip-l4-protocol.h"
namespace ns3
{
@@ -42,7 +42,7 @@
* \class Icmpv6L4Protocol
* \brief An implementation of the ICMPv6 protocol.
*/
-class Icmpv6L4Protocol : public Ipv6L4Protocol
+class Icmpv6L4Protocol : public IpL4Protocol
{
public:
/**
@@ -329,7 +329,12 @@
* \param dst destination address
* \param interface the interface from which the packet is coming
*/
- virtual enum Ipv6L4Protocol::RxStatus_e Receive (Ptr<Packet> p, Ipv6Address const &src, Ipv6Address const &dst, Ptr<Ipv6Interface> interface);
+ virtual enum IpL4Protocol::RxStatus Receive (Ptr<Packet> p,
+ Ipv4Header const &header,
+ Ptr<Ipv4Interface> interface);
+ virtual enum IpL4Protocol::RxStatus Receive (Ptr<Packet> p,
+ Ipv6Address &src, Ipv6Address &dst,
+ Ptr<Ipv6Interface> interface);
/**
* \brief Function called when DAD timeout.
@@ -477,6 +482,16 @@
* \param device the device
*/
Ptr<NdiscCache> FindCache (Ptr<NetDevice> device);
+
+ // From IpL4Protocol
+ virtual void SetDownTarget (IpL4Protocol::DownTargetCallback cb);
+ virtual void SetDownTarget6 (IpL4Protocol::DownTargetCallback6 cb);
+ // From IpL4Protocol
+ virtual IpL4Protocol::DownTargetCallback GetDownTarget (void) const;
+ virtual IpL4Protocol::DownTargetCallback6 GetDownTarget6 (void) const;
+
+ IpL4Protocol::DownTargetCallback6 m_downTarget;
+
};
} /* namespace ns3 */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/internet/model/ip-l4-protocol.cc Fri Mar 02 19:43:49 2012 +0100
@@ -0,0 +1,61 @@
+// -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*-
+//
+// Copyright (c) 2006 Georgia Tech Research Corporation
+//
+// This program is free software; you can redistribute it and/or modify
+// 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
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Author: George F. Riley<riley@ece.gatech.edu>
+//
+
+// NS3 - Layer 4 Protocol base class
+// George F. Riley, Georgia Tech, Spring 2007
+
+#include "ip-l4-protocol.h"
+#include "ns3/uinteger.h"
+
+namespace ns3 {
+
+NS_OBJECT_ENSURE_REGISTERED (IpL4Protocol);
+
+TypeId
+IpL4Protocol::GetTypeId (void)
+{
+ static TypeId tid = TypeId ("ns3::IpL4Protocol")
+ .SetParent<Object> ()
+ .AddAttribute ("ProtocolNumber", "The Ip protocol number.",
+ UintegerValue (0),
+ MakeUintegerAccessor (&IpL4Protocol::GetProtocolNumber),
+ MakeUintegerChecker<int> ())
+ ;
+ return tid;
+}
+
+IpL4Protocol::~IpL4Protocol ()
+{
+}
+
+void
+IpL4Protocol::ReceiveIcmp (Ipv4Address icmpSource, uint8_t icmpTtl,
+ uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo,
+ Ipv4Address payloadSource,Ipv4Address payloadDestination,
+ const uint8_t payload[8])
+{}
+void
+IpL4Protocol::ReceiveIcmp (Ipv6Address icmpSource, uint8_t icmpTtl,
+ uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo,
+ Ipv6Address payloadSource, Ipv6Address payloadDestination,
+ const uint8_t payload[8])
+{}
+
+} //namespace ns3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/internet/model/ip-l4-protocol.h Fri Mar 02 19:43:49 2012 +0100
@@ -0,0 +1,127 @@
+// -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*-
+//
+// Copyright (c) 2006 Georgia Tech Research Corporation
+//
+// This program is free software; you can redistribute it and/or modify
+// 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
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Author: George F. Riley<riley@ece.gatech.edu>
+//
+
+// NS3 - Layer 4 Protocol base class
+// George F. Riley, Georgia Tech, Spring 2007
+
+#ifndef IP_L4_PROTOCOL_H
+#define IP_L4_PROTOCOL_H
+
+#include "ns3/object.h"
+#include "ns3/callback.h"
+#include "ns3/ipv4-header.h"
+#include "ns3/ipv6-header.h"
+#include "ns3/ipv6-interface.h"
+
+namespace ns3 {
+
+class Packet;
+class Ipv4Address;
+class Ipv4Interface;
+class Ipv4Route;
+class Ipv6Route;
+
+/**
+ * \brief L4 Protocol abstract base class
+ *
+ * This is an abstract base class for layer four protocols which use IP as
+ * the network layer.
+ */
+class IpL4Protocol : public Object
+{
+public:
+ enum RxStatus {
+ RX_OK,
+ RX_CSUM_FAILED,
+ RX_ENDPOINT_CLOSED,
+ RX_ENDPOINT_UNREACH
+ };
+
+ static TypeId GetTypeId (void);
+
+ virtual ~IpL4Protocol ();
+
+ /**
+ * \returns the protocol number of this protocol.
+ */
+ virtual int GetProtocolNumber (void) const = 0;
+
+ /**
+ * \param p packet to forward up
+ * \param header IPv4 Header information
+ * \param incomingInterface the Ipv4Interface on which the packet arrived
+ *
+ * Called from lower-level layers to send the packet up
+ * in the stack.
+ */
+ virtual enum RxStatus Receive (Ptr<Packet> p,
+ Ipv4Header const &header,
+ Ptr<Ipv4Interface> incomingInterface) = 0;
+ virtual enum RxStatus Receive (Ptr<Packet> p,
+ Ipv6Address &src,
+ Ipv6Address &dst,
+ Ptr<Ipv6Interface> incomingInterface) = 0;
+
+ /**
+ * \param icmpSource the source address of the icmp message
+ * \param icmpTtl the ttl of the icmp message
+ * \param icmpType the 'type' field of the icmp message
+ * \param icmpCode the 'code' field of the icmp message
+ * \param icmpInfo extra information dependent on the icmp message
+ * generated by Icmpv4L4Protocol
+ * \param payloadSource the source address of the packet which triggered
+ * the icmp message
+ * \param payloadDestination the destination address of the packet which
+ * triggered the icmp message.
+ * \param payload the first 8 bytes of the udp header of the packet
+ * which triggered the icmp message.
+ */
+ virtual void ReceiveIcmp (Ipv4Address icmpSource, uint8_t icmpTtl,
+ uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo,
+ Ipv4Address payloadSource, Ipv4Address payloadDestination,
+ const uint8_t payload[8]);
+ virtual void ReceiveIcmp (Ipv6Address icmpSource, uint8_t icmpTtl,
+ uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo,
+ Ipv6Address payloadSource, Ipv6Address payloadDestination,
+ const uint8_t payload[8]);
+
+ typedef Callback<void,Ptr<Packet>, Ipv4Address, Ipv4Address, uint8_t, Ptr<Ipv4Route> > DownTargetCallback;
+ typedef Callback<void,Ptr<Packet>, Ipv6Address, Ipv6Address, uint8_t, Ptr<Ipv6Route> > DownTargetCallback6;
+ /**
+ * This method allows a caller to set the current down target callback
+ * set for this L4 protocol
+ *
+ * \param cb current Callback for the L4 protocol
+ */
+ virtual void SetDownTarget (DownTargetCallback cb) = 0;
+ virtual void SetDownTarget6 (DownTargetCallback6 cb) = 0;
+ /**
+ * This method allows a caller to get the current down target callback
+ * set for this L4 protocol, for
+ *
+ * \return current Callback for the L4 protocol
+ */
+ virtual DownTargetCallback GetDownTarget (void) const = 0;
+ virtual DownTargetCallback6 GetDownTarget6 (void) const = 0;
+};
+
+} // Namespace ns3
+
+#endif
--- a/src/internet/model/ipv4-end-point.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv4-end-point.cc Fri Mar 02 19:43:49 2012 +0100
@@ -40,6 +40,9 @@
{
m_destroyCallback ();
}
+ m_rxCallback.Nullify ();
+ m_icmpCallback.Nullify ();
+ m_destroyCallback.Nullify ();
}
Ipv4Address
--- a/src/internet/model/ipv4-l3-protocol.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv4-l3-protocol.cc Fri Mar 02 19:43:49 2012 +0100
@@ -36,7 +36,6 @@
#include "loopback-net-device.h"
#include "arp-l3-protocol.h"
#include "ipv4-l3-protocol.h"
-#include "ipv4-l4-protocol.h"
#include "icmpv4-l4-protocol.h"
#include "ipv4-interface.h"
#include "ipv4-raw-socket-impl.h"
@@ -98,11 +97,11 @@
}
void
-Ipv4L3Protocol::Insert (Ptr<Ipv4L4Protocol> protocol)
+Ipv4L3Protocol::Insert (Ptr<IpL4Protocol> protocol)
{
m_protocols.push_back (protocol);
}
-Ptr<Ipv4L4Protocol>
+Ptr<IpL4Protocol>
Ipv4L3Protocol::GetProtocol (int protocolNumber) const
{
for (L4List_t::const_iterator i = m_protocols.begin (); i != m_protocols.end (); ++i)
@@ -115,7 +114,7 @@
return 0;
}
void
-Ipv4L3Protocol::Remove (Ptr<Ipv4L4Protocol> protocol)
+Ipv4L3Protocol::Remove (Ptr<IpL4Protocol> protocol)
{
m_protocols.remove (protocol);
}
@@ -234,7 +233,7 @@
// First check whether an existing LoopbackNetDevice exists on the node
for (uint32_t i = 0; i < m_node->GetNDevices (); i++)
{
- if (device = DynamicCast<LoopbackNetDevice> (m_node->GetDevice (i)))
+ if ((device = DynamicCast<LoopbackNetDevice> (m_node->GetDevice (i))))
{
break;
}
@@ -512,7 +511,7 @@
Ptr<Icmpv4L4Protocol>
Ipv4L3Protocol::GetIcmp (void) const
{
- Ptr<Ipv4L4Protocol> prot = GetProtocol (Icmpv4L4Protocol::GetStaticProtocolNumber ());
+ Ptr<IpL4Protocol> prot = GetProtocol (Icmpv4L4Protocol::GetStaticProtocolNumber ());
if (prot != 0)
{
return prot->GetObject<Icmpv4L4Protocol> ();
@@ -863,22 +862,22 @@
m_localDeliverTrace (ip, packet, iif);
- Ptr<Ipv4L4Protocol> protocol = GetProtocol (ip.GetProtocol ());
+ Ptr<IpL4Protocol> protocol = GetProtocol (ip.GetProtocol ());
if (protocol != 0)
{
// we need to make a copy in the unlikely event we hit the
// RX_ENDPOINT_UNREACH codepath
Ptr<Packet> copy = p->Copy ();
- enum Ipv4L4Protocol::RxStatus status =
+ enum IpL4Protocol::RxStatus status =
protocol->Receive (p, ip, GetInterface (iif));
switch (status) {
- case Ipv4L4Protocol::RX_OK:
+ case IpL4Protocol::RX_OK:
// fall through
- case Ipv4L4Protocol::RX_ENDPOINT_CLOSED:
+ case IpL4Protocol::RX_ENDPOINT_CLOSED:
// fall through
- case Ipv4L4Protocol::RX_CSUM_FAILED:
+ case IpL4Protocol::RX_CSUM_FAILED:
break;
- case Ipv4L4Protocol::RX_ENDPOINT_UNREACH:
+ case IpL4Protocol::RX_ENDPOINT_UNREACH:
if (ip.GetDestination ().IsBroadcast () == true ||
ip.GetDestination ().IsMulticast () == true)
{
--- a/src/internet/model/ipv4-l3-protocol.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv4-l3-protocol.h Fri Mar 02 19:43:49 2012 +0100
@@ -47,7 +47,7 @@
class Node;
class Socket;
class Ipv4RawSocketImpl;
-class Ipv4L4Protocol;
+class IpL4Protocol;
class Icmpv4L4Protocol;
@@ -117,7 +117,7 @@
* a working L4 Protocol and returned from this method.
* The caller does not get ownership of the returned pointer.
*/
- void Insert (Ptr<Ipv4L4Protocol> protocol);
+ void Insert (Ptr<IpL4Protocol> protocol);
/**
* \param protocolNumber number of protocol to lookup
* in this L4 Demux
@@ -127,14 +127,14 @@
* to forward packets up the stack to the right protocol.
* It is also called from NodeImpl::GetUdp for example.
*/
- Ptr<Ipv4L4Protocol> GetProtocol (int protocolNumber) const;
+ Ptr<IpL4Protocol> GetProtocol (int protocolNumber) const;
/**
* \param protocol protocol to remove from this demux.
*
* The input value to this method should be the value
* returned from the Ipv4L4Protocol::Insert method.
*/
- void Remove (Ptr<Ipv4L4Protocol> protocol);
+ void Remove (Ptr<IpL4Protocol> protocol);
/**
* \param ttl default ttl to use
@@ -292,7 +292,7 @@
typedef std::vector<Ptr<Ipv4Interface> > Ipv4InterfaceList;
typedef std::list<Ptr<Ipv4RawSocketImpl> > SocketList;
- typedef std::list<Ptr<Ipv4L4Protocol> > L4List_t;
+ typedef std::list<Ptr<IpL4Protocol> > L4List_t;
bool m_ipForward;
bool m_weakEsModel;
--- a/src/internet/model/ipv4-l4-protocol.cc Fri Mar 02 18:49:54 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-// -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*-
-//
-// Copyright (c) 2006 Georgia Tech Research Corporation
-//
-// This program is free software; you can redistribute it and/or modify
-// 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
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// Author: George F. Riley<riley@ece.gatech.edu>
-//
-
-// NS3 - Layer 4 Protocol base class
-// George F. Riley, Georgia Tech, Spring 2007
-
-#include "ipv4-l4-protocol.h"
-#include "ns3/uinteger.h"
-
-namespace ns3 {
-
-NS_OBJECT_ENSURE_REGISTERED (Ipv4L4Protocol);
-
-TypeId
-Ipv4L4Protocol::GetTypeId (void)
-{
- static TypeId tid = TypeId ("ns3::Ipv4L4Protocol")
- .SetParent<Object> ()
- .AddAttribute ("ProtocolNumber", "The Ipv4 protocol number.",
- UintegerValue (0),
- MakeUintegerAccessor (&Ipv4L4Protocol::GetProtocolNumber),
- MakeUintegerChecker<int> ())
- ;
- return tid;
-}
-
-Ipv4L4Protocol::~Ipv4L4Protocol ()
-{
-}
-
-void
-Ipv4L4Protocol::ReceiveIcmp (Ipv4Address icmpSource, uint8_t icmpTtl,
- uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo,
- Ipv4Address payloadSource,Ipv4Address payloadDestination,
- const uint8_t payload[8])
-{}
-
-} // namespace ns3
--- a/src/internet/model/ipv4-l4-protocol.h Fri Mar 02 18:49:54 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-// -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*-
-//
-// Copyright (c) 2006 Georgia Tech Research Corporation
-//
-// This program is free software; you can redistribute it and/or modify
-// 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
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// Author: George F. Riley<riley@ece.gatech.edu>
-//
-
-// NS3 - Layer 4 Protocol base class
-// George F. Riley, Georgia Tech, Spring 2007
-
-#ifndef IPV4_L4_PROTOCOL_H
-#define IPV4_L4_PROTOCOL_H
-
-#include "ns3/object.h"
-#include "ns3/callback.h"
-#include "ns3/ipv4-header.h"
-
-namespace ns3 {
-
-class Packet;
-class Ipv4Address;
-class Ipv4Interface;
-class Ipv4Route;
-
-/**
- * \brief L4 Protocol abstract base class
- *
- * This is an abstract base class for layer four protocols which use IPv4 as
- * the network layer.
- */
-class Ipv4L4Protocol : public Object
-{
-public:
- enum RxStatus {
- RX_OK,
- RX_CSUM_FAILED,
- RX_ENDPOINT_CLOSED,
- RX_ENDPOINT_UNREACH
- };
-
- static TypeId GetTypeId (void);
-
- virtual ~Ipv4L4Protocol ();
-
- /**
- * \returns the protocol number of this protocol.
- */
- virtual int GetProtocolNumber (void) const = 0;
-
- /**
- * \param p packet to forward up
- * \param header IPv4 Header information
- * \param incomingInterface the Ipv4Interface on which the packet arrived
- *
- * Called from lower-level layers to send the packet up
- * in the stack.
- */
- virtual enum RxStatus Receive (Ptr<Packet> p,
- Ipv4Header const &header,
- Ptr<Ipv4Interface> incomingInterface) = 0;
-
- /**
- * \param icmpSource the source address of the icmp message
- * \param icmpTtl the ttl of the icmp message
- * \param icmpType the 'type' field of the icmp message
- * \param icmpCode the 'code' field of the icmp message
- * \param icmpInfo extra information dependent on the icmp message
- * generated by Icmpv4L4Protocol
- * \param payloadSource the source address of the packet which triggered
- * the icmp message
- * \param payloadDestination the destination address of the packet which
- * triggered the icmp message.
- * \param payload the first 8 bytes of the udp header of the packet
- * which triggered the icmp message.
- */
- virtual void ReceiveIcmp (Ipv4Address icmpSource, uint8_t icmpTtl,
- uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo,
- Ipv4Address payloadSource, Ipv4Address payloadDestination,
- const uint8_t payload[8]);
-
- typedef Callback<void,Ptr<Packet>, Ipv4Address, Ipv4Address, uint8_t, Ptr<Ipv4Route> > DownTargetCallback;
- /**
- * This method allows a caller to set the current down target callback
- * set for this L4 protocol
- *
- * \param cb current Callback for the L4 protocol
- */
- virtual void SetDownTarget (DownTargetCallback cb) = 0;
- /**
- * This method allows a caller to get the current down target callback
- * set for this L4 protocol, for
- *
- * \return current Callback for the L4 protocol
- */
- virtual DownTargetCallback GetDownTarget (void) const = 0;
-};
-
-} // Namespace ns3
-
-#endif
--- a/src/internet/model/ipv4-raw-socket-impl.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv4-raw-socket-impl.cc Fri Mar 02 19:43:49 2012 +0100
@@ -116,6 +116,11 @@
return 0;
}
int
+Ipv4RawSocketImpl::Bind6 (void)
+{
+ return (-1);
+}
+int
Ipv4RawSocketImpl::GetSockName (Address &address) const
{
address = InetSocketAddress (m_src, 0);
--- a/src/internet/model/ipv4-raw-socket-impl.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv4-raw-socket-impl.h Fri Mar 02 19:43:49 2012 +0100
@@ -27,6 +27,7 @@
virtual Ptr<Node> GetNode (void) const;
virtual int Bind (const Address &address);
virtual int Bind ();
+ virtual int Bind6 ();
virtual int GetSockName (Address &address) const;
virtual int Close (void);
virtual int ShutdownSend (void);
--- a/src/internet/model/ipv4.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv4.h Fri Mar 02 19:43:49 2012 +0100
@@ -24,7 +24,7 @@
#include "ns3/object.h"
#include "ns3/socket.h"
#include "ns3/callback.h"
-#include "ns3/ipv4-l4-protocol.h"
+#include "ns3/ip-l4-protocol.h"
#include "ns3/ipv4-address.h"
#include "ipv4-route.h"
#include "ipv4-interface-address.h"
@@ -149,7 +149,7 @@
* Adds a protocol to an internal list of L4 protocols.
*
*/
- virtual void Insert (Ptr<Ipv4L4Protocol> protocol) = 0;
+ virtual void Insert (Ptr<IpL4Protocol> protocol) = 0;
/**
* \brief Determine whether address and interface corresponding to
--- a/src/internet/model/ipv6-address-generator.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv6-address-generator.cc Fri Mar 02 19:43:49 2012 +0100
@@ -497,7 +497,7 @@
uint8_t prefixBits[16];
prefix.GetBytes (prefixBits);
- for (uint32_t i = 15; i >= 0; --i)
+ for (int32_t i = 15; i >= 0; --i)
{
for (uint32_t j = 0; j < 8; ++j)
{
--- a/src/internet/model/ipv6-end-point.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv6-end-point.cc Fri Mar 02 19:43:49 2012 +0100
@@ -43,6 +43,9 @@
{
m_destroyCallback ();
}
+ m_rxCallback.Nullify ();
+ m_icmpCallback.Nullify ();
+ m_destroyCallback.Nullify ();
}
Ipv6Address Ipv6EndPoint::GetLocalAddress ()
@@ -81,7 +84,7 @@
m_peerPort = port;
}
-void Ipv6EndPoint::SetRxCallback (Callback<void, Ptr<Packet>, Ipv6Address, uint16_t> callback)
+void Ipv6EndPoint::SetRxCallback (Callback<void, Ptr<Packet>, Ipv6Address, Ipv6Address, uint16_t> callback)
{
m_rxCallback = callback;
}
@@ -96,11 +99,11 @@
m_destroyCallback = callback;
}
-void Ipv6EndPoint::ForwardUp (Ptr<Packet> p, Ipv6Address addr, uint16_t port)
+void Ipv6EndPoint::ForwardUp (Ptr<Packet> p, Ipv6Address srcAddr, Ipv6Address dstAddr, uint16_t port)
{
if (!m_rxCallback.IsNull ())
{
- m_rxCallback (p, addr, port);
+ m_rxCallback (p, srcAddr, dstAddr, port);
}
}
@@ -114,9 +117,9 @@
}
}
-void Ipv6EndPoint::DoForwardUp (Ptr<Packet> p, Ipv6Address saddr, uint16_t sport)
+void Ipv6EndPoint::DoForwardUp (Ptr<Packet> p, Ipv6Address saddr, Ipv6Address daddr, uint16_t sport)
{
- m_rxCallback (p, saddr, sport);
+ m_rxCallback (p, saddr, daddr, sport);
}
void Ipv6EndPoint::DoForwardIcmp (Ipv6Address src, uint8_t ttl, uint8_t type,
--- a/src/internet/model/ipv6-end-point.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv6-end-point.h Fri Mar 02 19:43:49 2012 +0100
@@ -98,7 +98,7 @@
* \brief Set the reception callback.
* \param callback callback function
*/
- void SetRxCallback (Callback<void, Ptr<Packet>, Ipv6Address, uint16_t> callback);
+ void SetRxCallback (Callback<void, Ptr<Packet>, Ipv6Address, Ipv6Address, uint16_t> callback);
/**
* \brief Set the ICMP callback.
@@ -115,10 +115,11 @@
/**
* \brief Forward the packet to the upper level.
* \param p the packet
- * \param addr source address
+ * \param srcAddr source address
+ * \param dstAddr source address
* \param port source port
*/
- void ForwardUp (Ptr<Packet> p, Ipv6Address addr, uint16_t port);
+ void ForwardUp (Ptr<Packet> p, Ipv6Address srcAddr, Ipv6Address dstAddr, uint16_t port);
/**
* \brief Function called from an L4Protocol implementation
@@ -137,9 +138,10 @@
* \brief ForwardUp wrapper.
* \param p packet
* \param saddr source IPv6 address
+ * \param daddr dest IPv6 address
* \param sport source port
*/
- void DoForwardUp (Ptr<Packet> p, Ipv6Address saddr, uint16_t sport);
+ void DoForwardUp (Ptr<Packet> p, Ipv6Address saddr, Ipv6Address daddr, uint16_t sport);
/**
* \brief ForwardIcmp wrapper.
@@ -175,7 +177,7 @@
/**
* \brief The RX callback.
*/
- Callback<void, Ptr<Packet>, Ipv6Address, uint16_t> m_rxCallback;
+ Callback<void, Ptr<Packet>, Ipv6Address, Ipv6Address, uint16_t> m_rxCallback;
/**
* \brief The ICMPv6 callback.
--- a/src/internet/model/ipv6-interface.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv6-interface.cc Fri Mar 02 19:43:49 2012 +0100
@@ -48,6 +48,7 @@
m_metric (1),
m_node (0),
m_device (0),
+ m_ndCache (0),
m_curHopLimit (0),
m_baseReachableTime (0),
m_reachableTime (0),
@@ -64,6 +65,9 @@
void Ipv6Interface::DoDispose ()
{
NS_LOG_FUNCTION_NOARGS ();
+ m_node = 0;
+ m_device = 0;
+ m_ndCache = 0;
Object::DoDispose ();
}
--- a/src/internet/model/ipv6-l3-protocol.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv6-l3-protocol.cc Fri Mar 02 19:43:49 2012 +0100
@@ -30,7 +30,6 @@
#include "loopback-net-device.h"
#include "ipv6-l3-protocol.h"
-#include "ipv6-l4-protocol.h"
#include "ipv6-interface.h"
#include "ipv6-raw-socket-impl.h"
#include "ipv6-autoconfigured-prefix.h"
@@ -434,7 +433,7 @@
/* see if we have already an loopback NetDevice */
for (i = 0; i < m_node->GetNDevices (); i++)
{
- if (device = DynamicCast<LoopbackNetDevice> (m_node->GetDevice (i)))
+ if ((device = DynamicCast<LoopbackNetDevice> (m_node->GetDevice (i))))
{
break;
}
@@ -519,19 +518,19 @@
SetupLoopback ();
}
-void Ipv6L3Protocol::Insert (Ptr<Ipv6L4Protocol> protocol)
+void Ipv6L3Protocol::Insert (Ptr<IpL4Protocol> protocol)
{
NS_LOG_FUNCTION (this << protocol);
m_protocols.push_back (protocol);
}
-void Ipv6L3Protocol::Remove (Ptr<Ipv6L4Protocol> protocol)
+void Ipv6L3Protocol::Remove (Ptr<IpL4Protocol> protocol)
{
NS_LOG_FUNCTION (this << protocol);
m_protocols.remove (protocol);
}
-Ptr<Ipv6L4Protocol> Ipv6L3Protocol::GetProtocol (int protocolNumber) const
+Ptr<IpL4Protocol> Ipv6L3Protocol::GetProtocol (int protocolNumber) const
{
NS_LOG_FUNCTION (this << protocolNumber);
@@ -571,7 +570,7 @@
Ptr<Icmpv6L4Protocol> Ipv6L3Protocol::GetIcmpv6 () const
{
NS_LOG_FUNCTION_NOARGS ();
- Ptr<Ipv6L4Protocol> protocol = GetProtocol (Icmpv6L4Protocol::GetStaticProtocolNumber ());
+ Ptr<IpL4Protocol> protocol = GetProtocol (Icmpv6L4Protocol::GetStaticProtocolNumber ());
if (protocol)
{
@@ -941,7 +940,7 @@
{
NS_LOG_FUNCTION (this << packet << ip << iif);
Ptr<Packet> p = packet->Copy ();
- Ptr<Ipv6L4Protocol> protocol = 0;
+ Ptr<IpL4Protocol> protocol = 0;
Ptr<Ipv6ExtensionDemux> ipv6ExtensionDemux = m_node->GetObject<Ipv6ExtensionDemux>();
Ptr<Ipv6Extension> ipv6Extension = 0;
Ipv6Address src = ip.GetSourceAddress ();
@@ -969,15 +968,16 @@
if (ipv6Extension)
{
uint8_t nextHeaderStep = 0;
+ uint8_t curHeader = nextHeader;
nextHeaderStep = ipv6Extension->Process (p, nextHeaderPosition, ip, dst, &nextHeader, isDropped);
nextHeaderPosition += nextHeaderStep;
- NS_ASSERT_MSG (nextHeaderStep != 0, "Zero-size IPv6 Option Header, aborting");
-
if (isDropped)
{
return;
}
+ NS_ASSERT_MSG (nextHeaderStep != 0 || curHeader == Ipv6Header::IPV6_EXT_FRAGMENTATION,
+ "Zero-size IPv6 Option Header, aborting" << *packet );
}
else
{
@@ -1008,15 +1008,17 @@
/* L4 protocol */
Ptr<Packet> copy = p->Copy ();
- enum Ipv6L4Protocol::RxStatus_e status = protocol->Receive (p, ip.GetSourceAddress (), ip.GetDestinationAddress (), GetInterface (iif));
+ enum IpL4Protocol::RxStatus status = protocol->Receive (p, src, dst, GetInterface (iif));
switch (status)
{
- case Ipv6L4Protocol::RX_OK:
+ case IpL4Protocol::RX_OK:
+ break;
+ case IpL4Protocol::RX_CSUM_FAILED:
break;
- case Ipv6L4Protocol::RX_CSUM_FAILED:
+ case IpL4Protocol::RX_ENDPOINT_CLOSED:
break;
- case Ipv6L4Protocol::RX_ENDPOINT_UNREACH:
+ case IpL4Protocol::RX_ENDPOINT_UNREACH:
if (ip.GetDestinationAddress ().IsMulticast ())
{
/* do not rely on multicast address */
--- a/src/internet/model/ipv6-l3-protocol.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv6-l3-protocol.h Fri Mar 02 19:43:49 2012 +0100
@@ -34,7 +34,7 @@
class Node;
class Ipv6Interface;
-class Ipv6L4Protocol;
+class IpL4Protocol;
class Ipv6Route;
class Ipv6MulticastRoute;
class Ipv6RawSocketImpl;
@@ -102,20 +102,20 @@
* \brief Add an L4 protocol.
* \param protocol L4 protocol
*/
- void Insert (Ptr<Ipv6L4Protocol> protocol);
+ void Insert (Ptr<IpL4Protocol> protocol);
/**
* \brief Remove an L4 protocol.
* \param protocol L4 protocol to remove
*/
- void Remove (Ptr<Ipv6L4Protocol> protocol);
+ void Remove (Ptr<IpL4Protocol> protocol);
/**
* \brief Get L4 protocol by protocol number.
* \param protocolNumber protocol number
* \return corresponding Ipv6L4Protocol or 0 if not found
*/
- Ptr<Ipv6L4Protocol> GetProtocol (int protocolNumber) const;
+ Ptr<IpL4Protocol> GetProtocol (int protocolNumber) const;
/**
* \brief Create raw IPv6 socket.
@@ -360,7 +360,7 @@
typedef std::list<Ptr<Ipv6Interface> > Ipv6InterfaceList;
typedef std::list<Ptr<Ipv6RawSocketImpl> > SocketList;
- typedef std::list<Ptr<Ipv6L4Protocol> > L4List_t;
+ typedef std::list<Ptr<IpL4Protocol> > L4List_t;
typedef std::list< Ptr<Ipv6AutoconfiguredPrefix> > Ipv6AutoconfiguredPrefixList;
typedef std::list< Ptr<Ipv6AutoconfiguredPrefix> >::iterator Ipv6AutoconfiguredPrefixListI;
--- a/src/internet/model/ipv6-l4-protocol.cc Fri Mar 02 18:49:54 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/*
- * Copyright (c) 2007-2009 Strasbourg University
- *
- * This program is free software; you can redistribute it and/or modify
- * 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
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Author: Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
- */
-
-#include "ns3/uinteger.h"
-
-#include "ipv6-l4-protocol.h"
-
-namespace ns3
-{
-
-NS_OBJECT_ENSURE_REGISTERED (Ipv6L4Protocol);
-
-TypeId Ipv6L4Protocol::GetTypeId ()
-{
- static TypeId tid = TypeId ("ns3::Ipv6L4Protocol")
- .SetParent<Object> ()
- .AddAttribute ("ProtocolNumber", "The IPv6 protocol number.",
- UintegerValue (0),
- MakeUintegerAccessor (&Ipv6L4Protocol::GetProtocolNumber),
- MakeUintegerChecker<int> ())
- ;
- return tid;
-}
-
-Ipv6L4Protocol::~Ipv6L4Protocol ()
-{
-}
-
-void Ipv6L4Protocol::ReceiveIcmp (Ipv6Address icmpSource, uint8_t icmpTtl,
- uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo,
- Ipv6Address payloadSource, Ipv6Address payloadDestination,
- const uint8_t* payload)
-{}
-
-} /* namespace ns3 */
-
--- a/src/internet/model/ipv6-l4-protocol.h Fri Mar 02 18:49:54 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/*
- * Copyright (c) 2007-2009 Strasbourg University
- *
- * This program is free software; you can redistribute it and/or modify
- * 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
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Author: Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
- */
-
-#ifndef IPV6_L4_PROTOCOL_H
-#define IPV6_L4_PROTOCOL_H
-
-#include "ns3/object.h"
-#include "ns3/ipv6-header.h"
-
-namespace ns3
-{
-
-class Packet;
-class Ipv6Address;
-class Ipv6Interface;
-
-/**
- * \class Ipv6L4Protocol
- * \brief IPv6 L4 protocol abstract class
- */
-class Ipv6L4Protocol : public Object
-{
-public:
- /**
- * \enum RxStatus_e
- * \brief Status of receive.
- */
- enum RxStatus_e
- {
- RX_OK, /**< Receive OK */
- RX_CSUM_FAILED, /**< Checksum of layer 4 protocol failed */
- RX_ENDPOINT_UNREACH /**< Destination unreachable */
- };
-
- /**
- * \brief Get the type identifier.
- * \return type identifier
- */
- static TypeId GetTypeId (void);
-
- /**
- * \brief Destructor.
- */
- virtual ~Ipv6L4Protocol ();
-
- /**
- * \brief Get the protocol number.
- * \return protocol number
- */
- virtual int GetProtocolNumber () const = 0;
-
- /**
- * \brief Receive method.
- *
- * Called from lower-level layers to send the packet up
- * in the stack.
- * \param p packet to forward up
- * \param src source address of packet received
- * \param dst address of packet received
- * \param incomingInterface the Ipv6Interface on which the packet arrived
- * \return status (OK, destination unreachable or checksum failed)
- */
- virtual enum RxStatus_e Receive (Ptr<Packet> p, Ipv6Address const &src,
- Ipv6Address const &dst,
- Ptr<Ipv6Interface> incomingInterface) = 0;
-
- /**
- * \brief ICMPv6 receive method.
- * \param icmpSource the source address of the ICMPv6 message
- * \param icmpTtl the ttl of the ICMPv6 message
- * \param icmpType the 'type' field of the ICMPv6 message
- * \param icmpCode the 'code' field of the ICMPv6 message
- * \param icmpInfo extra information dependent on the ICMPv6 message
- * generated by Icmpv6L4Protocol
- * \param payloadSource the source address of the packet which triggered
- * the ICMPv6 message
- * \param payloadDestination the destination address of the packet which
- * triggered the ICMPv6 message.
- * \param payload the first 8 bytes of the UDP header of the packet
- * which triggered the ICMPv6 message.
- */
- virtual void ReceiveIcmp (Ipv6Address icmpSource, uint8_t icmpTtl,
- uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo,
- Ipv6Address payloadSource, Ipv6Address payloadDestination,
- const uint8_t* payload);
-
-};
-
-} /* namespace ns3 */
-
-#endif /* IPV6_L4_PROTOCOL_H */
-
--- a/src/internet/model/ipv6-raw-socket-impl.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv6-raw-socket-impl.cc Fri Mar 02 19:43:49 2012 +0100
@@ -122,6 +122,11 @@
return 0;
}
+int Ipv6RawSocketImpl::Bind6 ()
+{
+ return(Bind());
+}
+
int Ipv6RawSocketImpl::GetSockName (Address& address) const
{
NS_LOG_FUNCTION_NOARGS ();
--- a/src/internet/model/ipv6-raw-socket-impl.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/ipv6-raw-socket-impl.h Fri Mar 02 19:43:49 2012 +0100
@@ -116,6 +116,7 @@
* \return 0 if success, -1 otherwise
*/
virtual int Bind ();
+ virtual int Bind6 ();
/**
* \brief Get socket address.
--- a/src/internet/model/nsc-tcp-l4-protocol.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/nsc-tcp-l4-protocol.cc Fri Mar 02 19:43:49 2012 +0100
@@ -96,7 +96,7 @@
NscTcpL4Protocol::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::NscTcpL4Protocol")
- .SetParent<Ipv4L4Protocol> ()
+ .SetParent<IpL4Protocol> ()
.AddConstructor<NscTcpL4Protocol>()
.AddAttribute ("SocketList", "The list of sockets associated to this protocol.",
ObjectVectorValue (),
@@ -242,7 +242,7 @@
delete m_nscInterface;
m_nscInterface = 0;
m_downTarget.Nullify ();
- Ipv4L4Protocol::DoDispose ();
+ IpL4Protocol::DoDispose ();
}
Ptr<Socket>
@@ -301,7 +301,7 @@
// NSC m_endPoints->DeAllocate (endPoint);
}
-Ipv4L4Protocol::RxStatus
+IpL4Protocol::RxStatus
NscTcpL4Protocol::Receive (Ptr<Packet> packet,
Ipv4Header const &header,
Ptr<Ipv4Interface> incomingInterface)
@@ -335,7 +335,13 @@
delete[] buf;
wakeup ();
- return Ipv4L4Protocol::RX_OK;
+ return IpL4Protocol::RX_OK;
+}
+
+IpL4Protocol::RxStatus
+NscTcpL4Protocol::Receive(Ptr<Packet>, Ipv6Address&, Ipv6Address&, Ptr<Ipv6Interface>)
+{
+ return IpL4Protocol::RX_ENDPOINT_UNREACH;
}
void NscTcpL4Protocol::SoftInterrupt (void)
@@ -457,16 +463,27 @@
}
void
-NscTcpL4Protocol::SetDownTarget (Ipv4L4Protocol::DownTargetCallback callback)
+NscTcpL4Protocol::SetDownTarget (IpL4Protocol::DownTargetCallback callback)
{
m_downTarget = callback;
}
-Ipv4L4Protocol::DownTargetCallback
+void
+NscTcpL4Protocol::SetDownTarget6 (IpL4Protocol::DownTargetCallback6 callback)
+{
+}
+
+IpL4Protocol::DownTargetCallback
NscTcpL4Protocol::GetDownTarget (void) const
{
return m_downTarget;
}
+IpL4Protocol::DownTargetCallback6
+NscTcpL4Protocol::GetDownTarget6 (void) const
+{
+ return (IpL4Protocol::DownTargetCallback6)0;
+}
+
} // namespace ns3
--- a/src/internet/model/nsc-tcp-l4-protocol.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/nsc-tcp-l4-protocol.h Fri Mar 02 19:43:49 2012 +0100
@@ -24,7 +24,7 @@
#include "ns3/ptr.h"
#include "ns3/object-factory.h"
#include "ns3/timer.h"
-#include "ipv4-l4-protocol.h"
+#include "ip-l4-protocol.h"
struct INetStack;
@@ -43,7 +43,7 @@
*
* \brief Nsc wrapper glue, to interface with the Ipv4 protocol underneath.
*/
-class NscTcpL4Protocol : public Ipv4L4Protocol {
+class NscTcpL4Protocol : public IpL4Protocol {
public:
static const uint8_t PROT_NUMBER;
static TypeId GetTypeId (void);
@@ -80,14 +80,20 @@
* \param header IPv4 Header information
* \param incomingInterface The Ipv4Interface it was received on
*/
- virtual Ipv4L4Protocol::RxStatus Receive (Ptr<Packet> p,
+ virtual IpL4Protocol::RxStatus Receive (Ptr<Packet> p,
Ipv4Header const &header,
Ptr<Ipv4Interface> incomingInterface);
+ virtual IpL4Protocol::RxStatus Receive (Ptr<Packet> p,
+ Ipv6Address &src,
+ Ipv6Address &dst,
+ Ptr<Ipv6Interface> interface);
- // From Ipv4L4Protocol
- virtual void SetDownTarget (Ipv4L4Protocol::DownTargetCallback cb);
- // From Ipv4L4Protocol
- virtual Ipv4L4Protocol::DownTargetCallback GetDownTarget (void) const;
+ // From IpL4Protocol
+ virtual void SetDownTarget (IpL4Protocol::DownTargetCallback cb);
+ virtual void SetDownTarget6 (IpL4Protocol::DownTargetCallback6 cb);
+ // From IpL4Protocol
+ virtual IpL4Protocol::DownTargetCallback GetDownTarget (void) const;
+ virtual IpL4Protocol::DownTargetCallback6 GetDownTarget6 (void) const;
protected:
virtual void DoDispose (void);
virtual void NotifyNewAggregate ();
@@ -123,7 +129,7 @@
std::string m_nscLibrary;
Timer m_softTimer;
std::vector<Ptr<NscTcpSocketImpl> > m_sockets;
- Ipv4L4Protocol::DownTargetCallback m_downTarget;
+ IpL4Protocol::DownTargetCallback m_downTarget;
};
} // namespace ns3
--- a/src/internet/model/nsc-tcp-socket-impl.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/nsc-tcp-socket-impl.cc Fri Mar 02 19:43:49 2012 +0100
@@ -214,6 +214,13 @@
m_endPoint = m_tcp->Allocate ();
return FinishBind ();
}
+int
+NscTcpSocketImpl::Bind6 ()
+{
+ NS_LOG_LOGIC ("NscTcpSocketImpl: ERROR_AFNOSUPPORT - Bind6 not supported");
+ m_errno = ERROR_AFNOSUPPORT;
+ return (-1);
+}
int
NscTcpSocketImpl::Bind (const Address &address)
{
@@ -449,9 +456,6 @@
bool found;
found = packet->PeekPacketTag (tag);
NS_ASSERT (found);
- // cast found to void, to suppress 'found' set but not used
- // compiler warning in optimized builds
- (void) found;
fromAddress = tag.GetAddress ();
}
return packet;
--- a/src/internet/model/nsc-tcp-socket-impl.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/nsc-tcp-socket-impl.h Fri Mar 02 19:43:49 2012 +0100
@@ -68,6 +68,7 @@
virtual enum SocketType GetSocketType (void) const;
virtual Ptr<Node> GetNode (void) const;
virtual int Bind (void);
+ virtual int Bind6 (void);
virtual int Bind (const Address &address);
virtual int Close (void);
virtual int ShutdownSend (void);
--- a/src/internet/model/tcp-header.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/tcp-header.cc Fri Mar 02 19:43:49 2012 +0100
@@ -128,23 +128,67 @@
m_protocol = protocol;
}
+void
+TcpHeader::InitializeChecksum (Ipv6Address source,
+ Ipv6Address destination,
+ uint8_t protocol)
+{
+ m_source = source;
+ m_destination = destination;
+ m_protocol = protocol;
+}
+
+void
+TcpHeader::InitializeChecksum (Address source,
+ Address destination,
+ uint8_t protocol)
+{
+ m_source = source;
+ m_destination = destination;
+ m_protocol = protocol;
+}
+
uint16_t
TcpHeader::CalculateHeaderChecksum (uint16_t size) const
{
- Buffer buf = Buffer (12);
- buf.AddAtStart (12);
+ /* Buffer size must be at least as large as the largest IP pseudo-header */
+ /* [per RFC2460, but without consideration for IPv6 extension hdrs] */
+ /* Src address 16 bytes (more generally, Address::MAX_SIZE) */
+ /* Dst address 16 bytes (more generally, Address::MAX_SIZE) */
+ /* Upper layer pkt len 4 bytes */
+ /* Zero 3 bytes */
+ /* Next header 1 byte */
+
+ uint32_t maxHdrSz = (2 * Address::MAX_SIZE) + 8;
+ Buffer buf = Buffer (maxHdrSz);
+ buf.AddAtStart (maxHdrSz);
Buffer::Iterator it = buf.Begin ();
+ uint32_t hdrSize = 0;
WriteTo (it, m_source);
WriteTo (it, m_destination);
- it.WriteU8 (0); /* protocol */
- it.WriteU8 (m_protocol); /* protocol */
- it.WriteU8 (size >> 8); /* length */
- it.WriteU8 (size & 0xff); /* length */
+ if (Ipv4Address::IsMatchingType(m_source))
+ {
+ it.WriteU8 (0); /* protocol */
+ it.WriteU8 (m_protocol); /* protocol */
+ it.WriteU8 (size >> 8); /* length */
+ it.WriteU8 (size & 0xff); /* length */
+ hdrSize = 12;
+ }
+ else
+ {
+ it.WriteU16 (0);
+ it.WriteU8 (size >> 8); /* length */
+ it.WriteU8 (size & 0xff); /* length */
+ it.WriteU16 (0);
+ it.WriteU8 (0);
+ it.WriteU8 (m_protocol); /* protocol */
+ hdrSize = 40;
+ }
it = buf.Begin ();
/* we don't CompleteChecksum ( ~ ) now */
- return ~(it.CalculateIpChecksum (12));
+ return ~(it.CalculateIpChecksum (hdrSize));
}
bool
--- a/src/internet/model/tcp-header.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/tcp-header.h Fri Mar 02 19:43:49 2012 +0100
@@ -26,6 +26,7 @@
#include "ns3/buffer.h"
#include "ns3/tcp-socket-factory.h"
#include "ns3/ipv4-address.h"
+#include "ns3/ipv6-address.h"
#include "ns3/sequence-number.h"
namespace ns3 {
@@ -132,6 +133,12 @@
void InitializeChecksum (Ipv4Address source,
Ipv4Address destination,
uint8_t protocol);
+ void InitializeChecksum (Ipv6Address source,
+ Ipv6Address destination,
+ uint8_t protocol);
+ void InitializeChecksum (Address source,
+ Address destination,
+ uint8_t protocol);
typedef enum { NONE = 0, FIN = 1, SYN = 2, RST = 4, PSH = 8, ACK = 16,
URG = 32, ECE = 64, CWR = 128} Flags_t;
@@ -160,8 +167,8 @@
uint16_t m_windowSize;
uint16_t m_urgentPointer;
- Ipv4Address m_source;
- Ipv4Address m_destination;
+ Address m_source;
+ Address m_destination;
uint8_t m_protocol;
uint16_t m_initialChecksum;
--- a/src/internet/model/tcp-l4-protocol.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/tcp-l4-protocol.cc Fri Mar 02 19:43:49 2012 +0100
@@ -28,12 +28,17 @@
#include "ns3/node.h"
#include "ns3/simulator.h"
#include "ns3/ipv4-route.h"
+#include "ns3/ipv6-route.h"
#include "tcp-l4-protocol.h"
#include "tcp-header.h"
#include "ipv4-end-point-demux.h"
+#include "ipv6-end-point-demux.h"
#include "ipv4-end-point.h"
+#include "ipv6-end-point.h"
#include "ipv4-l3-protocol.h"
+#include "ipv6-l3-protocol.h"
+#include "ipv6-routing-protocol.h"
#include "tcp-socket-factory-impl.h"
#include "tcp-newreno.h"
#include "rtt-estimator.h"
@@ -61,7 +66,7 @@
TcpL4Protocol::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::TcpL4Protocol")
- .SetParent<Ipv4L4Protocol> ()
+ .SetParent<IpL4Protocol> ()
.AddConstructor<TcpL4Protocol> ()
.AddAttribute ("RttEstimatorType",
"Type of RttEstimator objects.",
@@ -82,7 +87,7 @@
}
TcpL4Protocol::TcpL4Protocol ()
- : m_endPoints (new Ipv4EndPointDemux ())
+ : m_endPoints (new Ipv4EndPointDemux ()), m_endPoints6 (new Ipv6EndPointDemux ())
{
NS_LOG_FUNCTION_NOARGS ();
NS_LOG_LOGIC ("Made a TcpL4Protocol "<<this);
@@ -107,23 +112,36 @@
void
TcpL4Protocol::NotifyNewAggregate ()
{
+ Ptr<Node> node = this->GetObject<Node> ();
+ Ptr<Ipv4> ipv4 = this->GetObject<Ipv4> ();
+ Ptr<Ipv6L3Protocol> ipv6 = node->GetObject<Ipv6L3Protocol> ();
+
if (m_node == 0)
{
- Ptr<Node> node = this->GetObject<Node> ();
- if (node != 0)
+ if ((node != 0) && (ipv4 != 0 || ipv6 != 0))
{
- Ptr<Ipv4> ipv4 = this->GetObject<Ipv4> ();
- if (ipv4 != 0)
- {
- this->SetNode (node);
- ipv4->Insert (this);
- Ptr<TcpSocketFactoryImpl> tcpFactory = CreateObject<TcpSocketFactoryImpl> ();
- tcpFactory->SetTcp (this);
- node->AggregateObject (tcpFactory);
- this->SetDownTarget (MakeCallback (&Ipv4::Send, ipv4));
- }
+ this->SetNode (node);
+ Ptr<TcpSocketFactoryImpl> tcpFactory = CreateObject<TcpSocketFactoryImpl> ();
+ tcpFactory->SetTcp (this);
+ node->AggregateObject (tcpFactory);
}
}
+
+ // We set at least one of our 2 down targets to the IPv4/IPv6 send
+ // functions. Since these functions have different prototypes, we
+ // need to keep track of whether we are connected to an IPv4 or
+ // IPv6 lower layer and call the appropriate one.
+
+ if (ipv4 != 0)
+ {
+ ipv4->Insert(this);
+ this->SetDownTarget(MakeCallback(&Ipv4::Send, ipv4));
+ }
+ if (ipv6 != 0)
+ {
+ ipv6->Insert(this);
+ this->SetDownTarget6(MakeCallback(&Ipv6L3Protocol::Send, ipv6));
+ }
Object::NotifyNewAggregate ();
}
@@ -145,9 +163,16 @@
m_endPoints = 0;
}
+ if (m_endPoints6 != 0)
+ {
+ delete m_endPoints6;
+ m_endPoints6 = 0;
+ }
+
m_node = 0;
m_downTarget.Nullify ();
- Ipv4L4Protocol::DoDispose ();
+ m_downTarget6.Nullify ();
+ IpL4Protocol::DoDispose ();
}
Ptr<Socket>
@@ -216,7 +241,51 @@
m_endPoints->DeAllocate (endPoint);
}
-enum Ipv4L4Protocol::RxStatus
+Ipv6EndPoint *
+TcpL4Protocol::Allocate6 (void)
+{
+ NS_LOG_FUNCTION_NOARGS ();
+ return m_endPoints6->Allocate ();
+}
+
+Ipv6EndPoint *
+TcpL4Protocol::Allocate6 (Ipv6Address address)
+{
+ NS_LOG_FUNCTION (this << address);
+ return m_endPoints6->Allocate (address);
+}
+
+Ipv6EndPoint *
+TcpL4Protocol::Allocate6 (uint16_t port)
+{
+ NS_LOG_FUNCTION (this << port);
+ return m_endPoints6->Allocate (port);
+}
+
+Ipv6EndPoint *
+TcpL4Protocol::Allocate6 (Ipv6Address address, uint16_t port)
+{
+ NS_LOG_FUNCTION (this << address << port);
+ return m_endPoints6->Allocate (address, port);
+}
+
+Ipv6EndPoint *
+TcpL4Protocol::Allocate6 (Ipv6Address localAddress, uint16_t localPort,
+ Ipv6Address peerAddress, uint16_t peerPort)
+{
+ NS_LOG_FUNCTION (this << localAddress << localPort << peerAddress << peerPort);
+ return m_endPoints6->Allocate (localAddress, localPort,
+ peerAddress, peerPort);
+}
+
+void
+TcpL4Protocol::DeAllocate (Ipv6EndPoint *endPoint)
+{
+ NS_LOG_FUNCTION (this << endPoint);
+ m_endPoints6->DeAllocate (endPoint);
+}
+
+enum IpL4Protocol::RxStatus
TcpL4Protocol::Receive (Ptr<Packet> packet,
Ipv4Header const &ipHeader,
Ptr<Ipv4Interface> incomingInterface)
@@ -241,7 +310,7 @@
if(!tcpHeader.IsChecksumOk ())
{
NS_LOG_INFO ("Bad checksum, dropping packet!");
- return Ipv4L4Protocol::RX_CSUM_FAILED;
+ return IpL4Protocol::RX_CSUM_FAILED;
}
NS_LOG_LOGIC ("TcpL4Protocol "<<this<<" received a packet");
@@ -250,6 +319,15 @@
ipHeader.GetSource (), tcpHeader.GetSourcePort (),incomingInterface);
if (endPoints.empty ())
{
+ if (this->GetObject<Ipv6L3Protocol> () != 0)
+ {
+ NS_LOG_LOGIC (" No Ipv4 endpoints matched on TcpL4Protocol, trying Ipv6 "<<this);
+ Ptr<Ipv6Interface> fakeInterface;
+ Ipv6Address src = Ipv6Address::MakeIpv4MappedAddress (ipHeader.GetSource ());
+ Ipv6Address dst = Ipv6Address::MakeIpv4MappedAddress (ipHeader.GetDestination ());
+ return (this->Receive (packet, src, dst, fakeInterface));
+ }
+
NS_LOG_LOGIC (" No endpoints matched on TcpL4Protocol "<<this);
std::ostringstream oss;
oss<<" destination IP: ";
@@ -279,18 +357,100 @@
header.SetSourcePort (tcpHeader.GetDestinationPort ());
header.SetDestinationPort (tcpHeader.GetSourcePort ());
SendPacket (rstPacket, header, ipHeader.GetDestination (), ipHeader.GetSource ());
- return Ipv4L4Protocol::RX_ENDPOINT_CLOSED;
+ return IpL4Protocol::RX_ENDPOINT_CLOSED;
}
else
{
- return Ipv4L4Protocol::RX_ENDPOINT_CLOSED;
+ return IpL4Protocol::RX_ENDPOINT_CLOSED;
}
}
NS_ASSERT_MSG (endPoints.size () == 1, "Demux returned more than one endpoint");
NS_LOG_LOGIC ("TcpL4Protocol "<<this<<" forwarding up to endpoint/socket");
(*endPoints.begin ())->ForwardUp (packet, ipHeader, tcpHeader.GetSourcePort (),
incomingInterface);
- return Ipv4L4Protocol::RX_OK;
+ return IpL4Protocol::RX_OK;
+}
+
+enum IpL4Protocol::RxStatus
+TcpL4Protocol::Receive (Ptr<Packet> packet,
+ Ipv6Address &src,
+ Ipv6Address &dst,
+ Ptr<Ipv6Interface> interface)
+{
+ NS_LOG_FUNCTION (this << packet << src << dst);
+
+ TcpHeader tcpHeader;
+
+ // If we are receving a v4-mapped packet, we will re-calculate the TCP checksum
+ // Is it worth checking every received "v6" packet to see if it is v4-mapped in
+ // order to avoid re-calculating TCP checksums for v4-mapped packets?
+
+ if(Node::ChecksumEnabled ())
+ {
+ tcpHeader.EnableChecksums ();
+ tcpHeader.InitializeChecksum (src, dst, PROT_NUMBER);
+ }
+
+ packet->PeekHeader (tcpHeader);
+
+ NS_LOG_LOGIC ("TcpL4Protocol " << this
+ << " receiving seq " << tcpHeader.GetSequenceNumber ()
+ << " ack " << tcpHeader.GetAckNumber ()
+ << " flags "<< std::hex << (int)tcpHeader.GetFlags () << std::dec
+ << " data size " << packet->GetSize ());
+
+ if(!tcpHeader.IsChecksumOk ())
+ {
+ NS_LOG_INFO ("Bad checksum, dropping packet!");
+ return IpL4Protocol::RX_CSUM_FAILED;
+ }
+
+ NS_LOG_LOGIC ("TcpL4Protocol "<<this<<" received a packet");
+ Ipv6EndPointDemux::EndPoints endPoints =
+ m_endPoints6->Lookup (dst, tcpHeader.GetDestinationPort (),
+ src, tcpHeader.GetSourcePort (),interface);
+ if (endPoints.empty ())
+ {
+ NS_LOG_LOGIC (" No IPv6 endpoints matched on TcpL4Protocol "<<this);
+ std::ostringstream oss;
+ oss<<" destination IP: ";
+ dst.Print (oss);
+ oss<<" destination port: "<< tcpHeader.GetDestinationPort ()<<" source IP: ";
+ src.Print (oss);
+ oss<<" source port: "<<tcpHeader.GetSourcePort ();
+ NS_LOG_LOGIC (oss.str ());
+
+ if (!(tcpHeader.GetFlags () & TcpHeader::RST))
+ {
+ // build a RST packet and send
+ Ptr<Packet> rstPacket = Create<Packet> ();
+ TcpHeader header;
+ if (tcpHeader.GetFlags () & TcpHeader::ACK)
+ {
+ // ACK bit was set
+ header.SetFlags (TcpHeader::RST);
+ header.SetSequenceNumber (header.GetAckNumber ());
+ }
+ else
+ {
+ header.SetFlags (TcpHeader::RST | TcpHeader::ACK);
+ header.SetSequenceNumber (SequenceNumber32 (0));
+ header.SetAckNumber (header.GetSequenceNumber () + SequenceNumber32 (1));
+ }
+ header.SetSourcePort (tcpHeader.GetDestinationPort ());
+ header.SetDestinationPort (tcpHeader.GetSourcePort ());
+ SendPacket (rstPacket, header, dst, src);
+ return IpL4Protocol::RX_ENDPOINT_CLOSED;
+ }
+ else
+ {
+ return IpL4Protocol::RX_ENDPOINT_CLOSED;
+ }
+ }
+ NS_ASSERT_MSG (endPoints.size () == 1, "Demux returned more than one endpoint");
+ NS_LOG_LOGIC ("TcpL4Protocol "<<this<<" forwarding up to endpoint/socket");
+ (*endPoints.begin ())->ForwardUp (packet, src, dst, tcpHeader.GetSourcePort ());
+ return IpL4Protocol::RX_OK;
}
void
@@ -338,6 +498,50 @@
}
void
+TcpL4Protocol::Send (Ptr<Packet> packet,
+ Ipv6Address saddr, Ipv6Address daddr,
+ uint16_t sport, uint16_t dport, Ptr<NetDevice> oif)
+{
+ NS_LOG_FUNCTION (this << packet << saddr << daddr << sport << dport << oif);
+
+ TcpHeader tcpHeader;
+ tcpHeader.SetDestinationPort (dport);
+ tcpHeader.SetSourcePort (sport);
+ if(Node::ChecksumEnabled ())
+ {
+ tcpHeader.EnableChecksums ();
+ }
+ tcpHeader.InitializeChecksum (saddr,
+ daddr,
+ PROT_NUMBER);
+ tcpHeader.SetFlags (TcpHeader::ACK);
+ tcpHeader.SetAckNumber (SequenceNumber32 (0));
+
+ packet->AddHeader (tcpHeader);
+
+ Ptr<Ipv6L3Protocol> ipv6 = m_node->GetObject<Ipv6L3Protocol> ();
+ if (ipv6 != 0)
+ {
+ Ipv6Header header;
+ header.SetDestinationAddress (daddr);
+ header.SetNextHeader (PROT_NUMBER);
+ Socket::SocketErrno errno_;
+ Ptr<Ipv6Route> route;
+ Ptr<NetDevice> oif (0); //specify non-zero if bound to a source address
+ if (ipv6->GetRoutingProtocol () != 0)
+ {
+ route = ipv6->GetRoutingProtocol ()->RouteOutput (packet, header, oif, errno_);
+ }
+ else
+ {
+ NS_LOG_ERROR ("No IPV6 Routing Protocol");
+ route = 0;
+ }
+ ipv6->Send (packet, saddr, daddr, PROT_NUMBER, route);
+ }
+}
+
+void
TcpL4Protocol::SendPacket (Ptr<Packet> packet, const TcpHeader &outgoing,
Ipv4Address saddr, Ipv4Address daddr, Ptr<NetDevice> oif)
{
@@ -385,16 +589,79 @@
}
void
-TcpL4Protocol::SetDownTarget (Ipv4L4Protocol::DownTargetCallback callback)
+TcpL4Protocol::SendPacket (Ptr<Packet> packet, const TcpHeader &outgoing,
+ Ipv6Address saddr, Ipv6Address daddr, Ptr<NetDevice> oif)
+{
+ NS_LOG_LOGIC ("TcpL4Protocol " << this
+ << " sending seq " << outgoing.GetSequenceNumber ()
+ << " ack " << outgoing.GetAckNumber ()
+ << " flags " << std::hex << (int)outgoing.GetFlags () << std::dec
+ << " data size " << packet->GetSize ());
+ NS_LOG_FUNCTION (this << packet << saddr << daddr << oif);
+ // XXX outgoingHeader cannot be logged
+
+ if (daddr.IsIpv4MappedAddress ())
+ {
+ return (SendPacket (packet, outgoing, saddr.GetIpv4MappedAddress(), daddr.GetIpv4MappedAddress(), oif));
+ }
+ TcpHeader outgoingHeader = outgoing;
+ outgoingHeader.SetLength (5); //header length in units of 32bit words
+ /* outgoingHeader.SetUrgentPointer (0); //XXX */
+ if(Node::ChecksumEnabled ())
+ {
+ outgoingHeader.EnableChecksums ();
+ }
+ outgoingHeader.InitializeChecksum (saddr, daddr, PROT_NUMBER);
+
+ packet->AddHeader (outgoingHeader);
+
+ Ptr<Ipv6L3Protocol> ipv6 = m_node->GetObject<Ipv6L3Protocol> ();
+ if (ipv6 != 0)
+ {
+ Ipv6Header header;
+ header.SetDestinationAddress (daddr);
+ header.SetSourceAddress (saddr);
+ header.SetNextHeader (PROT_NUMBER);
+ Socket::SocketErrno errno_;
+ Ptr<Ipv6Route> route;
+ if (ipv6->GetRoutingProtocol () != 0)
+ {
+ route = ipv6->GetRoutingProtocol ()->RouteOutput (packet, header, oif, errno_);
+ }
+ else
+ {
+ NS_LOG_ERROR ("No IPV6 Routing Protocol");
+ route = 0;
+ }
+ m_downTarget6 (packet, saddr, daddr, PROT_NUMBER, route);
+ }
+ else
+ NS_FATAL_ERROR ("Trying to use Tcp on a node without an Ipv6 interface");
+}
+
+void
+TcpL4Protocol::SetDownTarget (IpL4Protocol::DownTargetCallback callback)
{
m_downTarget = callback;
}
-Ipv4L4Protocol::DownTargetCallback
+IpL4Protocol::DownTargetCallback
TcpL4Protocol::GetDownTarget (void) const
{
return m_downTarget;
}
+void
+TcpL4Protocol::SetDownTarget6 (IpL4Protocol::DownTargetCallback6 callback)
+{
+ m_downTarget6 = callback;
+}
+
+IpL4Protocol::DownTargetCallback6
+TcpL4Protocol::GetDownTarget6 (void) const
+{
+ return m_downTarget6;
+}
+
} // namespace ns3
--- a/src/internet/model/tcp-l4-protocol.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/tcp-l4-protocol.h Fri Mar 02 19:43:49 2012 +0100
@@ -25,9 +25,10 @@
#include "ns3/packet.h"
#include "ns3/ipv4-address.h"
+#include "ns3/ipv6-address.h"
#include "ns3/ptr.h"
#include "ns3/object-factory.h"
-#include "ipv4-l4-protocol.h"
+#include "ip-l4-protocol.h"
#include "ns3/net-device.h"
namespace ns3 {
@@ -36,9 +37,11 @@
class Socket;
class TcpHeader;
class Ipv4EndPointDemux;
+class Ipv6EndPointDemux;
class Ipv4Interface;
class TcpSocketBase;
class Ipv4EndPoint;
+class Ipv6EndPoint;
/**
* \ingroup tcp
@@ -50,7 +53,7 @@
* packets from IP, and forwards them up to the endpoints.
*/
-class TcpL4Protocol : public Ipv4L4Protocol {
+class TcpL4Protocol : public IpL4Protocol {
public:
static TypeId GetTypeId (void);
static const uint8_t PROT_NUMBER;
@@ -77,8 +80,15 @@
Ipv4EndPoint *Allocate (Ipv4Address address, uint16_t port);
Ipv4EndPoint *Allocate (Ipv4Address localAddress, uint16_t localPort,
Ipv4Address peerAddress, uint16_t peerPort);
+ Ipv6EndPoint *Allocate6 (void);
+ Ipv6EndPoint *Allocate6 (Ipv6Address address);
+ Ipv6EndPoint *Allocate6 (uint16_t port);
+ Ipv6EndPoint *Allocate6 (Ipv6Address address, uint16_t port);
+ Ipv6EndPoint *Allocate6 (Ipv6Address localAddress, uint16_t localPort,
+ Ipv6Address peerAddress, uint16_t peerPort);
void DeAllocate (Ipv4EndPoint *endPoint);
+ void DeAllocate (Ipv6EndPoint *endPoint);
/**
* \brief Send a packet via TCP
@@ -92,20 +102,29 @@
void Send (Ptr<Packet> packet,
Ipv4Address saddr, Ipv4Address daddr,
uint16_t sport, uint16_t dport, Ptr<NetDevice> oif = 0);
+ void Send (Ptr<Packet> packet,
+ Ipv6Address saddr, Ipv6Address daddr,
+ uint16_t sport, uint16_t dport, Ptr<NetDevice> oif = 0);
/**
* \brief Receive a packet up the protocol stack
* \param p The Packet to dump the contents into
* \param header IPv4 Header information
* \param incomingInterface The Ipv4Interface it was received on
*/
- virtual enum Ipv4L4Protocol::RxStatus Receive (Ptr<Packet> p,
+ virtual enum IpL4Protocol::RxStatus Receive (Ptr<Packet> p,
Ipv4Header const &header,
Ptr<Ipv4Interface> incomingInterface);
+ virtual enum IpL4Protocol::RxStatus Receive (Ptr<Packet> p,
+ Ipv6Address &src,
+ Ipv6Address &dst,
+ Ptr<Ipv6Interface> interface);
- // From Ipv4L4Protocol
- virtual void SetDownTarget (Ipv4L4Protocol::DownTargetCallback cb);
- // From Ipv4L4Protocol
- virtual Ipv4L4Protocol::DownTargetCallback GetDownTarget (void) const;
+ // From IpL4Protocol
+ virtual void SetDownTarget (IpL4Protocol::DownTargetCallback cb);
+ virtual void SetDownTarget6 (IpL4Protocol::DownTargetCallback6 cb);
+ // From IpL4Protocol
+ virtual IpL4Protocol::DownTargetCallback GetDownTarget (void) const;
+ virtual IpL4Protocol::DownTargetCallback6 GetDownTarget6 (void) const;
protected:
virtual void DoDispose (void);
@@ -117,17 +136,21 @@
private:
Ptr<Node> m_node;
Ipv4EndPointDemux *m_endPoints;
+ Ipv6EndPointDemux *m_endPoints6;
TypeId m_rttTypeId;
TypeId m_socketTypeId;
private:
friend class TcpSocketBase;
void SendPacket (Ptr<Packet>, const TcpHeader &,
Ipv4Address, Ipv4Address, Ptr<NetDevice> oif = 0);
+ void SendPacket (Ptr<Packet>, const TcpHeader &,
+ Ipv6Address, Ipv6Address, Ptr<NetDevice> oif = 0);
TcpL4Protocol (const TcpL4Protocol &o);
TcpL4Protocol &operator = (const TcpL4Protocol &o);
std::vector<Ptr<TcpSocketBase> > m_sockets;
- Ipv4L4Protocol::DownTargetCallback m_downTarget;
+ IpL4Protocol::DownTargetCallback m_downTarget;
+ IpL4Protocol::DownTargetCallback6 m_downTarget6;
};
} // namespace ns3
--- a/src/internet/model/tcp-socket-base.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/tcp-socket-base.cc Fri Mar 02 19:43:49 2012 +0100
@@ -25,11 +25,15 @@
#include "ns3/abort.h"
#include "ns3/node.h"
#include "ns3/inet-socket-address.h"
+#include "ns3/inet6-socket-address.h"
#include "ns3/log.h"
#include "ns3/ipv4.h"
+#include "ns3/ipv6.h"
#include "ns3/ipv4-interface-address.h"
#include "ns3/ipv4-route.h"
+#include "ns3/ipv6-route.h"
#include "ns3/ipv4-routing-protocol.h"
+#include "ns3/ipv6-routing-protocol.h"
#include "ns3/simulation-singleton.h"
#include "ns3/simulator.h"
#include "ns3/packet.h"
@@ -39,6 +43,8 @@
#include "tcp-socket-base.h"
#include "tcp-l4-protocol.h"
#include "ipv4-end-point.h"
+#include "ipv6-end-point.h"
+#include "ipv6-l3-protocol.h"
#include "tcp-header.h"
#include "rtt-estimator.h"
@@ -95,6 +101,7 @@
: m_dupAckCount (0),
m_delAckCount (0),
m_endPoint (0),
+ m_endPoint6 (0),
m_node (0),
m_tcp (0),
m_rtt (0),
@@ -126,6 +133,7 @@
m_persistTimeout (sock.m_persistTimeout),
m_cnTimeout (sock.m_cnTimeout),
m_endPoint (0),
+ m_endPoint6 (0),
m_node (sock.m_node),
m_tcp (sock.m_tcp),
m_rtt (0),
@@ -180,6 +188,13 @@
m_tcp->DeAllocate (m_endPoint);
NS_ASSERT (m_endPoint == 0);
}
+ if (m_endPoint6 != 0)
+ {
+ NS_ASSERT (m_tcp != 0);
+ NS_ASSERT (m_endPoint6 != 0);
+ m_tcp->DeAllocate (m_endPoint6);
+ NS_ASSERT (m_endPoint6 == 0);
+ }
m_tcp = 0;
CancelAllTimers ();
}
@@ -233,7 +248,8 @@
{
NS_LOG_FUNCTION_NOARGS ();
m_endPoint = m_tcp->Allocate ();
- if (0 == m_endPoint)
+ m_endPoint6 = m_tcp->Allocate6 ();
+ if (0 == m_endPoint || 0 == m_endPoint6)
{
m_errno = ERROR_ADDRNOTAVAIL;
return -1;
@@ -242,40 +258,76 @@
return SetupCallback ();
}
+int
+TcpSocketBase::Bind6 (void)
+{
+ return Bind ();
+}
+
/** Inherit from Socket class: Bind socket (with specific address) to an end-point in TcpL4Protocol */
int
TcpSocketBase::Bind (const Address &address)
{
NS_LOG_FUNCTION (this << address);
- if (!InetSocketAddress::IsMatchingType (address))
+ if (InetSocketAddress::IsMatchingType (address))
+ {
+ InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
+ Ipv4Address ipv4 = transport.GetIpv4 ();
+ uint16_t port = transport.GetPort ();
+ if (ipv4 == Ipv4Address::GetAny () && port == 0)
+ {
+ m_endPoint = m_tcp->Allocate ();
+ }
+ else if (ipv4 == Ipv4Address::GetAny () && port != 0)
+ {
+ m_endPoint = m_tcp->Allocate (port);
+ }
+ else if (ipv4 != Ipv4Address::GetAny () && port == 0)
+ {
+ m_endPoint = m_tcp->Allocate (ipv4);
+ }
+ else if (ipv4 != Ipv4Address::GetAny () && port != 0)
+ {
+ m_endPoint = m_tcp->Allocate (ipv4, port);
+ }
+ if (0 == m_endPoint)
+ {
+ m_errno = port ? ERROR_ADDRINUSE : ERROR_ADDRNOTAVAIL;
+ return -1;
+ }
+ }
+ else if (Inet6SocketAddress::IsMatchingType (address))
+ {
+ Inet6SocketAddress transport = Inet6SocketAddress::ConvertFrom (address);
+ Ipv6Address ipv6 = transport.GetIpv6 ();
+ uint16_t port = transport.GetPort ();
+ if (ipv6 == Ipv6Address::GetAny () && port == 0)
+ {
+ m_endPoint6 = m_tcp->Allocate6 ();
+ }
+ else if (ipv6 == Ipv6Address::GetAny () && port != 0)
+ {
+ m_endPoint6 = m_tcp->Allocate6 (port);
+ }
+ else if (ipv6 != Ipv6Address::GetAny () && port == 0)
+ {
+ m_endPoint6 = m_tcp->Allocate6 (ipv6);
+ }
+ else if (ipv6 != Ipv6Address::GetAny () && port != 0)
+ {
+ m_endPoint6 = m_tcp->Allocate6 (ipv6, port);
+ }
+ if (0 == m_endPoint6)
+ {
+ m_errno = port ? ERROR_ADDRINUSE : ERROR_ADDRNOTAVAIL;
+ return -1;
+ }
+ }
+ else
{
m_errno = ERROR_INVAL;
return -1;
}
- InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
- Ipv4Address ipv4 = transport.GetIpv4 ();
- uint16_t port = transport.GetPort ();
- if (ipv4 == Ipv4Address::GetAny () && port == 0)
- {
- m_endPoint = m_tcp->Allocate ();
- }
- else if (ipv4 == Ipv4Address::GetAny () && port != 0)
- {
- m_endPoint = m_tcp->Allocate (port);
- }
- else if (ipv4 != Ipv4Address::GetAny () && port == 0)
- {
- m_endPoint = m_tcp->Allocate (ipv4);
- }
- else if (ipv4 != Ipv4Address::GetAny () && port != 0)
- {
- m_endPoint = m_tcp->Allocate (ipv4, port);
- }
- if (0 == m_endPoint)
- {
- m_errno = port ? ERROR_ADDRINUSE : ERROR_ADDRNOTAVAIL;
- return -1;
- }
m_tcp->m_sockets.push_back (this);
NS_LOG_LOGIC ("TcpSocketBase " << this << " got an endpoint: " << m_endPoint);
@@ -289,22 +341,60 @@
NS_LOG_FUNCTION (this << address);
// If haven't do so, Bind() this socket first
- if (m_endPoint == 0)
+ if (InetSocketAddress::IsMatchingType (address))
{
- if (Bind () == -1)
+ if (m_endPoint == 0)
{
- NS_ASSERT (m_endPoint == 0);
- return -1; // Bind() failed
+ if (Bind () == -1)
+ {
+ NS_ASSERT (m_endPoint == 0);
+ return -1; // Bind() failed
+ }
+ NS_ASSERT (m_endPoint != 0);
+ }
+ InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
+ m_endPoint->SetPeer (transport.GetIpv4 (), transport.GetPort ());
+ m_endPoint6 = 0;
+
+ // Get the appropriate local address and port number from the routing protocol and set up endpoint
+ if (SetupEndpoint () != 0)
+ { // Route to destination does not exist
+ return -1;
}
- NS_ASSERT (m_endPoint != 0);
}
+ else if (Inet6SocketAddress::IsMatchingType (address) )
+ {
+ // If we are operating on a v4-mapped address, translate the address to
+ // a v4 address and re-call this function
+ Inet6SocketAddress transport = Inet6SocketAddress::ConvertFrom (address);
+ Ipv6Address v6Addr = transport.GetIpv6 ();
+ if (v6Addr.IsIpv4MappedAddress () == true)
+ {
+ Ipv4Address v4Addr = v6Addr.GetIpv4MappedAddress ();
+ return Connect(InetSocketAddress(v4Addr, transport.GetPort ()));
+ }
- InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
- m_endPoint->SetPeer (transport.GetIpv4 (), transport.GetPort ());
+ if (m_endPoint6 == 0)
+ {
+ if (Bind6 () == -1)
+ {
+ NS_ASSERT (m_endPoint6 == 0);
+ return -1; // Bind() failed
+ }
+ NS_ASSERT (m_endPoint6 != 0);
+ }
+ m_endPoint6->SetPeer (v6Addr, transport.GetPort ());
+ m_endPoint = 0;
- // Get the appropriate local address and port number from the routing protocol and set up endpoint
- if (SetupEndpoint () != 0)
- { // Route to destination does not exist
+ // Get the appropriate local address and port number from the routing protocol and set up endpoint
+ if (SetupEndpoint6 () != 0)
+ { // Route to destination does not exist
+ return -1;
+ }
+ }
+ else
+ {
+ m_errno = ERROR_INVAL;
return -1;
}
@@ -427,7 +517,14 @@
if (outPacket != 0 && outPacket->GetSize () != 0)
{
SocketAddressTag tag;
- tag.SetAddress (InetSocketAddress (m_endPoint->GetPeerAddress (), m_endPoint->GetPeerPort ()));
+ if (m_endPoint != 0)
+ {
+ tag.SetAddress (InetSocketAddress (m_endPoint->GetPeerAddress (), m_endPoint->GetPeerPort ()));
+ }
+ else if (m_endPoint6 != 0)
+ {
+ tag.SetAddress (Inet6SocketAddress (m_endPoint6->GetPeerAddress (), m_endPoint6->GetPeerPort ()));
+ }
outPacket->AddPacketTag (tag);
}
return outPacket;
@@ -446,6 +543,10 @@
{
fromAddress = InetSocketAddress (m_endPoint->GetPeerAddress (), m_endPoint->GetPeerPort ());
}
+ else if (m_endPoint6 != 0)
+ {
+ fromAddress = Inet6SocketAddress (m_endPoint6->GetPeerAddress (), m_endPoint6->GetPeerPort ());
+ }
else
{
fromAddress = InetSocketAddress (Ipv4Address::GetZero (), 0);
@@ -479,9 +580,14 @@
{
address = InetSocketAddress (m_endPoint->GetLocalAddress (), m_endPoint->GetLocalPort ());
}
+ else if (m_endPoint6 != 0)
+ {
+ address = Inet6SocketAddress (m_endPoint6->GetLocalAddress (), m_endPoint6->GetLocalPort ());
+ }
else
{ // It is possible to call this method on a socket without a name
// in which case, behavior is unspecified
+ // Should this return an InetSocketAddress or an Inet6SocketAddress?
address = InetSocketAddress (Ipv4Address::GetZero (), 0);
}
return 0;
@@ -493,16 +599,21 @@
{
NS_LOG_FUNCTION (netdevice);
Socket::BindToNetDevice (netdevice); // Includes sanity check
- if (m_endPoint == 0)
+ if (m_endPoint == 0 && m_endPoint6 == 0)
{
if (Bind () == -1)
{
- NS_ASSERT (m_endPoint == 0);
+ NS_ASSERT ((m_endPoint == 0 && m_endPoint6 == 0));
return;
}
- NS_ASSERT (m_endPoint != 0);
+ NS_ASSERT ((m_endPoint != 0 && m_endPoint6 != 0));
}
- m_endPoint->BindToNetDevice (netdevice);
+
+ if (m_endPoint != 0)
+ {
+ m_endPoint->BindToNetDevice (netdevice);
+ }
+ // No BindToNetDevice() for Ipv6EndPoint
return;
}
@@ -511,12 +622,22 @@
TcpSocketBase::SetupCallback (void)
{
NS_LOG_FUNCTION (this);
- if (m_endPoint == 0)
+
+ if (m_endPoint == 0 && m_endPoint6 == 0)
{
return -1;
}
- m_endPoint->SetRxCallback (MakeCallback (&TcpSocketBase::ForwardUp, Ptr<TcpSocketBase> (this)));
- m_endPoint->SetDestroyCallback (MakeCallback (&TcpSocketBase::Destroy, Ptr<TcpSocketBase> (this)));
+ if (m_endPoint != 0)
+ {
+ m_endPoint->SetRxCallback (MakeCallback (&TcpSocketBase::ForwardUp, Ptr<TcpSocketBase> (this)));
+ m_endPoint->SetDestroyCallback (MakeCallback (&TcpSocketBase::Destroy, Ptr<TcpSocketBase> (this)));
+ }
+ if (m_endPoint6 != 0)
+ {
+ m_endPoint6->SetRxCallback (MakeCallback (&TcpSocketBase::ForwardUp6, Ptr<TcpSocketBase> (this)));
+ m_endPoint6->SetDestroyCallback (MakeCallback (&TcpSocketBase::Destroy6, Ptr<TcpSocketBase> (this)));
+ }
+
return 0;
}
@@ -629,6 +750,12 @@
DoForwardUp (packet, header, port, incomingInterface);
}
+void
+TcpSocketBase::ForwardUp6 (Ptr<Packet> packet, Ipv6Address saddr, Ipv6Address daddr, uint16_t port)
+{
+ DoForwardUp (packet, saddr, daddr, port);
+}
+
/** The real function to handle the incoming packet from lower layers. This is
wrapped by ForwardUp() so that this function can be overloaded by daughter
classes. */
@@ -728,6 +855,101 @@
}
}
+void
+TcpSocketBase::DoForwardUp (Ptr<Packet> packet, Ipv6Address saddr, Ipv6Address daddr, uint16_t port)
+{
+ NS_LOG_LOGIC ("Socket " << this << " forward up " <<
+ m_endPoint6->GetPeerAddress () <<
+ ":" << m_endPoint6->GetPeerPort () <<
+ " to " << m_endPoint6->GetLocalAddress () <<
+ ":" << m_endPoint6->GetLocalPort ());
+ Address fromAddress = Inet6SocketAddress (saddr, port);
+ Address toAddress = Inet6SocketAddress (daddr, m_endPoint6->GetLocalPort ());
+
+ // Peel off TCP header and do validity checking
+ TcpHeader tcpHeader;
+ packet->RemoveHeader (tcpHeader);
+ if (tcpHeader.GetFlags () & TcpHeader::ACK)
+ {
+ EstimateRtt (tcpHeader);
+ }
+ ReadOptions (tcpHeader);
+
+ // Update Rx window size, i.e. the flow control window
+ if (m_rWnd.Get () == 0 && tcpHeader.GetWindowSize () != 0)
+ { // persist probes end
+ NS_LOG_LOGIC (this << " Leaving zerowindow persist state");
+ m_persistEvent.Cancel ();
+ }
+ m_rWnd = tcpHeader.GetWindowSize ();
+
+ // Discard fully out of range packets
+ if (packet->GetSize () &&
+ OutOfRange (tcpHeader.GetSequenceNumber (), tcpHeader.GetSequenceNumber () + packet->GetSize ()))
+ {
+ NS_LOG_LOGIC ("At state " << TcpStateName[m_state] <<
+ " received packet of seq [" << tcpHeader.GetSequenceNumber () <<
+ ":" << tcpHeader.GetSequenceNumber () + packet->GetSize() <<
+ ") out of range [" << m_rxBuffer.NextRxSequence () << ":" <<
+ m_rxBuffer.MaxRxSequence () << ")");
+ // Acknowledgement should be sent for all unacceptable packets (RFC793, p.69)
+ if (m_state == ESTABLISHED && !(tcpHeader.GetFlags () & TcpHeader::RST))
+ {
+ SendEmptyPacket (TcpHeader::ACK);
+ }
+ return;
+ }
+
+ // TCP state machine code in different process functions
+ // C.f.: tcp_rcv_state_process() in tcp_input.c in Linux kernel
+ switch (m_state)
+ {
+ case ESTABLISHED:
+ ProcessEstablished (packet, tcpHeader);
+ break;
+ case LISTEN:
+ ProcessListen (packet, tcpHeader, fromAddress, toAddress);
+ break;
+ case TIME_WAIT:
+ // Do nothing
+ break;
+ case CLOSED:
+ // Send RST if the incoming packet is not a RST
+ if ((tcpHeader.GetFlags () & ~(TcpHeader::PSH | TcpHeader::URG)) != TcpHeader::RST)
+ { // Since m_endPoint is not configured yet, we cannot use SendRST here
+ TcpHeader h;
+ h.SetFlags (TcpHeader::RST);
+ h.SetSequenceNumber (m_nextTxSequence);
+ h.SetAckNumber (m_rxBuffer.NextRxSequence ());
+ h.SetSourcePort (tcpHeader.GetDestinationPort ());
+ h.SetDestinationPort (tcpHeader.GetSourcePort ());
+ h.SetWindowSize (AdvertisedWindowSize ());
+ AddOptions (h);
+ m_tcp->SendPacket (Create<Packet> (), h, daddr, saddr, m_boundnetdevice);
+ }
+ break;
+ case SYN_SENT:
+ ProcessSynSent (packet, tcpHeader);
+ break;
+ case SYN_RCVD:
+ ProcessSynRcvd (packet, tcpHeader, fromAddress, toAddress);
+ break;
+ case FIN_WAIT_1:
+ case FIN_WAIT_2:
+ case CLOSE_WAIT:
+ ProcessWait (packet, tcpHeader);
+ break;
+ case CLOSING:
+ ProcessClosing (packet, tcpHeader);
+ break;
+ case LAST_ACK:
+ ProcessLastAck (packet, tcpHeader);
+ break;
+ default: // mute compiler
+ break;
+ }
+}
+
/** Received a packet upon ESTABLISHED state. This function is mimicking the
role of tcp_rcv_established() in tcp_input.c in Linux kernel. */
void
@@ -915,8 +1137,16 @@
m_retxEvent.Cancel ();
m_highTxMark = ++m_nextTxSequence;
m_txBuffer.SetHeadSequence (m_nextTxSequence);
- m_endPoint->SetPeer (InetSocketAddress::ConvertFrom (fromAddress).GetIpv4 (),
- InetSocketAddress::ConvertFrom (fromAddress).GetPort ());
+ if (m_endPoint)
+ {
+ m_endPoint->SetPeer (InetSocketAddress::ConvertFrom (fromAddress).GetIpv4 (),
+ InetSocketAddress::ConvertFrom (fromAddress).GetPort ());
+ }
+ else if (m_endPoint6)
+ {
+ m_endPoint6->SetPeer (Inet6SocketAddress::ConvertFrom (fromAddress).GetIpv6 (),
+ Inet6SocketAddress::ConvertFrom (fromAddress).GetPort ());
+ }
// Always respond to first data packet to speed up the connection.
// Remove to get the behaviour of old NS-3 code.
m_delAckCount = m_delAckMaxCount;
@@ -941,8 +1171,16 @@
m_retxEvent.Cancel ();
m_highTxMark = ++m_nextTxSequence;
m_txBuffer.SetHeadSequence (m_nextTxSequence);
- m_endPoint->SetPeer (InetSocketAddress::ConvertFrom (fromAddress).GetIpv4 (),
- InetSocketAddress::ConvertFrom (fromAddress).GetPort ());
+ if (m_endPoint)
+ {
+ m_endPoint->SetPeer (InetSocketAddress::ConvertFrom (fromAddress).GetIpv4 (),
+ InetSocketAddress::ConvertFrom (fromAddress).GetPort ());
+ }
+ else if (m_endPoint6)
+ {
+ m_endPoint6->SetPeer (Inet6SocketAddress::ConvertFrom (fromAddress).GetIpv6 (),
+ Inet6SocketAddress::ConvertFrom (fromAddress).GetPort ());
+ }
PeerClose (packet, tcpHeader);
}
}
@@ -951,8 +1189,16 @@
if (tcpflags != TcpHeader::RST)
{ // When (1) rx of SYN+ACK; (2) rx of FIN; (3) rx of bad flags
NS_LOG_LOGIC ("Illegal flag " << tcpflags << " received. Reset packet is sent.");
- m_endPoint->SetPeer (InetSocketAddress::ConvertFrom (fromAddress).GetIpv4 (),
- InetSocketAddress::ConvertFrom (fromAddress).GetPort ());
+ if (m_endPoint)
+ {
+ m_endPoint->SetPeer (InetSocketAddress::ConvertFrom (fromAddress).GetIpv4 (),
+ InetSocketAddress::ConvertFrom (fromAddress).GetPort ());
+ }
+ else if (m_endPoint6)
+ {
+ m_endPoint6->SetPeer (Inet6SocketAddress::ConvertFrom (fromAddress).GetIpv6 (),
+ Inet6SocketAddress::ConvertFrom (fromAddress).GetPort ());
+ }
SendRST ();
}
CloseAndNotify ();
@@ -1176,15 +1422,37 @@
TcpSocketBase::Destroy (void)
{
NS_LOG_FUNCTION (this);
- m_node = 0;
m_endPoint = 0;
- std::vector<Ptr<TcpSocketBase> >::iterator it
- = std::find (m_tcp->m_sockets.begin (), m_tcp->m_sockets.end (), this);
- if (it != m_tcp->m_sockets.end ())
+ if (m_tcp != 0)
{
- m_tcp->m_sockets.erase (it);
+ std::vector<Ptr<TcpSocketBase> >::iterator it
+ = std::find (m_tcp->m_sockets.begin (), m_tcp->m_sockets.end (), this);
+ if (it != m_tcp->m_sockets.end ())
+ {
+ m_tcp->m_sockets.erase (it);
+ }
}
- m_tcp = 0;
+ NS_LOG_LOGIC (this << " Cancelled ReTxTimeout event which was set to expire at " <<
+ (Simulator::Now () + Simulator::GetDelayLeft (m_retxEvent)).GetSeconds ());
+ CancelAllTimers ();
+}
+
+/** Kill this socket. This is a callback function configured to m_endpoint in
+ SetupCallback(), invoked when the endpoint is destroyed. */
+void
+TcpSocketBase::Destroy6 (void)
+{
+ NS_LOG_FUNCTION (this);
+ m_endPoint6 = 0;
+ if (m_tcp != 0)
+ {
+ std::vector<Ptr<TcpSocketBase> >::iterator it
+ = std::find (m_tcp->m_sockets.begin (), m_tcp->m_sockets.end (), this);
+ if (it != m_tcp->m_sockets.end ())
+ {
+ m_tcp->m_sockets.erase (it);
+ }
+ }
NS_LOG_LOGIC (this << " Cancelled ReTxTimeout event which was set to expire at " <<
(Simulator::Now () + Simulator::GetDelayLeft (m_retxEvent)).GetSeconds ());
CancelAllTimers ();
@@ -1199,7 +1467,7 @@
TcpHeader header;
SequenceNumber32 s = m_nextTxSequence;
- if (m_endPoint == 0)
+ if (m_endPoint == 0 && m_endPoint6 == 0)
{
NS_LOG_WARN ("Failed to send empty packet due to null endpoint");
return;
@@ -1216,8 +1484,16 @@
header.SetFlags (flags);
header.SetSequenceNumber (s);
header.SetAckNumber (m_rxBuffer.NextRxSequence ());
- header.SetSourcePort (m_endPoint->GetLocalPort ());
- header.SetDestinationPort (m_endPoint->GetPeerPort ());
+ if (m_endPoint != 0)
+ {
+ header.SetSourcePort (m_endPoint->GetLocalPort ());
+ header.SetDestinationPort (m_endPoint->GetPeerPort ());
+ }
+ else
+ {
+ header.SetSourcePort (m_endPoint6->GetLocalPort ());
+ header.SetDestinationPort (m_endPoint6->GetPeerPort ());
+ }
header.SetWindowSize (AdvertisedWindowSize ());
AddOptions (header);
m_rto = m_rtt->RetransmitTimeout ();
@@ -1239,7 +1515,16 @@
m_cnCount--;
}
}
- m_tcp->SendPacket (p, header, m_endPoint->GetLocalAddress (), m_endPoint->GetPeerAddress (), m_boundnetdevice);
+ if (m_endPoint != 0)
+ {
+ m_tcp->SendPacket (p, header, m_endPoint->GetLocalAddress (),
+ m_endPoint->GetPeerAddress (), m_boundnetdevice);
+ }
+ else
+ {
+ m_tcp->SendPacket (p, header, m_endPoint6->GetLocalAddress (),
+ m_endPoint6->GetPeerAddress (), m_boundnetdevice);
+ }
if (flags & TcpHeader::ACK)
{ // If sending an ACK, cancel the delay ACK as well
m_delAckEvent.Cancel ();
@@ -1281,6 +1566,19 @@
}
CancelAllTimers ();
}
+ if (m_endPoint6 != 0)
+ {
+ m_endPoint6->SetDestroyCallback (MakeNullCallback<void> ());
+ m_tcp->DeAllocate (m_endPoint6);
+ m_endPoint6 = 0;
+ std::vector<Ptr<TcpSocketBase> >::iterator it
+ = std::find (m_tcp->m_sockets.begin (), m_tcp->m_sockets.end (), this);
+ if (it != m_tcp->m_sockets.end ())
+ {
+ m_tcp->m_sockets.erase (it);
+ }
+ CancelAllTimers ();
+ }
}
/** Configure the endpoint to a local address. Called by Connect() if Bind() didn't specify one. */
@@ -1314,6 +1612,36 @@
return 0;
}
+int
+TcpSocketBase::SetupEndpoint6 ()
+{
+ NS_LOG_FUNCTION (this);
+ Ptr<Ipv6L3Protocol> ipv6 = m_node->GetObject<Ipv6L3Protocol> ();
+ NS_ASSERT (ipv6 != 0);
+ if (ipv6->GetRoutingProtocol () == 0)
+ {
+ NS_FATAL_ERROR ("No Ipv6RoutingProtocol in the node");
+ }
+ // Create a dummy packet, then ask the routing function for the best output
+ // interface's address
+ Ipv6Header header;
+ header.SetDestinationAddress (m_endPoint6->GetPeerAddress ());
+ Socket::SocketErrno errno_;
+ Ptr<Ipv6Route> route;
+ Ptr<NetDevice> oif = m_boundnetdevice;
+ route = ipv6->GetRoutingProtocol ()->RouteOutput (Ptr<Packet> (), header, oif, errno_);
+ if (route == 0)
+ {
+ NS_LOG_LOGIC ("Route to " << m_endPoint6->GetPeerAddress () << " does not exist");
+ NS_LOG_ERROR (errno_);
+ m_errno = errno_;
+ return -1;
+ }
+ NS_LOG_LOGIC ("Route exists");
+ m_endPoint6->SetLocalAddress (route->GetSource ());
+ return 0;
+}
+
/** This function is called only if a SYN received in LISTEN state. After
TcpSocketBase cloned, allocate a new end point to handle the incoming
connection and send a SYN+ACK to complete the handshake. */
@@ -1322,10 +1650,22 @@
const Address& fromAddress, const Address& toAddress)
{
// Get port and address from peer (connecting host)
- m_endPoint = m_tcp->Allocate (InetSocketAddress::ConvertFrom (toAddress).GetIpv4 (),
- InetSocketAddress::ConvertFrom (toAddress).GetPort (),
- InetSocketAddress::ConvertFrom (fromAddress).GetIpv4 (),
- InetSocketAddress::ConvertFrom (fromAddress).GetPort ());
+ if (InetSocketAddress::IsMatchingType (toAddress))
+ {
+ m_endPoint = m_tcp->Allocate (InetSocketAddress::ConvertFrom (toAddress).GetIpv4 (),
+ InetSocketAddress::ConvertFrom (toAddress).GetPort (),
+ InetSocketAddress::ConvertFrom (fromAddress).GetIpv4 (),
+ InetSocketAddress::ConvertFrom (fromAddress).GetPort ());
+ m_endPoint6 = 0;
+ }
+ else if (Inet6SocketAddress::IsMatchingType (toAddress))
+ {
+ m_endPoint6 = m_tcp->Allocate6 (Inet6SocketAddress::ConvertFrom (toAddress).GetIpv6 (),
+ Inet6SocketAddress::ConvertFrom (toAddress).GetPort (),
+ Inet6SocketAddress::ConvertFrom (fromAddress).GetIpv6 (),
+ Inet6SocketAddress::ConvertFrom (fromAddress).GetPort ());
+ m_endPoint = 0;
+ }
m_tcp->m_sockets.push_back (this);
// Change the cloned socket from LISTEN state to SYN_RCVD
@@ -1381,8 +1721,16 @@
header.SetFlags (flags);
header.SetSequenceNumber (seq);
header.SetAckNumber (m_rxBuffer.NextRxSequence ());
- header.SetSourcePort (m_endPoint->GetLocalPort ());
- header.SetDestinationPort (m_endPoint->GetPeerPort ());
+ if (m_endPoint)
+ {
+ header.SetSourcePort (m_endPoint->GetLocalPort ());
+ header.SetDestinationPort (m_endPoint->GetPeerPort ());
+ }
+ else
+ {
+ header.SetSourcePort (m_endPoint6->GetLocalPort ());
+ header.SetDestinationPort (m_endPoint6->GetPeerPort ());
+ }
header.SetWindowSize (AdvertisedWindowSize ());
AddOptions (header);
if (m_retxEvent.IsExpired () )
@@ -1394,8 +1742,16 @@
m_retxEvent = Simulator::Schedule (m_rto, &TcpSocketBase::ReTxTimeout, this);
}
NS_LOG_LOGIC ("Send packet via TcpL4Protocol with flags 0x" << std::hex << static_cast<uint32_t> (flags) << std::dec);
- m_tcp->SendPacket (p, header, m_endPoint->GetLocalAddress (),
- m_endPoint->GetPeerAddress (), m_boundnetdevice);
+ if (m_endPoint)
+ {
+ m_tcp->SendPacket (p, header, m_endPoint->GetLocalAddress (),
+ m_endPoint->GetPeerAddress (), m_boundnetdevice);
+ }
+ else
+ {
+ m_tcp->SendPacket (p, header, m_endPoint6->GetLocalAddress (),
+ m_endPoint6->GetPeerAddress (), m_boundnetdevice);
+ }
m_rtt->SentSeq (seq, sz); // notify the RTT
// Notify the application of the data being sent unless this is a retransmit
if (seq == m_nextTxSequence)
@@ -1415,7 +1771,8 @@
{
NS_LOG_FUNCTION (this << withAck);
if (m_txBuffer.Size () == 0) return false; // Nothing to send
- if (m_endPoint == 0)
+
+ if (m_endPoint == 0 && m_endPoint6 == 0)
{
NS_LOG_INFO ("TcpSocketBase::SendPendingData: No endpoint; m_shutdownSend=" << m_shutdownSend);
return false; // Is this the right way to handle this condition?
@@ -1438,7 +1795,7 @@
m_errno = ERROR_SHUTDOWN;
return false;
}
- // Stop sending if we need to wait for a larger Tx window
+ // Stop sending if we need to wait for a larger Tx window (prevent silly window syndrome)
if (w < m_segmentSize && m_txBuffer.SizeFromSequence (m_nextTxSequence) > w)
{
break; // No more
@@ -1664,13 +2021,29 @@
TcpHeader tcpHeader;
tcpHeader.SetSequenceNumber (m_nextTxSequence);
tcpHeader.SetAckNumber (m_rxBuffer.NextRxSequence ());
- tcpHeader.SetSourcePort (m_endPoint->GetLocalPort ());
- tcpHeader.SetDestinationPort (m_endPoint->GetPeerPort ());
tcpHeader.SetWindowSize (AdvertisedWindowSize ());
+ if (m_endPoint != 0)
+ {
+ tcpHeader.SetSourcePort (m_endPoint->GetLocalPort ());
+ tcpHeader.SetDestinationPort (m_endPoint->GetPeerPort ());
+ }
+ else
+ {
+ tcpHeader.SetSourcePort (m_endPoint6->GetLocalPort ());
+ tcpHeader.SetDestinationPort (m_endPoint6->GetPeerPort ());
+ }
AddOptions (tcpHeader);
- m_tcp->SendPacket (p, tcpHeader, m_endPoint->GetLocalAddress (),
- m_endPoint->GetPeerAddress (), m_boundnetdevice);
+ if (m_endPoint != 0)
+ {
+ m_tcp->SendPacket (p, tcpHeader, m_endPoint->GetLocalAddress (),
+ m_endPoint->GetPeerAddress (), m_boundnetdevice);
+ }
+ else
+ {
+ m_tcp->SendPacket (p, tcpHeader, m_endPoint6->GetLocalAddress (),
+ m_endPoint6->GetPeerAddress (), m_boundnetdevice);
+ }
NS_LOG_LOGIC ("Schedule persist timeout at time "
<< Simulator::Now ().GetSeconds () << " to expire at time "
<< (Simulator::Now () + m_persistTimeout).GetSeconds ());
--- a/src/internet/model/tcp-socket-base.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/tcp-socket-base.h Fri Mar 02 19:43:49 2012 +0100
@@ -38,6 +38,7 @@
namespace ns3 {
class Ipv4EndPoint;
+class Ipv6EndPoint;
class Node;
class Packet;
class TcpL4Protocol;
@@ -81,6 +82,7 @@
virtual enum SocketType GetSocketType (void) const; // returns socket type
virtual Ptr<Node> GetNode (void) const; // returns m_node
virtual int Bind (void); // Bind a socket by setting up endpoint in TcpL4Protocol
+ virtual int Bind6 (void); // Bind a socket by setting up endpoint in TcpL4Protocol
virtual int Bind (const Address &address); // ... endpoint of specific addr or port
virtual int Connect (const Address &address); // Setup endpoint and call ProcessAction() to connect
virtual int Listen (void); // Verify the socket is in a correct state and call ProcessAction() to listen
@@ -128,11 +130,14 @@
int DoConnect (void); // Sending a SYN packet to make a connection if the state allows
void ConnectionSucceeded (void); // Schedule-friendly wrapper for Socket::NotifyConnectionSucceeded()
int SetupEndpoint (void); // Configure m_endpoint for local addr for given remote addr
+ int SetupEndpoint6 (void); // Configure m_endpoint6 for local addr for given remote addr
void CompleteFork (Ptr<Packet>, const TcpHeader&, const Address& fromAddress, const Address& toAdress);
// Helper functions: Transfer operation
void ForwardUp (Ptr<Packet> packet, Ipv4Header header, uint16_t port, Ptr<Ipv4Interface> incomingInterface);
+ void ForwardUp6 (Ptr<Packet> packet, Ipv6Address saddr, Ipv6Address daddr, uint16_t port);
virtual void DoForwardUp (Ptr<Packet> packet, Ipv4Header header, uint16_t port, Ptr<Ipv4Interface> incomingInterface); //Get a pkt from L3
+ virtual void DoForwardUp (Ptr<Packet> packet, Ipv6Address saddr, Ipv6Address daddr, uint16_t port); // Ipv6 version
bool SendPendingData (bool withAck = false); // Send as much as the window allows
uint32_t SendDataPacket (SequenceNumber32 seq, uint32_t maxSize, bool withAck); // Send a data packet
void SendEmptyPacket (uint8_t flags); // Send a empty packet that carries a flag, e.g. ACK
@@ -143,6 +148,7 @@
int DoClose (void); // Close a socket by sending RST, FIN, or FIN+ACK, depend on the current state
void CloseAndNotify (void); // To CLOSED state, notify upper layer, and deallocate end point
void Destroy (void); // Kill this socket by zeroing its attributes
+ void Destroy6 (void); // Kill this socket by zeroing its attributes
void DeallocateEndPoint (void); // Deallocate m_endPoint
void PeerClose (Ptr<Packet>, const TcpHeader&); // Received a FIN from peer, notify rx buffer
void DoPeerClose (void); // FIN is in sequence, notify app and respond with a FIN
@@ -202,6 +208,7 @@
// Connections to other layers of TCP/IP
Ipv4EndPoint* m_endPoint;
+ Ipv6EndPoint* m_endPoint6;
Ptr<Node> m_node;
Ptr<TcpL4Protocol> m_tcp;
--- a/src/internet/model/udp-header.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/udp-header.cc Fri Mar 02 19:43:49 2012 +0100
@@ -70,9 +70,27 @@
{
return m_destinationPort;
}
+void
+UdpHeader::InitializeChecksum (Address source,
+ Address destination,
+ uint8_t protocol)
+{
+ m_source = source;
+ m_destination = destination;
+ m_protocol = protocol;
+}
+void
+UdpHeader::InitializeChecksum (Ipv4Address source,
+ Ipv4Address destination,
+ uint8_t protocol)
+{
+ m_source = source;
+ m_destination = destination;
+ m_protocol = protocol;
+}
void
-UdpHeader::InitializeChecksum (Ipv4Address source,
- Ipv4Address destination,
+UdpHeader::InitializeChecksum (Ipv6Address source,
+ Ipv6Address destination,
uint8_t protocol)
{
m_source = source;
@@ -82,20 +100,35 @@
uint16_t
UdpHeader::CalculateHeaderChecksum (uint16_t size) const
{
- Buffer buf = Buffer (12);
- buf.AddAtStart (12);
+ Buffer buf = Buffer ((2 * Address::MAX_SIZE) + 8);
+ buf.AddAtStart ((2 * Address::MAX_SIZE) + 8);
Buffer::Iterator it = buf.Begin ();
+ uint32_t hdrSize = 0;
WriteTo (it, m_source);
WriteTo (it, m_destination);
- it.WriteU8 (0); /* protocol */
- it.WriteU8 (m_protocol); /* protocol */
- it.WriteU8 (size >> 8); /* length */
- it.WriteU8 (size & 0xff); /* length */
+ if (Ipv4Address::IsMatchingType(m_source))
+ {
+ it.WriteU8 (0); /* protocol */
+ it.WriteU8 (m_protocol); /* protocol */
+ it.WriteU8 (size >> 8); /* length */
+ it.WriteU8 (size & 0xff); /* length */
+ hdrSize = 12;
+ }
+ else if (Ipv6Address::IsMatchingType(m_source))
+ {
+ it.WriteU16 (0);
+ it.WriteU8 (size >> 8); /* length */
+ it.WriteU8 (size & 0xff); /* length */
+ it.WriteU16 (0);
+ it.WriteU8 (0);
+ it.WriteU8 (m_protocol); /* protocol */
+ hdrSize = 40;
+ }
it = buf.Begin ();
/* we don't CompleteChecksum ( ~ ) now */
- return ~(it.CalculateIpChecksum (12));
+ return ~(it.CalculateIpChecksum (hdrSize));
}
bool
--- a/src/internet/model/udp-header.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/udp-header.h Fri Mar 02 19:43:49 2012 +0100
@@ -25,6 +25,7 @@
#include <string>
#include "ns3/header.h"
#include "ns3/ipv4-address.h"
+#include "ns3/ipv6-address.h"
namespace ns3 {
/**
@@ -79,10 +80,40 @@
* If you want to use udp checksums, you should call this
* method prior to adding the header to a packet.
*/
+ void InitializeChecksum (Address source,
+ Address destination,
+ uint8_t protocol);
+
+ /**
+ * \param source the ip source to use in the underlying
+ * ip packet.
+ * \param destination the ip destination to use in the
+ * underlying ip packet.
+ * \param protocol the protocol number to use in the underlying
+ * ip packet.
+ *
+ * If you want to use udp checksums, you should call this
+ * method prior to adding the header to a packet.
+ */
void InitializeChecksum (Ipv4Address source,
Ipv4Address destination,
uint8_t protocol);
+ /**
+ * \param source the ip source to use in the underlying
+ * ip packet.
+ * \param destination the ip destination to use in the
+ * underlying ip packet.
+ * \param protocol the protocol number to use in the underlying
+ * ip packet.
+ *
+ * If you want to use udp checksums, you should call this
+ * method prior to adding the header to a packet.
+ */
+ void InitializeChecksum (Ipv6Address source,
+ Ipv6Address destination,
+ uint8_t protocol);
+
static TypeId GetTypeId (void);
virtual TypeId GetInstanceTypeId (void) const;
virtual void Print (std::ostream &os) const;
@@ -102,8 +133,8 @@
uint16_t m_destinationPort;
uint16_t m_payloadSize;
- Ipv4Address m_source;
- Ipv4Address m_destination;
+ Address m_source;
+ Address m_destination;
uint8_t m_protocol;
bool m_calcChecksum;
bool m_goodChecksum;
--- a/src/internet/model/udp-l4-protocol.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/udp-l4-protocol.cc Fri Mar 02 19:43:49 2012 +0100
@@ -24,14 +24,20 @@
#include "ns3/node.h"
#include "ns3/boolean.h"
#include "ns3/object-vector.h"
+#include "ns3/ipv6.h"
#include "ns3/ipv4-route.h"
+#include "ns3/ipv6-route.h"
+#include "ns3/ipv6-header.h"
#include "udp-l4-protocol.h"
#include "udp-header.h"
#include "udp-socket-factory-impl.h"
#include "ipv4-end-point-demux.h"
#include "ipv4-end-point.h"
+#include "ipv6-end-point-demux.h"
+#include "ipv6-end-point.h"
#include "ipv4-l3-protocol.h"
+#include "ipv6-l3-protocol.h"
#include "udp-socket-impl.h"
NS_LOG_COMPONENT_DEFINE ("UdpL4Protocol");
@@ -47,7 +53,7 @@
UdpL4Protocol::GetTypeId (void)
{
static TypeId tid = TypeId ("ns3::UdpL4Protocol")
- .SetParent<Ipv4L4Protocol> ()
+ .SetParent<IpL4Protocol> ()
.AddConstructor<UdpL4Protocol> ()
.AddAttribute ("SocketList", "The list of sockets associated to this protocol.",
ObjectVectorValue (),
@@ -58,7 +64,7 @@
}
UdpL4Protocol::UdpL4Protocol ()
- : m_endPoints (new Ipv4EndPointDemux ())
+ : m_endPoints (new Ipv4EndPointDemux ()), m_endPoints6 (new Ipv6EndPointDemux ())
{
NS_LOG_FUNCTION_NOARGS ();
}
@@ -82,23 +88,36 @@
void
UdpL4Protocol::NotifyNewAggregate ()
{
+ Ptr<Node> node = this->GetObject<Node> ();
+ Ptr<Ipv4> ipv4 = this->GetObject<Ipv4> ();
+ Ptr<Ipv6L3Protocol> ipv6 = node->GetObject<Ipv6L3Protocol> ();
+
if (m_node == 0)
{
- Ptr<Node> node = this->GetObject<Node> ();
- if (node != 0)
+ if ((node != 0) && (ipv4 != 0 || ipv6 != 0))
{
- Ptr<Ipv4> ipv4 = this->GetObject<Ipv4> ();
- if (ipv4 != 0)
- {
- this->SetNode (node);
- ipv4->Insert (this);
- Ptr<UdpSocketFactoryImpl> udpFactory = CreateObject<UdpSocketFactoryImpl> ();
- udpFactory->SetUdp (this);
- node->AggregateObject (udpFactory);
- this->SetDownTarget (MakeCallback (&Ipv4::Send, ipv4));
- }
+ this->SetNode (node);
+ Ptr<UdpSocketFactoryImpl> udpFactory = CreateObject<UdpSocketFactoryImpl> ();
+ udpFactory->SetUdp (this);
+ node->AggregateObject (udpFactory);
}
}
+
+ // We set at least one of our 2 down targets to the IPv4/IPv6 send
+ // functions. Since these functions have different prototypes, we
+ // need to keep track of whether we are connected to an IPv4 or
+ // IPv6 lower layer and call the appropriate one.
+
+ if (ipv4 != 0)
+ {
+ ipv4->Insert (this);
+ this->SetDownTarget (MakeCallback (&Ipv4::Send, ipv4));
+ }
+ if (ipv6 != 0)
+ {
+ ipv6->Insert (this);
+ this->SetDownTarget6 (MakeCallback (&Ipv6L3Protocol::Send, ipv6));
+ }
Object::NotifyNewAggregate ();
}
@@ -124,12 +143,18 @@
delete m_endPoints;
m_endPoints = 0;
}
+ if (m_endPoints6 != 0)
+ {
+ delete m_endPoints6;
+ m_endPoints6 = 0;
+ }
m_node = 0;
m_downTarget.Nullify ();
+ m_downTarget6.Nullify ();
/*
= MakeNullCallback<void,Ptr<Packet>, Ipv4Address, Ipv4Address, uint8_t, Ptr<Ipv4Route> > ();
*/
- Ipv4L4Protocol::DoDispose ();
+ IpL4Protocol::DoDispose ();
}
Ptr<Socket>
@@ -186,6 +211,49 @@
m_endPoints->DeAllocate (endPoint);
}
+Ipv6EndPoint *
+UdpL4Protocol::Allocate6 (void)
+{
+ NS_LOG_FUNCTION_NOARGS ();
+ return m_endPoints6->Allocate ();
+}
+
+Ipv6EndPoint *
+UdpL4Protocol::Allocate6 (Ipv6Address address)
+{
+ NS_LOG_FUNCTION (this << address);
+ return m_endPoints6->Allocate (address);
+}
+
+Ipv6EndPoint *
+UdpL4Protocol::Allocate6 (uint16_t port)
+{
+ NS_LOG_FUNCTION (this << port);
+ return m_endPoints6->Allocate (port);
+}
+
+Ipv6EndPoint *
+UdpL4Protocol::Allocate6 (Ipv6Address address, uint16_t port)
+{
+ NS_LOG_FUNCTION (this << address << port);
+ return m_endPoints6->Allocate (address, port);
+}
+Ipv6EndPoint *
+UdpL4Protocol::Allocate6 (Ipv6Address localAddress, uint16_t localPort,
+ Ipv6Address peerAddress, uint16_t peerPort)
+{
+ NS_LOG_FUNCTION (this << localAddress << localPort << peerAddress << peerPort);
+ return m_endPoints6->Allocate (localAddress, localPort,
+ peerAddress, peerPort);
+}
+
+void
+UdpL4Protocol::DeAllocate (Ipv6EndPoint *endPoint)
+{
+ NS_LOG_FUNCTION (this << endPoint);
+ m_endPoints6->DeAllocate (endPoint);
+}
+
void
UdpL4Protocol::ReceiveIcmp (Ipv4Address icmpSource, uint8_t icmpTtl,
uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo,
@@ -213,7 +281,34 @@
}
}
-enum Ipv4L4Protocol::RxStatus
+void
+UdpL4Protocol::ReceiveIcmp (Ipv6Address icmpSource, uint8_t icmpTtl,
+ uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo,
+ Ipv6Address payloadSource,Ipv6Address payloadDestination,
+ const uint8_t payload[8])
+{
+ NS_LOG_FUNCTION (this << icmpSource << icmpTtl << icmpType << icmpCode << icmpInfo
+ << payloadSource << payloadDestination);
+ uint16_t src, dst;
+ src = payload[0] << 8;
+ src |= payload[1];
+ dst = payload[2] << 8;
+ dst |= payload[3];
+
+ Ipv6EndPoint *endPoint = m_endPoints6->SimpleLookup (payloadSource, src, payloadDestination, dst);
+ if (endPoint != 0)
+ {
+ endPoint->ForwardIcmp (icmpSource, icmpTtl, icmpType, icmpCode, icmpInfo);
+ }
+ else
+ {
+ NS_LOG_DEBUG ("no endpoint found source=" << payloadSource <<
+ ", destination="<<payloadDestination<<
+ ", src=" << src << ", dst=" << dst);
+ }
+}
+
+enum IpL4Protocol::RxStatus
UdpL4Protocol::Receive (Ptr<Packet> packet,
Ipv4Header const &header,
Ptr<Ipv4Interface> interface)
@@ -227,12 +322,17 @@
udpHeader.InitializeChecksum (header.GetSource (), header.GetDestination (), PROT_NUMBER);
- packet->RemoveHeader (udpHeader);
+ // We only peek at the header for now (instead of removing it) so that it will be intact
+ // if we have to pass it to a IPv6 endpoint via:
+ //
+ // UdpL4Protocol::Receive (Ptr<Packet> packet, Ipv6Address &src, Ipv6Address &dst, ...)
+
+ packet->PeekHeader (udpHeader);
if(!udpHeader.IsChecksumOk ())
{
NS_LOG_INFO ("Bad checksum : dropping packet!");
- return Ipv4L4Protocol::RX_CSUM_FAILED;
+ return IpL4Protocol::RX_CSUM_FAILED;
}
NS_LOG_DEBUG ("Looking up dst " << header.GetDestination () << " port " << udpHeader.GetDestinationPort ());
@@ -241,16 +341,67 @@
header.GetSource (), udpHeader.GetSourcePort (), interface);
if (endPoints.empty ())
{
+ if (this->GetObject<Ipv6L3Protocol> () != 0)
+ {
+ NS_LOG_LOGIC (" No Ipv4 endpoints matched on UdpL4Protocol, trying Ipv6 "<<this);
+ Ptr<Ipv6Interface> fakeInterface;
+ Ipv6Address src = Ipv6Address::MakeIpv4MappedAddress (header.GetSource ());
+ Ipv6Address dst = Ipv6Address::MakeIpv4MappedAddress (header.GetDestination ());
+ return (this->Receive (packet, src, dst, fakeInterface));
+ }
+
NS_LOG_LOGIC ("RX_ENDPOINT_UNREACH");
- return Ipv4L4Protocol::RX_ENDPOINT_UNREACH;
+ return IpL4Protocol::RX_ENDPOINT_UNREACH;
}
+
+ packet->RemoveHeader(udpHeader);
for (Ipv4EndPointDemux::EndPointsI endPoint = endPoints.begin ();
endPoint != endPoints.end (); endPoint++)
{
(*endPoint)->ForwardUp (packet->Copy (), header, udpHeader.GetSourcePort (),
interface);
}
- return Ipv4L4Protocol::RX_OK;
+ return IpL4Protocol::RX_OK;
+}
+
+enum IpL4Protocol::RxStatus
+UdpL4Protocol::Receive (Ptr<Packet> packet,
+ Ipv6Address &src,
+ Ipv6Address &dst,
+ Ptr<Ipv6Interface> interface)
+{
+ NS_LOG_FUNCTION (this << packet << src << dst);
+ UdpHeader udpHeader;
+ if(Node::ChecksumEnabled ())
+ {
+ udpHeader.EnableChecksums ();
+ }
+
+ udpHeader.InitializeChecksum (src, dst, PROT_NUMBER);
+
+ packet->RemoveHeader (udpHeader);
+
+ if(!udpHeader.IsChecksumOk () && !src.IsIpv4MappedAddress ())
+ {
+ NS_LOG_INFO ("Bad checksum : dropping packet!");
+ return IpL4Protocol::RX_CSUM_FAILED;
+ }
+
+ NS_LOG_DEBUG ("Looking up dst " << dst << " port " << udpHeader.GetDestinationPort ());
+ Ipv6EndPointDemux::EndPoints endPoints =
+ m_endPoints6->Lookup (dst, udpHeader.GetDestinationPort (),
+ src, udpHeader.GetSourcePort (), interface);
+ if (endPoints.empty ())
+ {
+ NS_LOG_LOGIC ("RX_ENDPOINT_UNREACH");
+ return IpL4Protocol::RX_ENDPOINT_UNREACH;
+ }
+ for (Ipv6EndPointDemux::EndPointsI endPoint = endPoints.begin ();
+ endPoint != endPoints.end (); endPoint++)
+ {
+ (*endPoint)->ForwardUp (packet->Copy (), src, dst, udpHeader.GetSourcePort ());
+ }
+ return IpL4Protocol::RX_OK;
}
void
@@ -300,16 +451,74 @@
}
void
-UdpL4Protocol::SetDownTarget (Ipv4L4Protocol::DownTargetCallback callback)
+UdpL4Protocol::Send (Ptr<Packet> packet,
+ Ipv6Address saddr, Ipv6Address daddr,
+ uint16_t sport, uint16_t dport)
+{
+ NS_LOG_FUNCTION (this << packet << saddr << daddr << sport << dport);
+
+ UdpHeader udpHeader;
+ if(Node::ChecksumEnabled ())
+ {
+ udpHeader.EnableChecksums ();
+ udpHeader.InitializeChecksum (saddr,
+ daddr,
+ PROT_NUMBER);
+ }
+ udpHeader.SetDestinationPort (dport);
+ udpHeader.SetSourcePort (sport);
+
+ packet->AddHeader (udpHeader);
+
+ m_downTarget6 (packet, saddr, daddr, PROT_NUMBER, 0);
+}
+
+void
+UdpL4Protocol::Send (Ptr<Packet> packet,
+ Ipv6Address saddr, Ipv6Address daddr,
+ uint16_t sport, uint16_t dport, Ptr<Ipv6Route> route)
+{
+ NS_LOG_FUNCTION (this << packet << saddr << daddr << sport << dport << route);
+
+ UdpHeader udpHeader;
+ if(Node::ChecksumEnabled ())
+ {
+ udpHeader.EnableChecksums ();
+ udpHeader.InitializeChecksum (saddr,
+ daddr,
+ PROT_NUMBER);
+ }
+ udpHeader.SetDestinationPort (dport);
+ udpHeader.SetSourcePort (sport);
+
+ packet->AddHeader (udpHeader);
+
+ m_downTarget6 (packet, saddr, daddr, PROT_NUMBER, route);
+}
+
+void
+UdpL4Protocol::SetDownTarget (IpL4Protocol::DownTargetCallback callback)
{
m_downTarget = callback;
}
-Ipv4L4Protocol::DownTargetCallback
+IpL4Protocol::DownTargetCallback
UdpL4Protocol::GetDownTarget (void) const
{
return m_downTarget;
}
+void
+UdpL4Protocol::SetDownTarget6 (IpL4Protocol::DownTargetCallback6 callback)
+{
+ m_downTarget6 = callback;
+}
+
+IpL4Protocol::DownTargetCallback6
+UdpL4Protocol::GetDownTarget6 (void) const
+{
+ return m_downTarget6;
+}
+
} // namespace ns3
--- a/src/internet/model/udp-l4-protocol.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/udp-l4-protocol.h Fri Mar 02 19:43:49 2012 +0100
@@ -25,8 +25,11 @@
#include "ns3/packet.h"
#include "ns3/ipv4-address.h"
+#include "ns3/ipv6-address.h"
#include "ns3/ptr.h"
-#include "ipv4-l4-protocol.h"
+#include "ns3/ip-l4-protocol.h"
+#include "ipv6-interface.h"
+#include "ipv6-header.h"
namespace ns3 {
@@ -34,13 +37,15 @@
class Socket;
class Ipv4EndPointDemux;
class Ipv4EndPoint;
+class Ipv6EndPointDemux;
+class Ipv6EndPoint;
class UdpSocketImpl;
/**
* \ingroup udp
* \brief Implementation of the UDP protocol
*/
-class UdpL4Protocol : public Ipv4L4Protocol {
+class UdpL4Protocol : public IpL4Protocol {
public:
static TypeId GetTypeId (void);
static const uint8_t PROT_NUMBER;
@@ -64,8 +69,15 @@
Ipv4EndPoint *Allocate (Ipv4Address address, uint16_t port);
Ipv4EndPoint *Allocate (Ipv4Address localAddress, uint16_t localPort,
Ipv4Address peerAddress, uint16_t peerPort);
+ Ipv6EndPoint *Allocate6 (void);
+ Ipv6EndPoint *Allocate6 (Ipv6Address address);
+ Ipv6EndPoint *Allocate6 (uint16_t port);
+ Ipv6EndPoint *Allocate6 (Ipv6Address address, uint16_t port);
+ Ipv6EndPoint *Allocate6 (Ipv6Address localAddress, uint16_t localPort,
+ Ipv6Address peerAddress, uint16_t peerPort);
void DeAllocate (Ipv4EndPoint *endPoint);
+ void DeAllocate (Ipv6EndPoint *endPoint);
// called by UdpSocket.
/**
@@ -82,6 +94,12 @@
void Send (Ptr<Packet> packet,
Ipv4Address saddr, Ipv4Address daddr,
uint16_t sport, uint16_t dport, Ptr<Ipv4Route> route);
+ void Send (Ptr<Packet> packet,
+ Ipv6Address saddr, Ipv6Address daddr,
+ uint16_t sport, uint16_t dport);
+ void Send (Ptr<Packet> packet,
+ Ipv6Address saddr, Ipv6Address daddr,
+ uint16_t sport, uint16_t dport, Ptr<Ipv6Route> route);
/**
* \brief Receive a packet up the protocol stack
* \param p The Packet to dump the contents into
@@ -89,9 +107,13 @@
* \param interface the interface from which the packet is coming.
*/
// inherited from Ipv4L4Protocol
- virtual enum Ipv4L4Protocol::RxStatus Receive (Ptr<Packet> p,
+ virtual enum IpL4Protocol::RxStatus Receive (Ptr<Packet> p,
Ipv4Header const &header,
Ptr<Ipv4Interface> interface);
+ virtual enum IpL4Protocol::RxStatus Receive (Ptr<Packet> p,
+ Ipv6Address &src,
+ Ipv6Address &dst,
+ Ptr<Ipv6Interface> interface);
/**
* \brief Receive an ICMP packet
@@ -108,11 +130,17 @@
uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo,
Ipv4Address payloadSource,Ipv4Address payloadDestination,
const uint8_t payload[8]);
+ virtual void ReceiveIcmp (Ipv6Address icmpSource, uint8_t icmpTtl,
+ uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo,
+ Ipv6Address payloadSource,Ipv6Address payloadDestination,
+ const uint8_t payload[8]);
- // From Ipv4L4Protocol
- virtual void SetDownTarget (Ipv4L4Protocol::DownTargetCallback cb);
- // From Ipv4L4Protocol
- virtual Ipv4L4Protocol::DownTargetCallback GetDownTarget (void) const;
+ // From IpL4Protocol
+ virtual void SetDownTarget (IpL4Protocol::DownTargetCallback cb);
+ virtual void SetDownTarget6 (IpL4Protocol::DownTargetCallback6 cb);
+ // From IpL4Protocol
+ virtual IpL4Protocol::DownTargetCallback GetDownTarget (void) const;
+ virtual IpL4Protocol::DownTargetCallback6 GetDownTarget6 (void) const;
protected:
virtual void DoDispose (void);
@@ -124,10 +152,12 @@
private:
Ptr<Node> m_node;
Ipv4EndPointDemux *m_endPoints;
+ Ipv6EndPointDemux *m_endPoints6;
UdpL4Protocol (const UdpL4Protocol &o);
UdpL4Protocol &operator = (const UdpL4Protocol &o);
std::vector<Ptr<UdpSocketImpl> > m_sockets;
- Ipv4L4Protocol::DownTargetCallback m_downTarget;
+ IpL4Protocol::DownTargetCallback m_downTarget;
+ IpL4Protocol::DownTargetCallback6 m_downTarget6;
};
} // namespace ns3
--- a/src/internet/model/udp-socket-impl.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/udp-socket-impl.cc Fri Mar 02 19:43:49 2012 +0100
@@ -21,16 +21,21 @@
#include "ns3/log.h"
#include "ns3/node.h"
#include "ns3/inet-socket-address.h"
+#include "ns3/inet6-socket-address.h"
#include "ns3/ipv4-route.h"
+#include "ns3/ipv6-route.h"
#include "ns3/ipv4.h"
+#include "ns3/ipv6.h"
#include "ns3/ipv4-header.h"
#include "ns3/ipv4-routing-protocol.h"
+#include "ns3/ipv6-routing-protocol.h"
#include "ns3/udp-socket-factory.h"
#include "ns3/trace-source-accessor.h"
#include "ns3/ipv4-packet-info-tag.h"
#include "udp-socket-impl.h"
#include "udp-l4-protocol.h"
#include "ipv4-end-point.h"
+#include "ipv6-end-point.h"
#include <limits>
NS_LOG_COMPONENT_DEFINE ("UdpSocketImpl");
@@ -52,12 +57,17 @@
CallbackValue (),
MakeCallbackAccessor (&UdpSocketImpl::m_icmpCallback),
MakeCallbackChecker ())
+ .AddAttribute ("IcmpCallback6", "Callback invoked whenever an icmpv6 error is received on this socket.",
+ CallbackValue (),
+ MakeCallbackAccessor (&UdpSocketImpl::m_icmpCallback6),
+ MakeCallbackChecker ())
;
return tid;
}
UdpSocketImpl::UdpSocketImpl ()
: m_endPoint (0),
+ m_endPoint6 (0),
m_node (0),
m_udp (0),
m_errno (ERROR_NOTERROR),
@@ -76,6 +86,11 @@
// XXX todo: leave any multicast groups that have been joined
m_node = 0;
+ /**
+ * Note: actually this function is called AFTER
+ * UdpSocketImpl::Destroy or UdpSocketImpl::Destroy6
+ * so the code below is unnecessary in normal operations
+ */
if (m_endPoint != 0)
{
NS_ASSERT (m_udp != 0);
@@ -91,6 +106,21 @@
m_udp->DeAllocate (m_endPoint);
NS_ASSERT (m_endPoint == 0);
}
+ if (m_endPoint6 != 0)
+ {
+ NS_ASSERT (m_udp != 0);
+ /**
+ * Note that this piece of code is a bit tricky:
+ * when DeAllocate is called, it will call into
+ * Ipv4EndPointDemux::Deallocate which triggers
+ * a delete of the associated endPoint which triggers
+ * in turn a call to the method UdpSocketImpl::Destroy below
+ * will will zero the m_endPoint field.
+ */
+ NS_ASSERT (m_endPoint6 != 0);
+ m_udp->DeAllocate (m_endPoint6);
+ NS_ASSERT (m_endPoint6 == 0);
+ }
m_udp = 0;
}
@@ -133,23 +163,40 @@
UdpSocketImpl::Destroy (void)
{
NS_LOG_FUNCTION_NOARGS ();
- m_node = 0;
m_endPoint = 0;
- m_udp = 0;
+}
+
+void
+UdpSocketImpl::Destroy6 (void)
+{
+ NS_LOG_FUNCTION_NOARGS ();
+ m_endPoint6 = 0;
}
int
UdpSocketImpl::FinishBind (void)
{
NS_LOG_FUNCTION_NOARGS ();
- if (m_endPoint == 0)
+ bool done = false;
+ if (m_endPoint != 0)
{
- return -1;
+ m_endPoint->SetRxCallback (MakeCallback (&UdpSocketImpl::ForwardUp, Ptr<UdpSocketImpl> (this)));
+ m_endPoint->SetIcmpCallback (MakeCallback (&UdpSocketImpl::ForwardIcmp, Ptr<UdpSocketImpl> (this)));
+ m_endPoint->SetDestroyCallback (MakeCallback (&UdpSocketImpl::Destroy, Ptr<UdpSocketImpl> (this)));
+ done = true;
}
- m_endPoint->SetRxCallback (MakeCallback (&UdpSocketImpl::ForwardUp, Ptr<UdpSocketImpl> (this)));
- m_endPoint->SetIcmpCallback (MakeCallback (&UdpSocketImpl::ForwardIcmp, Ptr<UdpSocketImpl> (this)));
- m_endPoint->SetDestroyCallback (MakeCallback (&UdpSocketImpl::Destroy, Ptr<UdpSocketImpl> (this)));
- return 0;
+ if (m_endPoint6 != 0)
+ {
+ m_endPoint6->SetRxCallback (MakeCallback (&UdpSocketImpl::ForwardUp6, Ptr<UdpSocketImpl> (this)));
+ m_endPoint6->SetIcmpCallback (MakeCallback (&UdpSocketImpl::ForwardIcmp6, Ptr<UdpSocketImpl> (this)));
+ m_endPoint6->SetDestroyCallback (MakeCallback (&UdpSocketImpl::Destroy6, Ptr<UdpSocketImpl> (this)));
+ done = true;
+ }
+ if (done)
+ {
+ return 0;
+ }
+ return -1;
}
int
@@ -160,36 +207,69 @@
return FinishBind ();
}
+int
+UdpSocketImpl::Bind6 (void)
+{
+ NS_LOG_FUNCTION_NOARGS ();
+ m_endPoint6 = m_udp->Allocate6 ();
+ return FinishBind ();
+}
+
int
UdpSocketImpl::Bind (const Address &address)
{
NS_LOG_FUNCTION (this << address);
- if (!InetSocketAddress::IsMatchingType (address))
+ if (InetSocketAddress::IsMatchingType (address))
+ {
+ InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
+ Ipv4Address ipv4 = transport.GetIpv4 ();
+ uint16_t port = transport.GetPort ();
+ if (ipv4 == Ipv4Address::GetAny () && port == 0)
+ {
+ m_endPoint = m_udp->Allocate ();
+ }
+ else if (ipv4 == Ipv4Address::GetAny () && port != 0)
+ {
+ m_endPoint = m_udp->Allocate (port);
+ }
+ else if (ipv4 != Ipv4Address::GetAny () && port == 0)
+ {
+ m_endPoint = m_udp->Allocate (ipv4);
+ }
+ else if (ipv4 != Ipv4Address::GetAny () && port != 0)
+ {
+ m_endPoint = m_udp->Allocate (ipv4, port);
+ }
+ }
+ else if (Inet6SocketAddress::IsMatchingType (address))
+ {
+ Inet6SocketAddress transport = Inet6SocketAddress::ConvertFrom (address);
+ Ipv6Address ipv6 = transport.GetIpv6 ();
+ uint16_t port = transport.GetPort ();
+ if (ipv6 == Ipv6Address::GetAny () && port == 0)
+ {
+ m_endPoint6 = m_udp->Allocate6 ();
+ }
+ else if (ipv6 == Ipv6Address::GetAny () && port != 0)
+ {
+ m_endPoint6 = m_udp->Allocate6 (port);
+ }
+ else if (ipv6 != Ipv6Address::GetAny () && port == 0)
+ {
+ m_endPoint6 = m_udp->Allocate6 (ipv6);
+ }
+ else if (ipv6 != Ipv6Address::GetAny () && port != 0)
+ {
+ m_endPoint6 = m_udp->Allocate6 (ipv6, port);
+ }
+ }
+ else
{
NS_LOG_ERROR ("Not IsMatchingType");
m_errno = ERROR_INVAL;
return -1;
}
- InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
- Ipv4Address ipv4 = transport.GetIpv4 ();
- uint16_t port = transport.GetPort ();
- if (ipv4 == Ipv4Address::GetAny () && port == 0)
- {
- m_endPoint = m_udp->Allocate ();
- }
- else if (ipv4 == Ipv4Address::GetAny () && port != 0)
- {
- m_endPoint = m_udp->Allocate (port);
- }
- else if (ipv4 != Ipv4Address::GetAny () && port == 0)
- {
- m_endPoint = m_udp->Allocate (ipv4);
- }
- else if (ipv4 != Ipv4Address::GetAny () && port != 0)
- {
- m_endPoint = m_udp->Allocate (ipv4, port);
- }
return FinishBind ();
}
@@ -228,11 +308,26 @@
UdpSocketImpl::Connect (const Address & address)
{
NS_LOG_FUNCTION (this << address);
- InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
- m_defaultAddress = transport.GetIpv4 ();
- m_defaultPort = transport.GetPort ();
- m_connected = true;
- NotifyConnectionSucceeded ();
+ if (InetSocketAddress::IsMatchingType(address) == true)
+ {
+ InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
+ m_defaultAddress = Address(transport.GetIpv4 ());
+ m_defaultPort = transport.GetPort ();
+ m_connected = true;
+ NotifyConnectionSucceeded ();
+ }
+ else if (Inet6SocketAddress::IsMatchingType(address) == true)
+ {
+ Inet6SocketAddress transport = Inet6SocketAddress::ConvertFrom (address);
+ m_defaultAddress = Address(transport.GetIpv6 ());
+ m_defaultPort = transport.GetPort ();
+ m_connected = true;
+ NotifyConnectionSucceeded ();
+ }
+ else
+ {
+ return -1;
+ }
return 0;
}
@@ -261,7 +356,7 @@
UdpSocketImpl::DoSend (Ptr<Packet> p)
{
NS_LOG_FUNCTION (this << p);
- if (m_endPoint == 0)
+ if ((m_endPoint == 0) && (InetSocketAddress::IsMatchingType(m_defaultAddress) == true))
{
if (Bind () == -1)
{
@@ -270,13 +365,22 @@
}
NS_ASSERT (m_endPoint != 0);
}
+ else if ((m_endPoint6 == 0) && (Inet6SocketAddress::IsMatchingType(m_defaultAddress) == true))
+ {
+ if (Bind6 () == -1)
+ {
+ NS_ASSERT (m_endPoint6 == 0);
+ return -1;
+ }
+ NS_ASSERT (m_endPoint6 != 0);
+ }
if (m_shutdownSend)
{
m_errno = ERROR_SHUTDOWN;
return -1;
}
- return DoSendTo (p, m_defaultAddress, m_defaultPort);
+ return DoSendTo (p, (const Address)m_defaultAddress);
}
int
@@ -287,17 +391,40 @@
if (!m_connected)
{
NS_LOG_LOGIC ("Not connected");
- InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
- Ipv4Address ipv4 = transport.GetIpv4 ();
- uint16_t port = transport.GetPort ();
- return DoSendTo (p, ipv4, port);
+ if (InetSocketAddress::IsMatchingType(address) == true)
+ {
+ InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
+ Ipv4Address ipv4 = transport.GetIpv4 ();
+ uint16_t port = transport.GetPort ();
+ return DoSendTo (p, ipv4, port);
+ }
+ else if (Inet6SocketAddress::IsMatchingType(address) == true)
+ {
+ Inet6SocketAddress transport = Inet6SocketAddress::ConvertFrom (address);
+ Ipv6Address ipv6 = transport.GetIpv6 ();
+ uint16_t port = transport.GetPort ();
+ return DoSendTo (p, ipv6, port);
+ }
+ else
+ {
+ return -1;
+ }
}
else
{
// connected UDP socket must use default addresses
NS_LOG_LOGIC ("Connected");
- return DoSendTo (p, m_defaultAddress, m_defaultPort);
+ if (Ipv4Address::IsMatchingType(m_defaultAddress))
+ {
+ return DoSendTo (p, Ipv4Address::ConvertFrom(m_defaultAddress), m_defaultPort);
+ }
+ else if (Ipv6Address::IsMatchingType(m_defaultAddress))
+ {
+ return DoSendTo (p, Ipv6Address::ConvertFrom(m_defaultAddress), m_defaultPort);
+ }
}
+ m_errno = ERROR_AFNOSUPPORT;
+ return(-1);
}
int
@@ -483,6 +610,113 @@
return 0;
}
+int
+UdpSocketImpl::DoSendTo (Ptr<Packet> p, Ipv6Address dest, uint16_t port)
+{
+ NS_LOG_FUNCTION (this << p << dest << port);
+
+ if (dest.IsIpv4MappedAddress ())
+ {
+ return (DoSendTo(p, dest.GetIpv4MappedAddress (), port));
+ }
+ if (m_boundnetdevice)
+ {
+ NS_LOG_LOGIC ("Bound interface number " << m_boundnetdevice->GetIfIndex ());
+ }
+ if (m_endPoint6 == 0)
+ {
+ if (Bind6 () == -1)
+ {
+ NS_ASSERT (m_endPoint6 == 0);
+ return -1;
+ }
+ NS_ASSERT (m_endPoint6 != 0);
+ }
+ if (m_shutdownSend)
+ {
+ m_errno = ERROR_SHUTDOWN;
+ return -1;
+ }
+
+ if (p->GetSize () > GetTxAvailable () )
+ {
+ m_errno = ERROR_MSGSIZE;
+ return -1;
+ }
+
+ Ptr<Ipv6> ipv6 = m_node->GetObject<Ipv6> ();
+
+ // Locally override the IP TTL for this socket
+ // We cannot directly modify the TTL at this stage, so we set a Packet tag
+ // The destination can be either multicast, unicast/anycast, or
+ // either all-hosts broadcast or limited (subnet-directed) broadcast.
+ // For the latter two broadcast types, the TTL will later be set to one
+ // irrespective of what is set in these socket options. So, this tagging
+ // may end up setting the TTL of a limited broadcast packet to be
+ // the same as a unicast, but it will be fixed further down the stack
+ if (m_ipMulticastTtl != 0 && dest.IsMulticast ())
+ {
+ SocketIpTtlTag tag;
+ tag.SetTtl (m_ipMulticastTtl);
+ p->AddPacketTag (tag);
+ }
+ else if (m_ipTtl != 0 && !dest.IsMulticast ())
+ {
+ SocketIpTtlTag tag;
+ tag.SetTtl (m_ipTtl);
+ p->AddPacketTag (tag);
+ }
+ // There is no analgous to an IPv4 broadcast address in IPv6.
+ // Instead, we use a set of link-local, site-local, and global
+ // multicast addresses. The Ipv6 routing layers should all
+ // provide an interface-specific route to these addresses such
+ // that we can treat these multicast addresses as "not broadcast"
+
+ if (m_endPoint6->GetLocalAddress () != Ipv6Address::GetAny ())
+ {
+ m_udp->Send (p->Copy (), m_endPoint6->GetLocalAddress (), dest,
+ m_endPoint6->GetLocalPort (), port, 0);
+ NotifyDataSent (p->GetSize ());
+ NotifySend (GetTxAvailable ());
+ return p->GetSize ();
+ }
+ else if (ipv6->GetRoutingProtocol () != 0)
+ {
+ Ipv6Header header;
+ header.SetDestinationAddress (dest);
+ header.SetNextHeader (UdpL4Protocol::PROT_NUMBER);
+ Socket::SocketErrno errno_;
+ Ptr<Ipv6Route> route;
+ Ptr<NetDevice> oif = m_boundnetdevice; //specify non-zero if bound to a specific device
+ // TBD-- we could cache the route and just check its validity
+ route = ipv6->GetRoutingProtocol ()->RouteOutput (p, header, oif, errno_);
+ if (route != 0)
+ {
+ NS_LOG_LOGIC ("Route exists");
+ header.SetSourceAddress (route->GetSource ());
+ m_udp->Send (p->Copy (), header.GetSourceAddress (), header.GetDestinationAddress (),
+ m_endPoint6->GetLocalPort (), port, route);
+ NotifyDataSent (p->GetSize ());
+ return p->GetSize ();
+ }
+ else
+ {
+ NS_LOG_LOGIC ("No route to destination");
+ NS_LOG_ERROR (errno_);
+ m_errno = errno_;
+ return -1;
+ }
+ }
+ else
+ {
+ NS_LOG_ERROR ("ERROR_NOROUTETOHOST");
+ m_errno = ERROR_NOROUTETOHOST;
+ return -1;
+ }
+
+ return 0;
+}
+
// XXX maximum message size for UDP broadcast is limited by MTU
// size of underlying link; we are not checking that now.
uint32_t
@@ -498,10 +732,21 @@
UdpSocketImpl::SendTo (Ptr<Packet> p, uint32_t flags, const Address &address)
{
NS_LOG_FUNCTION (this << p << flags << address);
- InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
- Ipv4Address ipv4 = transport.GetIpv4 ();
- uint16_t port = transport.GetPort ();
- return DoSendTo (p, ipv4, port);
+ if (InetSocketAddress::IsMatchingType (address))
+ {
+ InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
+ Ipv4Address ipv4 = transport.GetIpv4 ();
+ uint16_t port = transport.GetPort ();
+ return DoSendTo (p, ipv4, port);
+ }
+ else if (Inet6SocketAddress::IsMatchingType (address))
+ {
+ Inet6SocketAddress transport = Inet6SocketAddress::ConvertFrom (address);
+ Ipv6Address ipv6 = transport.GetIpv6 ();
+ uint16_t port = transport.GetPort ();
+ return DoSendTo (p, ipv6, port);
+ }
+ return -1;
}
uint32_t
@@ -547,9 +792,6 @@
bool found;
found = packet->PeekPacketTag (tag);
NS_ASSERT (found);
- //cast found to void, to suppress 'found' set but not used,compiler warning
- //in optimized builds
- (void) found;
fromAddress = tag.GetAddress ();
}
return packet;
@@ -660,6 +902,38 @@
}
}
+void
+UdpSocketImpl::ForwardUp6 (Ptr<Packet> packet, Ipv6Address saddr, Ipv6Address daddr, uint16_t port)
+{
+ NS_LOG_FUNCTION (this << packet << saddr << port);
+
+ if (m_shutdownRecv)
+ {
+ return;
+ }
+
+ if ((m_rxAvailable + packet->GetSize ()) <= m_rcvBufSize)
+ {
+ Address address = Inet6SocketAddress (saddr, port);
+ SocketAddressTag tag;
+ tag.SetAddress (address);
+ packet->AddPacketTag (tag);
+ m_deliveryQueue.push (packet);
+ m_rxAvailable += packet->GetSize ();
+ NotifyDataRecv ();
+ }
+ else
+ {
+ // In general, this case should not occur unless the
+ // receiving application reads data from this socket slowly
+ // in comparison to the arrival rate
+ //
+ // drop and trace packet
+ NS_LOG_WARN ("No receive buffer space available. Drop.");
+ m_dropTrace (packet);
+ }
+}
+
void
UdpSocketImpl::ForwardIcmp (Ipv4Address icmpSource, uint8_t icmpTtl,
uint8_t icmpType, uint8_t icmpCode,
@@ -673,6 +947,19 @@
}
}
+void
+UdpSocketImpl::ForwardIcmp6 (Ipv6Address icmpSource, uint8_t icmpTtl,
+ uint8_t icmpType, uint8_t icmpCode,
+ uint32_t icmpInfo)
+{
+ NS_LOG_FUNCTION (this << icmpSource << (uint32_t)icmpTtl << (uint32_t)icmpType <<
+ (uint32_t)icmpCode << icmpInfo);
+ if (!m_icmpCallback6.IsNull ())
+ {
+ m_icmpCallback6 (icmpSource, icmpTtl, icmpType, icmpCode, icmpInfo);
+ }
+}
+
void
UdpSocketImpl::SetRcvBufSize (uint32_t size)
--- a/src/internet/model/udp-socket-impl.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/model/udp-socket-impl.h Fri Mar 02 19:43:49 2012 +0100
@@ -34,6 +34,7 @@
namespace ns3 {
class Ipv4EndPoint;
+class Ipv6EndPoint;
class Node;
class Packet;
class UdpL4Protocol;
@@ -63,6 +64,7 @@
virtual enum SocketType GetSocketType (void) const;
virtual Ptr<Node> GetNode (void) const;
virtual int Bind (void);
+ virtual int Bind6 (void);
virtual int Bind (const Address &address);
virtual int Close (void);
virtual int ShutdownSend (void);
@@ -104,18 +106,25 @@
int FinishBind (void);
void ForwardUp (Ptr<Packet> p, Ipv4Header header, uint16_t port,
Ptr<Ipv4Interface> incomingInterface);
+ void ForwardUp6 (Ptr<Packet> p, Ipv6Address saddr, Ipv6Address daddr, uint16_t port);
void Destroy (void);
+ void Destroy6 (void);
int DoSend (Ptr<Packet> p);
int DoSendTo (Ptr<Packet> p, const Address &daddr);
int DoSendTo (Ptr<Packet> p, Ipv4Address daddr, uint16_t dport);
+ int DoSendTo (Ptr<Packet> p, Ipv6Address daddr, uint16_t dport);
void ForwardIcmp (Ipv4Address icmpSource, uint8_t icmpTtl,
uint8_t icmpType, uint8_t icmpCode,
uint32_t icmpInfo);
+ void ForwardIcmp6 (Ipv6Address icmpSource, uint8_t icmpTtl,
+ uint8_t icmpType, uint8_t icmpCode,
+ uint32_t icmpInfo);
Ipv4EndPoint *m_endPoint;
+ Ipv6EndPoint *m_endPoint6;
Ptr<Node> m_node;
Ptr<UdpL4Protocol> m_udp;
- Ipv4Address m_defaultAddress;
+ Address m_defaultAddress;
uint16_t m_defaultPort;
TracedCallback<Ptr<const Packet> > m_dropTrace;
@@ -136,6 +145,7 @@
bool m_ipMulticastLoop;
bool m_mtuDiscover;
Callback<void, Ipv4Address,uint8_t,uint8_t,uint8_t,uint32_t> m_icmpCallback;
+ Callback<void, Ipv6Address,uint8_t,uint8_t,uint8_t,uint32_t> m_icmpCallback6;
};
} // namespace ns3
--- a/src/internet/test/error-net-device.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/test/error-net-device.cc Fri Mar 02 19:43:49 2012 +0100
@@ -61,7 +61,7 @@
ErrorNetDevice::Receive (Ptr<Packet> packet, uint16_t protocol,
Mac48Address to, Mac48Address from)
{
- NS_LOG_FUNCTION (packet << protocol << to << from);
+ NS_LOG_FUNCTION (packet << protocol << to << from << *packet);
NetDevice::PacketType packetType;
if (m_receiveErrorModel && m_receiveErrorModel->IsCorrupt (packet) )
@@ -194,7 +194,7 @@
bool
ErrorNetDevice::Send(Ptr<Packet> packet, const Address& dest, uint16_t protocolNumber)
{
- NS_LOG_FUNCTION (packet << dest << protocolNumber);
+ NS_LOG_FUNCTION (packet << dest << protocolNumber << *packet);
Mac48Address to = Mac48Address::ConvertFrom (dest);
m_channel->Send (packet, protocolNumber, to, m_address, this);
return true;
@@ -202,6 +202,7 @@
bool
ErrorNetDevice::SendFrom(Ptr<Packet> packet, const Address& source, const Address& dest, uint16_t protocolNumber)
{
+ NS_LOG_FUNCTION (packet << source << dest << protocolNumber << *packet);
Mac48Address to = Mac48Address::ConvertFrom (dest);
Mac48Address from = Mac48Address::ConvertFrom (source);
m_channel->Send (packet, protocolNumber, to, from, this);
--- a/src/internet/test/ipv4-fragmentation-test.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/test/ipv4-fragmentation-test.cc Fri Mar 02 19:43:49 2012 +0100
@@ -20,7 +20,6 @@
/**
* This is the test code for ipv4-l3protocol.cc (only the fragmentation and reassembly part).
*/
-#define NS3_LOG_ENABLE 1
#include "ns3/test.h"
#include "ns3/config.h"
@@ -158,7 +157,7 @@
{
Ptr<Packet> packet;
Address from;
- while (packet = socket->RecvFrom (from))
+ while ((packet = socket->RecvFrom (from)))
{
if (InetSocketAddress::IsMatchingType (from))
{
@@ -192,7 +191,7 @@
{
Ptr<Packet> packet;
Address from;
- while (packet = socket->RecvFrom (from))
+ while ((packet = socket->RecvFrom (from)))
{
if (InetSocketAddress::IsMatchingType (from))
{
--- a/src/internet/test/ipv4-header-test.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/test/ipv4-header-test.cc Fri Mar 02 19:43:49 2012 +0100
@@ -105,9 +105,6 @@
NS_ASSERT (m_receivedPacket->GetSize () == 2);
m_receivedPacket = socket->Recv (std::numeric_limits<uint32_t>::max (), 0);
NS_ASSERT (availableData == m_receivedPacket->GetSize ());
- //cast availableData to void, to suppress 'availableData' set but not used
- //compiler warning
- (void) availableData;
m_receivedPacket->PeekHeader (m_receivedHeader);
}
--- a/src/internet/test/ipv4-raw-test.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/test/ipv4-raw-test.cc Fri Mar 02 19:43:49 2012 +0100
@@ -114,9 +114,6 @@
NS_ASSERT (m_receivedPacket->GetSize () == 2);
m_receivedPacket = socket->Recv (std::numeric_limits<uint32_t>::max (), 0);
NS_ASSERT (availableData == m_receivedPacket->GetSize ());
- //cast availableData to void, to suppress 'availableData' set but not used
- //compiler warning
- (void) availableData;
}
void Ipv4RawSocketImplTest::ReceivePkt2 (Ptr<Socket> socket)
@@ -127,9 +124,6 @@
NS_ASSERT (m_receivedPacket2->GetSize () == 2);
m_receivedPacket2 = socket->Recv (std::numeric_limits<uint32_t>::max (), 0);
NS_ASSERT (availableData == m_receivedPacket2->GetSize ());
- //cast availableData to void, to suppress 'availableData' set but not used
- //compiler warning
- (void) availableData;
}
void
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/internet/test/ipv6-dual-stack-test-suite.cc Fri Mar 02 19:43:49 2012 +0100
@@ -0,0 +1,313 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2007 Georgia Tech Research Corporation
+ * Copyright (c) 2009 INRIA
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Authors: Ken Renard <kenneth.d.renard.ctr@mail.mil>
+ *
+ */
+
+#include "ns3/test.h"
+#include "ns3/socket-factory.h"
+#include "ns3/tcp-socket-factory.h"
+#include "ns3/simulator.h"
+#include "ns3/simple-channel.h"
+#include "ns3/simple-net-device.h"
+#include "ns3/config.h"
+#include "ns3/ipv4-static-routing.h"
+#include "ns3/ipv4-list-routing.h"
+#include "ns3/ipv6-static-routing.h"
+#include "ns3/ipv6-list-routing.h"
+#include "ns3/node.h"
+#include "ns3/inet-socket-address.h"
+#include "ns3/inet6-socket-address.h"
+#include "ns3/uinteger.h"
+#include "ns3/log.h"
+
+#include "ns3/ipv4-end-point.h"
+#include "ns3/arp-l3-protocol.h"
+#include "ns3/ipv4-l3-protocol.h"
+#include "ns3/ipv6-l3-protocol.h"
+#include "ns3/icmpv4-l4-protocol.h"
+#include "ns3/icmpv6-l4-protocol.h"
+#include "ns3/udp-l4-protocol.h"
+#include "ns3/tcp-l4-protocol.h"
+
+#include <string>
+
+NS_LOG_COMPONENT_DEFINE ("Ipv6DualStackTestSuite");
+
+namespace ns3 {
+
+class DualStackTestCase : public TestCase
+{
+public:
+ DualStackTestCase ();
+private:
+ virtual void DoRun (void);
+ virtual void DoTeardown (void);
+
+ void SetUpSim ();
+ Ptr<Node> node0;
+ Ptr<Node> node1;
+
+ void ServerHandleConnectionCreated1 (Ptr<Socket> s, const Address & addr);
+ void ServerHandleConnectionCreated2 (Ptr<Socket> s, const Address & addr);
+ void ServerHandleConnectionCreated3 (Ptr<Socket> s, const Address & addr);
+ void ServerHandleConnectionCreated4 (Ptr<Socket> s, const Address & addr);
+
+ Ptr<Socket> server1;
+ Ptr<Socket> server2;
+ Ptr<Socket> server3;
+ Ptr<Socket> server4;
+
+ Ptr<Socket> source1;
+ Ptr<Socket> source2;
+ Ptr<Socket> source3;
+ Ptr<Socket> source4;
+
+ Address receivedAddr1;
+ Address receivedAddr2;
+ Address receivedAddr3;
+ Address receivedAddr4;
+};
+
+Ptr<Node>
+CreateDualStackNode ()
+{
+ Ptr<Node> node = CreateObject<Node> ();
+
+ //ARP
+ Ptr<ArpL3Protocol> arp = CreateObject<ArpL3Protocol> ();
+ node->AggregateObject (arp);
+
+ //IPV4
+ Ptr<Ipv4L3Protocol> ipv4 = CreateObject<Ipv4L3Protocol> ();
+ //Routing for Ipv4
+ Ptr<Ipv4ListRouting> ipv4Routing = CreateObject<Ipv4ListRouting> ();
+ ipv4->SetRoutingProtocol (ipv4Routing);
+ Ptr<Ipv4StaticRouting> ipv4staticRouting = CreateObject<Ipv4StaticRouting> ();
+ ipv4Routing->AddRoutingProtocol (ipv4staticRouting, 0);
+ node->AggregateObject (ipv4);
+
+ //ICMPv4
+ Ptr<Icmpv4L4Protocol> icmp = CreateObject<Icmpv4L4Protocol> ();
+ node->AggregateObject (icmp);
+
+ //UDP
+ Ptr<UdpL4Protocol> udp = CreateObject<UdpL4Protocol> ();
+ node->AggregateObject (udp);
+
+ //TCP
+ Ptr<TcpL4Protocol> tcp = CreateObject<TcpL4Protocol> ();
+ node->AggregateObject (tcp);
+
+ //IPV6
+ Ptr<Ipv6L3Protocol> ipv6 = CreateObject<Ipv6L3Protocol> ();
+
+ //Routing for Ipv6
+ Ptr<Ipv6ListRouting> ipv6Routing = CreateObject<Ipv6ListRouting> ();
+ ipv6->SetRoutingProtocol (ipv6Routing);
+ Ptr<Ipv6StaticRouting> ipv6staticRouting = CreateObject<Ipv6StaticRouting> ();
+ ipv6Routing->AddRoutingProtocol (ipv6staticRouting, 0);
+ node->AggregateObject (ipv6);
+
+ //ICMPv6
+ Ptr<Icmpv6L4Protocol> icmp6 = CreateObject<Icmpv6L4Protocol> ();
+ node->AggregateObject (icmp6);
+
+ //Ipv6 Extensions
+ ipv6->RegisterExtensions ();
+ ipv6->RegisterOptions ();
+
+ return node;
+}
+
+Ptr<SimpleNetDevice>
+AddSimpleNetDevice (Ptr<Node> node, Ipv4Address v4Addr, Ipv4Mask v4Mask,
+ Ipv6Address v6Addr, Ipv6Prefix v6Prefix)
+{
+ Ptr<SimpleNetDevice> dev = CreateObject<SimpleNetDevice> ();
+ dev->SetAddress (Mac48Address::ConvertFrom (Mac48Address::Allocate ()));
+ node->AddDevice (dev);
+
+ Ptr<Ipv4> ipv4 = node->GetObject<Ipv4> ();
+ uint32_t ndid = ipv4->AddInterface (dev);
+ Ipv4InterfaceAddress ipv4Addr = Ipv4InterfaceAddress (v4Addr, v4Mask);
+ ipv4->AddAddress (ndid, ipv4Addr);
+ ipv4->SetUp (ndid);
+
+ Ptr<Ipv6> ipv6 = node->GetObject<Ipv6> ();
+ ndid = ipv6->AddInterface (dev);
+ Ipv6InterfaceAddress ipv6Addr = Ipv6InterfaceAddress (v6Addr, v6Prefix);
+ ipv6->AddAddress (ndid, ipv6Addr);
+ ipv6->SetUp (ndid);
+
+ return dev;
+}
+
+void
+DualStackTestCase::SetUpSim ()
+{
+ node0 = CreateDualStackNode ();
+ node1 = CreateDualStackNode ();
+
+ Ptr<SimpleNetDevice> dev0 = AddSimpleNetDevice(node0, Ipv4Address("10.0.0.1"),
+ Ipv4Mask(0xffffff00), Ipv6Address("2001::1"), Ipv6Prefix(64));
+ Ptr<SimpleNetDevice> dev1 = AddSimpleNetDevice(node1, Ipv4Address("10.0.0.2"),
+ Ipv4Mask(0xffffff00), Ipv6Address("2001::2"), Ipv6Prefix(64));
+
+ Ptr<SimpleChannel> channel = CreateObject<SimpleChannel> ();
+ dev0->SetChannel (channel);
+ dev1->SetChannel (channel);
+
+ Ptr<SocketFactory> sockFactory0 = node0->GetObject<TcpSocketFactory> ();
+ Ptr<SocketFactory> sockFactory1 = node1->GetObject<TcpSocketFactory> ();
+
+ server1 = sockFactory0->CreateSocket ();
+ server2 = sockFactory0->CreateSocket ();
+ server3 = sockFactory0->CreateSocket ();
+ server4 = sockFactory0->CreateSocket ();
+
+ source1 = sockFactory1->CreateSocket ();
+ source2 = sockFactory1->CreateSocket ();
+ source3 = sockFactory1->CreateSocket ();
+ source4 = sockFactory1->CreateSocket ();
+
+ return;
+}
+
+void
+DualStackTestCase::ServerHandleConnectionCreated1 (Ptr<Socket> s, const Address & addr)
+{
+ receivedAddr1 = addr;
+ return;
+}
+
+void
+DualStackTestCase::ServerHandleConnectionCreated2 (Ptr<Socket> s, const Address & addr)
+{
+ receivedAddr2 = addr;
+ return;
+}
+
+void
+DualStackTestCase::ServerHandleConnectionCreated3 (Ptr<Socket> s, const Address & addr)
+{
+ receivedAddr3 = addr;
+ return;
+}
+
+void
+DualStackTestCase::ServerHandleConnectionCreated4 (Ptr<Socket> s, const Address & addr)
+{
+ receivedAddr4 = addr;
+ return;
+}
+
+
+DualStackTestCase::DualStackTestCase ()
+ : TestCase ("DualStackTestCase")
+{
+ receivedAddr1 = Address ();
+ receivedAddr2 = Address ();
+ receivedAddr3 = Address ();
+ receivedAddr4 = Address ();
+}
+
+void
+DualStackTestCase::DoRun (void)
+{
+ SetUpSim ();
+
+ uint16_t port1 = 5000;
+ uint16_t port2 = 5001;
+ uint16_t port3 = 5002;
+ uint16_t port4 = 5003;
+
+ /* Server 1: listen on 0.0.0.0 for IPv4 connection */
+ server1->Bind (InetSocketAddress(Ipv4Address::GetAny(), port1));
+ server1->Listen ();
+ server1->SetAcceptCallback (MakeNullCallback<bool, Ptr< Socket >, const Address &> (),
+ MakeCallback (&DualStackTestCase::ServerHandleConnectionCreated1, this));
+
+ /* Server 2: listen on 0.0.0.0 for IPv4 connection - should reject IPv6 */
+ server2->Bind (InetSocketAddress(Ipv4Address::GetAny(), port2));
+ server2->Listen ();
+ server2->SetAcceptCallback (MakeNullCallback<bool, Ptr< Socket >, const Address &> (),
+ MakeCallback (&DualStackTestCase::ServerHandleConnectionCreated2, this));
+
+ /* Server 3: listen on :: for IPv4 (mapped into IPv6 address) connection */
+ server3->Bind (Inet6SocketAddress(Ipv6Address::GetAny(), port3));
+ server3->Listen ();
+ server3->SetAcceptCallback (MakeNullCallback<bool, Ptr< Socket >, const Address &> (),
+ MakeCallback (&DualStackTestCase::ServerHandleConnectionCreated3, this));
+
+ /* Server 4: listen on :: for IPv6 connection */
+ server4->Bind (Inet6SocketAddress(Ipv6Address::GetAny(), port4));
+ server4->Listen ();
+ server4->SetAcceptCallback (MakeNullCallback<bool, Ptr< Socket >, const Address &> (),
+ MakeCallback (&DualStackTestCase::ServerHandleConnectionCreated4, this));
+
+
+ /* Source 1: connect to server 1 via IPv4 */
+ source1->Connect(InetSocketAddress(Ipv4Address("10.0.0.1"), port1));
+
+ /* Source 2: connect to server 2 via IPv6 */
+ source2->Connect(Inet6SocketAddress(Ipv6Address("2001::1"), port2));
+
+ /* Source 3: connect to server 3 via IPv4 */
+ source3->Connect(InetSocketAddress(Ipv4Address("10.0.0.1"), port3));
+
+ /* Source 4: connect to server 4 via IPv6 */
+ source4->Connect(Inet6SocketAddress(Ipv6Address("2001::1"), port4));
+
+ Simulator::Run();
+
+ /* Server 1: should have connection from Ipv4 address of Node 1 */
+ NS_TEST_EXPECT_MSG_EQ (InetSocketAddress::IsMatchingType(receivedAddr1), true, "Accepted address is of proper type");
+ NS_TEST_EXPECT_MSG_EQ(InetSocketAddress::ConvertFrom(receivedAddr1).GetIpv4 (), Ipv4Address("10.0.0.2"), "Accepted address is correct");
+
+ /* Server 2: should have no connection */
+ NS_TEST_EXPECT_MSG_EQ(receivedAddr2.IsInvalid(), true, "IPv4 socket correctly ignored IPv6 connection");
+
+ /* Server 3: should have connection from Ipv4-mapped IPv6 address of Node 1 */
+ NS_TEST_EXPECT_MSG_EQ (Inet6SocketAddress::IsMatchingType(receivedAddr3), true, "Accepted address is of proper type");
+ NS_TEST_EXPECT_MSG_EQ(Inet6SocketAddress::ConvertFrom(receivedAddr3).GetIpv6 (), Ipv6Address("::ffff:0a00:0002"), "Accepted address is correct");
+
+ /* Server 4: should have connection from IPv6 address of Node 1 */
+ NS_TEST_EXPECT_MSG_EQ (Inet6SocketAddress::IsMatchingType(receivedAddr4), true, "Accepted address is of proper type");
+ NS_TEST_EXPECT_MSG_EQ(Inet6SocketAddress::ConvertFrom(receivedAddr4).GetIpv6 (), Ipv6Address("2001::2"), "Accepted address is correct");
+}
+
+void
+DualStackTestCase::DoTeardown (void)
+{
+ Simulator::Destroy ();
+}
+
+
+static class Ipv6DualStackTestSuite : public TestSuite
+{
+public:
+ Ipv6DualStackTestSuite ()
+ : TestSuite ("ipv6-dual-stack", UNIT)
+ {
+ AddTestCase (new DualStackTestCase());
+ }
+} g_ipv6DualStackTestSuite;
+
+} // namespace ns3
--- a/src/internet/test/tcp-test.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/test/tcp-test.cc Fri Mar 02 19:43:49 2012 +0100
@@ -30,15 +30,20 @@
#include "ns3/config.h"
#include "ns3/ipv4-static-routing.h"
#include "ns3/ipv4-list-routing.h"
+#include "ns3/ipv6-static-routing.h"
+#include "ns3/ipv6-list-routing.h"
#include "ns3/node.h"
#include "ns3/inet-socket-address.h"
+#include "ns3/inet6-socket-address.h"
#include "ns3/uinteger.h"
#include "ns3/log.h"
#include "ns3/ipv4-end-point.h"
#include "ns3/arp-l3-protocol.h"
#include "ns3/ipv4-l3-protocol.h"
+#include "ns3/ipv6-l3-protocol.h"
#include "ns3/icmpv4-l4-protocol.h"
+#include "ns3/icmpv6-l4-protocol.h"
#include "ns3/udp-l4-protocol.h"
#include "ns3/tcp-l4-protocol.h"
@@ -55,14 +60,18 @@
uint32_t sourceWriteSize,
uint32_t sourceReadSize,
uint32_t serverWriteSize,
- uint32_t serverReadSize);
+ uint32_t serverReadSize,
+ bool useIpv6);
private:
virtual void DoRun (void);
virtual void DoTeardown (void);
void SetupDefaultSim (void);
+ void SetupDefaultSim6 (void);
Ptr<Node> CreateInternetNode (void);
+ Ptr<Node> CreateInternetNode6 (void);
Ptr<SimpleNetDevice> AddSimpleNetDevice (Ptr<Node> node, const char* ipaddr, const char* netmask);
+ Ptr<SimpleNetDevice> AddSimpleNetDevice6 (Ptr<Node> node, Ipv6Address ipaddr, Ipv6Prefix prefix);
void ServerHandleConnectionCreated (Ptr<Socket> s, const Address & addr);
void ServerHandleRecv (Ptr<Socket> sock);
void ServerHandleSend (Ptr<Socket> sock, uint32_t available);
@@ -81,18 +90,21 @@
uint8_t *m_sourceTxPayload;
uint8_t *m_sourceRxPayload;
uint8_t* m_serverRxPayload;
+
+ bool m_useIpv6;
};
static std::string Name (std::string str, uint32_t totalStreamSize,
uint32_t sourceWriteSize,
uint32_t serverReadSize,
uint32_t serverWriteSize,
- uint32_t sourceReadSize)
+ uint32_t sourceReadSize,
+ bool useIpv6)
{
std::ostringstream oss;
oss << str << " total=" << totalStreamSize << " sourceWrite=" << sourceWriteSize
<< " sourceRead=" << sourceReadSize << " serverRead=" << serverReadSize
- << " serverWrite=" << serverWriteSize;
+ << " serverWrite=" << serverWriteSize << " useIpv6=" << useIpv6;
return oss.str ();
}
@@ -109,18 +121,21 @@
uint32_t sourceWriteSize,
uint32_t sourceReadSize,
uint32_t serverWriteSize,
- uint32_t serverReadSize)
+ uint32_t serverReadSize,
+ bool useIpv6)
: TestCase (Name ("Send string data from client to server and back",
totalStreamSize,
sourceWriteSize,
serverReadSize,
serverWriteSize,
- sourceReadSize)),
+ sourceReadSize,
+ useIpv6)),
m_totalBytes (totalStreamSize),
m_sourceWriteSize (sourceWriteSize),
m_sourceReadSize (sourceReadSize),
m_serverWriteSize (serverWriteSize),
- m_serverReadSize (serverReadSize)
+ m_serverReadSize (serverReadSize),
+ m_useIpv6 (useIpv6)
{
}
@@ -142,7 +157,14 @@
memset (m_sourceRxPayload, 0, m_totalBytes);
memset (m_serverRxPayload, 0, m_totalBytes);
- SetupDefaultSim ();
+ if (m_useIpv6 == true)
+ {
+ SetupDefaultSim6 ();
+ }
+ else
+ {
+ SetupDefaultSim ();
+ }
Simulator::Run ();
@@ -326,6 +348,83 @@
source->Connect (serverremoteaddr);
}
+void
+TcpTestCase::SetupDefaultSim6 (void)
+{
+ Ipv6Prefix prefix = Ipv6Prefix(64);
+ Ipv6Address ipaddr0 = Ipv6Address("2001:0100:f00d:cafe::1");
+ Ipv6Address ipaddr1 = Ipv6Address("2001:0100:f00d:cafe::2");
+ Ptr<Node> node0 = CreateInternetNode6 ();
+ Ptr<Node> node1 = CreateInternetNode6 ();
+ Ptr<SimpleNetDevice> dev0 = AddSimpleNetDevice6 (node0, ipaddr0, prefix);
+ Ptr<SimpleNetDevice> dev1 = AddSimpleNetDevice6 (node1, ipaddr1, prefix);
+
+ Ptr<SimpleChannel> channel = CreateObject<SimpleChannel> ();
+ dev0->SetChannel (channel);
+ dev1->SetChannel (channel);
+
+ Ptr<SocketFactory> sockFactory0 = node0->GetObject<TcpSocketFactory> ();
+ Ptr<SocketFactory> sockFactory1 = node1->GetObject<TcpSocketFactory> ();
+
+ Ptr<Socket> server = sockFactory0->CreateSocket ();
+ Ptr<Socket> source = sockFactory1->CreateSocket ();
+
+ uint16_t port = 50000;
+ Inet6SocketAddress serverlocaladdr (Ipv6Address::GetAny (), port);
+ Inet6SocketAddress serverremoteaddr (ipaddr0, port);
+
+ server->Bind (serverlocaladdr);
+ server->Listen ();
+ server->SetAcceptCallback (MakeNullCallback<bool, Ptr< Socket >, const Address &> (),
+ MakeCallback (&TcpTestCase::ServerHandleConnectionCreated,this));
+
+ source->SetRecvCallback (MakeCallback (&TcpTestCase::SourceHandleRecv, this));
+ source->SetSendCallback (MakeCallback (&TcpTestCase::SourceHandleSend, this));
+
+ source->Connect (serverremoteaddr);
+}
+
+Ptr<Node>
+TcpTestCase::CreateInternetNode6 ()
+{
+ Ptr<Node> node = CreateObject<Node> ();
+ //IPV6
+ Ptr<Ipv6L3Protocol> ipv6 = CreateObject<Ipv6L3Protocol> ();
+ //Routing for Ipv6
+ Ptr<Ipv6ListRouting> ipv6Routing = CreateObject<Ipv6ListRouting> ();
+ ipv6->SetRoutingProtocol (ipv6Routing);
+ Ptr<Ipv6StaticRouting> ipv6staticRouting = CreateObject<Ipv6StaticRouting> ();
+ ipv6Routing->AddRoutingProtocol (ipv6staticRouting, 0);
+ node->AggregateObject (ipv6);
+ //ICMP
+ Ptr<Icmpv6L4Protocol> icmp = CreateObject<Icmpv6L4Protocol> ();
+ node->AggregateObject (icmp);
+ //Ipv6 Extensions
+ ipv6->RegisterExtensions ();
+ ipv6->RegisterOptions ();
+ //UDP
+ Ptr<UdpL4Protocol> udp = CreateObject<UdpL4Protocol> ();
+ node->AggregateObject (udp);
+ //TCP
+ Ptr<TcpL4Protocol> tcp = CreateObject<TcpL4Protocol> ();
+ node->AggregateObject (tcp);
+ return node;
+}
+
+Ptr<SimpleNetDevice>
+TcpTestCase::AddSimpleNetDevice6 (Ptr<Node> node, Ipv6Address ipaddr, Ipv6Prefix prefix)
+{
+ Ptr<SimpleNetDevice> dev = CreateObject<SimpleNetDevice> ();
+ dev->SetAddress (Mac48Address::ConvertFrom (Mac48Address::Allocate ()));
+ node->AddDevice (dev);
+ Ptr<Ipv6> ipv6 = node->GetObject<Ipv6> ();
+ uint32_t ndid = ipv6->AddInterface (dev);
+ Ipv6InterfaceAddress ipv6Addr = Ipv6InterfaceAddress (ipaddr, prefix);
+ ipv6->AddAddress (ndid, ipv6Addr);
+ ipv6->SetUp (ndid);
+ return dev;
+}
+
static class TcpTestSuite : public TestSuite
{
public:
@@ -336,9 +435,13 @@
// 2) source write size, 3) source read size
// 4) server write size, and 5) server read size
// with units of bytes
- AddTestCase (new TcpTestCase (13, 200, 200, 200, 200));
- AddTestCase (new TcpTestCase (13, 1, 1, 1, 1));
- AddTestCase (new TcpTestCase (100000, 100, 50, 100, 20));
+ AddTestCase (new TcpTestCase (13, 200, 200, 200, 200, false));
+ AddTestCase (new TcpTestCase (13, 1, 1, 1, 1, false));
+ AddTestCase (new TcpTestCase (100000, 100, 50, 100, 20, false));
+
+ AddTestCase (new TcpTestCase (13, 200, 200, 200, 200, true));
+ AddTestCase (new TcpTestCase (13, 1, 1, 1, 1, true));
+ AddTestCase (new TcpTestCase (100000, 100, 50, 100, 20, true));
}
} g_tcpTestSuite;
--- a/src/internet/test/udp-test.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/test/udp-test.cc Fri Mar 02 19:43:49 2012 +0100
@@ -34,14 +34,19 @@
#include "ns3/log.h"
#include "ns3/node.h"
#include "ns3/inet-socket-address.h"
+#include "ns3/inet6-socket-address.h"
#include "ns3/arp-l3-protocol.h"
#include "ns3/ipv4-l3-protocol.h"
+#include "ns3/ipv6-l3-protocol.h"
#include "ns3/icmpv4-l4-protocol.h"
+#include "ns3/icmpv6-l4-protocol.h"
#include "ns3/udp-l4-protocol.h"
#include "ns3/tcp-l4-protocol.h"
#include "ns3/ipv4-list-routing.h"
#include "ns3/ipv4-static-routing.h"
+#include "ns3/ipv6-list-routing.h"
+#include "ns3/ipv6-static-routing.h"
#include <string>
#include <limits>
@@ -72,6 +77,31 @@
node->AggregateObject (tcp);
}
+static void
+AddInternetStack6 (Ptr<Node> node)
+{
+ //IPV6
+ Ptr<Ipv6L3Protocol> ipv6 = CreateObject<Ipv6L3Protocol> ();
+ //Routing for Ipv6
+ Ptr<Ipv6ListRouting> ipv6Routing = CreateObject<Ipv6ListRouting> ();
+ ipv6->SetRoutingProtocol (ipv6Routing);
+ Ptr<Ipv6StaticRouting> ipv6staticRouting = CreateObject<Ipv6StaticRouting> ();
+ ipv6Routing->AddRoutingProtocol (ipv6staticRouting, 0);
+ node->AggregateObject (ipv6);
+ //ICMP
+ Ptr<Icmpv6L4Protocol> icmp = CreateObject<Icmpv6L4Protocol> ();
+ node->AggregateObject (icmp);
+ //Ipv6 Extensions
+ ipv6->RegisterExtensions ();
+ ipv6->RegisterOptions ();
+ //UDP
+ Ptr<UdpL4Protocol> udp = CreateObject<UdpL4Protocol> ();
+ node->AggregateObject (udp);
+ //TCP
+ Ptr<TcpL4Protocol> tcp = CreateObject<TcpL4Protocol> ();
+ node->AggregateObject (tcp);
+}
+
class UdpSocketLoopbackTest : public TestCase
{
@@ -94,9 +124,6 @@
availableData = socket->GetRxAvailable ();
m_receivedPacket = socket->Recv (std::numeric_limits<uint32_t>::max (), 0);
NS_ASSERT (availableData == m_receivedPacket->GetSize ());
- //cast availableData to void, to suppress 'availableData' set but not used
- //compiler warning
- (void) availableData;
}
void
@@ -117,6 +144,50 @@
NS_TEST_EXPECT_MSG_EQ (m_receivedPacket->GetSize (), 246, "first socket should not receive it (it is bound specifically to the second interface's address");
}
+class Udp6SocketLoopbackTest : public TestCase
+{
+public:
+ Udp6SocketLoopbackTest ();
+ virtual void DoRun (void);
+
+ void ReceivePkt (Ptr<Socket> socket);
+ Ptr<Packet> m_receivedPacket;
+};
+
+Udp6SocketLoopbackTest::Udp6SocketLoopbackTest ()
+ : TestCase ("UDP6 loopback test")
+{
+}
+
+void Udp6SocketLoopbackTest::ReceivePkt (Ptr<Socket> socket)
+{
+ uint32_t availableData;
+ availableData = socket->GetRxAvailable ();
+ m_receivedPacket = socket->Recv (std::numeric_limits<uint32_t>::max (), 0);
+ NS_ASSERT (availableData == m_receivedPacket->GetSize ());
+ //cast availableData to void, to suppress 'availableData' set but not used
+ //compiler warning
+ (void) availableData;
+}
+
+void
+Udp6SocketLoopbackTest::DoRun ()
+{
+ Ptr<Node> rxNode = CreateObject<Node> ();
+ AddInternetStack6 (rxNode);
+
+ Ptr<SocketFactory> rxSocketFactory = rxNode->GetObject<UdpSocketFactory> ();
+ Ptr<Socket> rxSocket = rxSocketFactory->CreateSocket ();
+ rxSocket->Bind (Inet6SocketAddress (Ipv6Address::GetAny (), 80));
+ rxSocket->SetRecvCallback (MakeCallback (&Udp6SocketLoopbackTest::ReceivePkt, this));
+
+ Ptr<Socket> txSocket = rxSocketFactory->CreateSocket ();
+ txSocket->SendTo (Create<Packet> (246), 0, Inet6SocketAddress ("::1", 80));
+ Simulator::Run ();
+ Simulator::Destroy ();
+ NS_TEST_EXPECT_MSG_EQ (m_receivedPacket->GetSize (), 246, "first socket should not receive it (it is bound specifically to the second interface's address");
+}
+
class UdpSocketImplTest : public TestCase
{
Ptr<Packet> m_receivedPacket;
@@ -155,9 +226,6 @@
availableData = socket->GetRxAvailable ();
m_receivedPacket = socket->Recv (std::numeric_limits<uint32_t>::max (), 0);
NS_ASSERT (availableData == m_receivedPacket->GetSize ());
- //cast availableData to void, to suppress 'availableData' set but not used
- //compiler warning
- (void) availableData;
}
void UdpSocketImplTest::ReceivePkt2 (Ptr<Socket> socket)
@@ -166,9 +234,6 @@
availableData = socket->GetRxAvailable ();
m_receivedPacket2 = socket->Recv (std::numeric_limits<uint32_t>::max (), 0);
NS_ASSERT (availableData == m_receivedPacket2->GetSize ());
- //cast availableData to void, to suppress 'availableData' set but not used
- //compiler warning
- (void) availableData;
}
void
@@ -320,6 +385,190 @@
}
+class Udp6SocketImplTest : public TestCase
+{
+ Ptr<Packet> m_receivedPacket;
+ Ptr<Packet> m_receivedPacket2;
+ void DoSendData (Ptr<Socket> socket, std::string to);
+ void SendData (Ptr<Socket> socket, std::string to);
+
+public:
+ virtual void DoRun (void);
+ Udp6SocketImplTest ();
+
+ void ReceivePacket (Ptr<Socket> socket, Ptr<Packet> packet, const Address &from);
+ void ReceivePacket2 (Ptr<Socket> socket, Ptr<Packet> packet, const Address &from);
+ void ReceivePkt (Ptr<Socket> socket);
+ void ReceivePkt2 (Ptr<Socket> socket);
+};
+
+Udp6SocketImplTest::Udp6SocketImplTest ()
+ : TestCase ("UDP6 socket implementation")
+{
+}
+
+void Udp6SocketImplTest::ReceivePacket (Ptr<Socket> socket, Ptr<Packet> packet, const Address &from)
+{
+ m_receivedPacket = packet;
+}
+
+void Udp6SocketImplTest::ReceivePacket2 (Ptr<Socket> socket, Ptr<Packet> packet, const Address &from)
+{
+ m_receivedPacket2 = packet;
+}
+
+void Udp6SocketImplTest::ReceivePkt (Ptr<Socket> socket)
+{
+ uint32_t availableData;
+ availableData = socket->GetRxAvailable ();
+ m_receivedPacket = socket->Recv (std::numeric_limits<uint32_t>::max (), 0);
+ NS_ASSERT (availableData == m_receivedPacket->GetSize ());
+ //cast availableData to void, to suppress 'availableData' set but not used
+ //compiler warning
+ (void) availableData;
+}
+
+void Udp6SocketImplTest::ReceivePkt2 (Ptr<Socket> socket)
+{
+ uint32_t availableData;
+ availableData = socket->GetRxAvailable ();
+ m_receivedPacket2 = socket->Recv (std::numeric_limits<uint32_t>::max (), 0);
+ NS_ASSERT (availableData == m_receivedPacket2->GetSize ());
+ //cast availableData to void, to suppress 'availableData' set but not used
+ //compiler warning
+ (void) availableData;
+}
+
+void
+Udp6SocketImplTest::DoSendData (Ptr<Socket> socket, std::string to)
+{
+ Address realTo = Inet6SocketAddress (Ipv6Address (to.c_str ()), 1234);
+ NS_TEST_EXPECT_MSG_EQ (socket->SendTo (Create<Packet> (123), 0, realTo),
+ 123, "XXX");
+}
+
+void
+Udp6SocketImplTest::SendData (Ptr<Socket> socket, std::string to)
+{
+ m_receivedPacket = Create<Packet> ();
+ m_receivedPacket2 = Create<Packet> ();
+ Simulator::ScheduleWithContext (socket->GetNode ()->GetId (), Seconds (0),
+ &Udp6SocketImplTest::DoSendData, this, socket, to);
+ Simulator::Run ();
+}
+
+void
+Udp6SocketImplTest::DoRun (void)
+{
+ // Create topology
+
+ // Receiver Node
+ Ptr<Node> rxNode = CreateObject<Node> ();
+ AddInternetStack6 (rxNode);
+ Ptr<SimpleNetDevice> rxDev1, rxDev2;
+ { // first interface
+ rxDev1 = CreateObject<SimpleNetDevice> ();
+ rxDev1->SetAddress (Mac48Address::ConvertFrom (Mac48Address::Allocate ()));
+ rxNode->AddDevice (rxDev1);
+ Ptr<Ipv6> ipv6 = rxNode->GetObject<Ipv6> ();
+ uint32_t netdev_idx = ipv6->AddInterface (rxDev1);
+ Ipv6InterfaceAddress ipv6Addr = Ipv6InterfaceAddress (Ipv6Address ("2001:0100::1"), Ipv6Prefix (64));
+ ipv6->AddAddress (netdev_idx, ipv6Addr);
+ ipv6->SetUp (netdev_idx);
+ }
+ { // second interface
+ rxDev2 = CreateObject<SimpleNetDevice> ();
+ rxDev2->SetAddress (Mac48Address::ConvertFrom (Mac48Address::Allocate ()));
+ rxNode->AddDevice (rxDev2);
+ Ptr<Ipv6> ipv6 = rxNode->GetObject<Ipv6> ();
+ uint32_t netdev_idx = ipv6->AddInterface (rxDev2);
+ Ipv6InterfaceAddress ipv6Addr = Ipv6InterfaceAddress (Ipv6Address ("2001:0100:1::1"), Ipv6Prefix (64));
+ ipv6->AddAddress (netdev_idx, ipv6Addr);
+ ipv6->SetUp (netdev_idx);
+ }
+
+ // Sender Node
+ Ptr<Node> txNode = CreateObject<Node> ();
+ AddInternetStack6 (txNode);
+ Ptr<SimpleNetDevice> txDev1;
+ {
+ txDev1 = CreateObject<SimpleNetDevice> ();
+ txDev1->SetAddress (Mac48Address::ConvertFrom (Mac48Address::Allocate ()));
+ txNode->AddDevice (txDev1);
+ Ptr<Ipv6> ipv6 = txNode->GetObject<Ipv6> ();
+ uint32_t netdev_idx = ipv6->AddInterface (txDev1);
+ Ipv6InterfaceAddress ipv6Addr = Ipv6InterfaceAddress (Ipv6Address ("2001:0100::2"), Ipv6Prefix (64));
+ ipv6->AddAddress (netdev_idx, ipv6Addr);
+ ipv6->SetUp (netdev_idx);
+ }
+ Ptr<SimpleNetDevice> txDev2;
+ {
+ txDev2 = CreateObject<SimpleNetDevice> ();
+ txDev2->SetAddress (Mac48Address::ConvertFrom (Mac48Address::Allocate ()));
+ txNode->AddDevice (txDev2);
+ Ptr<Ipv6> ipv6 = txNode->GetObject<Ipv6> ();
+ uint32_t netdev_idx = ipv6->AddInterface (txDev2);
+ Ipv6InterfaceAddress ipv6Addr = Ipv6InterfaceAddress (Ipv6Address ("2001:0100:1::2"), Ipv6Prefix (64));
+ ipv6->AddAddress (netdev_idx, ipv6Addr);
+ ipv6->SetUp (netdev_idx);
+ }
+
+ // link the two nodes
+ Ptr<SimpleChannel> channel1 = CreateObject<SimpleChannel> ();
+ rxDev1->SetChannel (channel1);
+ txDev1->SetChannel (channel1);
+
+ Ptr<SimpleChannel> channel2 = CreateObject<SimpleChannel> ();
+ rxDev2->SetChannel (channel2);
+ txDev2->SetChannel (channel2);
+
+
+ // Create the UDP sockets
+ Ptr<SocketFactory> rxSocketFactory = rxNode->GetObject<UdpSocketFactory> ();
+ Ptr<Socket> rxSocket = rxSocketFactory->CreateSocket ();
+ NS_TEST_EXPECT_MSG_EQ (rxSocket->Bind (Inet6SocketAddress (Ipv6Address ("2001:0100::1"), 1234)), 0, "trivial");
+ rxSocket->SetRecvCallback (MakeCallback (&Udp6SocketImplTest::ReceivePkt, this));
+
+ Ptr<Socket> rxSocket2 = rxSocketFactory->CreateSocket ();
+ rxSocket2->SetRecvCallback (MakeCallback (&Udp6SocketImplTest::ReceivePkt2, this));
+ NS_TEST_EXPECT_MSG_EQ (rxSocket2->Bind (Inet6SocketAddress (Ipv6Address ("2001:0100:1::1"), 1234)), 0, "trivial");
+
+ Ptr<SocketFactory> txSocketFactory = txNode->GetObject<UdpSocketFactory> ();
+ Ptr<Socket> txSocket = txSocketFactory->CreateSocket ();
+ txSocket->SetAllowBroadcast (true);
+ // ------ Now the tests ------------
+
+ // Unicast test
+ SendData (txSocket, "2001:0100::1");
+ NS_TEST_EXPECT_MSG_EQ (m_receivedPacket->GetSize (), 123, "trivial");
+ NS_TEST_EXPECT_MSG_EQ (m_receivedPacket2->GetSize (), 0, "second interface should receive it");
+
+ m_receivedPacket->RemoveAllByteTags ();
+ m_receivedPacket2->RemoveAllByteTags ();
+
+ // Simple Link-local multicast test
+
+ // When receiving broadcast packets, all sockets sockets bound to
+ // the address/port should receive a copy of the same packet -- if
+ // the socket address matches.
+ rxSocket2->Dispose ();
+ rxSocket2 = rxSocketFactory->CreateSocket ();
+ rxSocket2->SetRecvCallback (MakeCallback (&Udp6SocketImplTest::ReceivePkt2, this));
+ NS_TEST_EXPECT_MSG_EQ (rxSocket2->Bind (Inet6SocketAddress (Ipv6Address ("::"), 1234)), 0, "trivial");
+
+ txSocket->BindToNetDevice (txDev1);
+ SendData (txSocket, "ff02::1");
+ NS_TEST_EXPECT_MSG_EQ (m_receivedPacket->GetSize (), 0, "first socket should not receive it (it is bound specifically to the second interface's address");
+ NS_TEST_EXPECT_MSG_EQ (m_receivedPacket2->GetSize (), 123, "recv2: ff02::1");
+
+ m_receivedPacket->RemoveAllByteTags ();
+ m_receivedPacket2->RemoveAllByteTags ();
+
+ Simulator::Destroy ();
+
+}
+
+
//-----------------------------------------------------------------------------
class UdpTestSuite : public TestSuite
{
@@ -328,6 +577,8 @@
{
AddTestCase (new UdpSocketImplTest);
AddTestCase (new UdpSocketLoopbackTest);
+ AddTestCase (new Udp6SocketImplTest);
+ AddTestCase (new Udp6SocketLoopbackTest);
}
} g_udpTestSuite;
--- a/src/internet/wscript Fri Mar 02 18:49:54 2012 +0100
+++ b/src/internet/wscript Fri Mar 02 19:43:49 2012 +0100
@@ -94,7 +94,7 @@
# bridge and mpi dependencies are due to global routing
obj = bld.create_ns3_module('internet', ['bridge', 'mpi', 'network', 'core'])
obj.source = [
- 'model/ipv4-l4-protocol.cc',
+ 'model/ip-l4-protocol.cc',
'model/udp-header.cc',
'model/tcp-header.cc',
'model/ipv4-interface.cc',
@@ -122,7 +122,6 @@
'model/ipv6-l3-protocol.cc',
'model/ipv6-end-point.cc',
'model/ipv6-end-point-demux.cc',
- 'model/ipv6-l4-protocol.cc',
'model/ipv6-raw-socket-factory-impl.cc',
'model/ipv6-raw-socket-impl.cc',
'model/ipv6-autoconfigured-prefix.cc',
@@ -206,6 +205,7 @@
'test/tcp-test.cc',
'test/udp-test.cc',
'test/ipv6-address-generator-test-suite.cc',
+ 'test/ipv6-dual-stack-test-suite.cc',
]
headers = bld.new_task_gen(features=['ns3header'])
@@ -226,11 +226,10 @@
'model/udp-l4-protocol.h',
'model/tcp-l4-protocol.h',
'model/icmpv4-l4-protocol.h',
- 'model/ipv4-l4-protocol.h',
+ 'model/ip-l4-protocol.h',
'model/arp-header.h',
'model/arp-cache.h',
'model/icmpv6-l4-protocol.h',
- 'model/ipv6-l4-protocol.h',
'model/ipv6-interface.h',
'model/ndisc-cache.h',
'model/loopback-net-device.h',
--- a/src/lte/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/lte/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1559,6 +1559,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1599,11 +1604,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1634,6 +1648,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2629,7 +2648,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/lte/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/lte/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1559,6 +1559,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1599,11 +1604,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1634,6 +1648,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2629,7 +2648,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/mesh/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/mesh/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1844,6 +1844,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1884,11 +1889,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1919,6 +1933,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -3083,7 +3102,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/mesh/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/mesh/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1844,6 +1844,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1884,11 +1889,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1919,6 +1933,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -3083,7 +3102,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/mobility/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/mobility/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -892,6 +892,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -932,11 +937,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -967,6 +981,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1586,7 +1605,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/mobility/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/mobility/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -892,6 +892,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -932,11 +937,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -967,6 +981,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1586,7 +1605,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/mobility/helper/ns2-mobility-helper.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/mobility/helper/ns2-mobility-helper.cc Fri Mar 02 19:43:49 2012 +0100
@@ -42,6 +42,7 @@
#include <sstream>
#include <map>
#include "ns3/log.h"
+#include "ns3/unused.h"
#include "ns3/simulator.h"
#include "ns3/node-list.h"
#include "ns3/node.h"
@@ -446,8 +447,7 @@
{
char *endp;
double v = strtod (s.c_str (), &endp); // declared with warn_unused_result
- //cast v to void, to suppress v set but not used compiler warning
- (void) v;
+ NS_UNUSED (v); // suppress "set but not used" compiler warning
return endp == s.c_str () + s.size ();
}
--- a/src/mpi/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/mpi/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1316,7 +1316,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/mpi/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/mpi/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1316,7 +1316,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/netanim/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/netanim/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1244,6 +1244,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1284,11 +1289,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1319,6 +1333,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2138,7 +2157,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/netanim/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/netanim/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1244,6 +1244,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1284,11 +1289,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1319,6 +1333,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2138,7 +2157,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/netanim/examples/star-animation.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/netanim/examples/star-animation.cc Fri Mar 02 19:43:49 2012 +0100
@@ -56,10 +56,14 @@
//
uint32_t nSpokes = 8;
std::string animFile = "star-animation.xml";
+ uint8_t useIpv6 = 0;
+ Ipv6Address ipv6AddressBase = Ipv6Address("2001::");
+ Ipv6Prefix ipv6AddressPrefix = Ipv6Prefix(64);
CommandLine cmd;
cmd.AddValue ("nSpokes", "Number of spoke nodes to place in the star", nSpokes);
cmd.AddValue ("animFile", "File Name for Animation Output", animFile);
+ cmd.AddValue ("useIpv6", "use Ipv6", useIpv6);
cmd.Parse (argc, argv);
@@ -74,14 +78,29 @@
star.InstallStack (internet);
NS_LOG_INFO ("Assign IP Addresses.");
- star.AssignIpv4Addresses (Ipv4AddressHelper ("10.1.1.0", "255.255.255.0"));
+ if (useIpv6 == 0)
+ {
+ star.AssignIpv4Addresses (Ipv4AddressHelper ("10.1.1.0", "255.255.255.0"));
+ }
+ else
+ {
+ star.AssignIpv6Addresses (ipv6AddressBase, ipv6AddressPrefix);
+ }
NS_LOG_INFO ("Create applications.");
//
// Create a packet sink on the star "hub" to receive packets.
//
uint16_t port = 50000;
- Address hubLocalAddress (InetSocketAddress (Ipv4Address::GetAny (), port));
+ Address hubLocalAddress;
+ if (useIpv6 == 0)
+ {
+ hubLocalAddress = InetSocketAddress (Ipv4Address::GetAny (), port);
+ }
+ else
+ {
+ hubLocalAddress = Inet6SocketAddress (Ipv6Address::GetAny (), port);
+ }
PacketSinkHelper packetSinkHelper ("ns3::TcpSocketFactory", hubLocalAddress);
ApplicationContainer hubApp = packetSinkHelper.Install (star.GetHub ());
hubApp.Start (Seconds (1.0));
@@ -98,7 +117,15 @@
for (uint32_t i = 0; i < star.SpokeCount (); ++i)
{
- AddressValue remoteAddress (InetSocketAddress (star.GetHubIpv4Address (i), port));
+ AddressValue remoteAddress;
+ if (useIpv6 == 0)
+ {
+ remoteAddress = AddressValue(InetSocketAddress (star.GetHubIpv4Address (i), port));
+ }
+ else
+ {
+ remoteAddress = AddressValue(Inet6SocketAddress (star.GetHubIpv6Address (i), port));
+ }
onOffHelper.SetAttribute ("Remote", remoteAddress);
spokeApps.Add (onOffHelper.Install (star.GetSpokeNode (i)));
}
@@ -109,7 +136,10 @@
//
// Turn on global static routing so we can actually be routed across the star.
//
- Ipv4GlobalRoutingHelper::PopulateRoutingTables ();
+ if (useIpv6 == 0)
+ {
+ Ipv4GlobalRoutingHelper::PopulateRoutingTables ();
+ }
// Set the bounding box for animation
star.BoundingBox (1, 1, 100, 100);
--- a/src/network/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/network/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1680,6 +1680,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1720,11 +1725,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1755,6 +1769,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -3257,7 +3276,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -4380,6 +4399,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -6268,6 +6292,11 @@
'int',
[param('ns3::Address const &', 'address')],
is_virtual=True)
+ ## packet-socket.h (module 'network'): int ns3::PacketSocket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_virtual=True)
## packet-socket.h (module 'network'): int ns3::PacketSocket::Close() [member function]
cls.add_method('Close',
'int',
--- a/src/network/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/network/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1680,6 +1680,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1720,11 +1725,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1755,6 +1769,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -3257,7 +3276,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -4380,6 +4399,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -6268,6 +6292,11 @@
'int',
[param('ns3::Address const &', 'address')],
is_virtual=True)
+ ## packet-socket.h (module 'network'): int ns3::PacketSocket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_virtual=True)
## packet-socket.h (module 'network'): int ns3::PacketSocket::Close() [member function]
cls.add_method('Close',
'int',
--- a/src/network/helper/trace-helper.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/network/helper/trace-helper.h Fri Mar 02 19:43:49 2012 +0100
@@ -94,7 +94,7 @@
template <typename T> void
PcapHelper::HookDefaultSink (Ptr<T> object, std::string tracename, Ptr<PcapFileWrapper> file)
{
- bool __attribute__ ((unused)) result =
+ bool result =
object->TraceConnectWithoutContext (tracename.c_str (), MakeBoundCallback (&DefaultSink, file));
NS_ASSERT_MSG (result == true, "PcapHelper::HookDefaultSink(): Unable to hook \"" << tracename << "\"");
}
@@ -231,7 +231,7 @@
template <typename T> void
AsciiTraceHelper::HookDefaultEnqueueSinkWithoutContext (Ptr<T> object, std::string tracename, Ptr<OutputStreamWrapper> file)
{
- bool __attribute__ ((unused)) result =
+ bool result =
object->TraceConnectWithoutContext (tracename, MakeBoundCallback (&DefaultEnqueueSinkWithoutContext, file));
NS_ASSERT_MSG (result == true, "AsciiTraceHelper::HookDefaultEnqueueSinkWithoutContext(): Unable to hook \""
<< tracename << "\"");
@@ -244,7 +244,7 @@
std::string tracename,
Ptr<OutputStreamWrapper> stream)
{
- bool __attribute__ ((unused)) result =
+ bool result =
object->TraceConnect (tracename, context, MakeBoundCallback (&DefaultEnqueueSinkWithContext, stream));
NS_ASSERT_MSG (result == true, "AsciiTraceHelper::HookDefaultEnqueueSinkWithContext(): Unable to hook \""
<< tracename << "\"");
@@ -253,7 +253,7 @@
template <typename T> void
AsciiTraceHelper::HookDefaultDropSinkWithoutContext (Ptr<T> object, std::string tracename, Ptr<OutputStreamWrapper> file)
{
- bool __attribute__ ((unused)) result =
+ bool result =
object->TraceConnectWithoutContext (tracename, MakeBoundCallback (&DefaultDropSinkWithoutContext, file));
NS_ASSERT_MSG (result == true, "AsciiTraceHelper::HookDefaultDropSinkWithoutContext(): Unable to hook \""
<< tracename << "\"");
@@ -266,7 +266,7 @@
std::string tracename,
Ptr<OutputStreamWrapper> stream)
{
- bool __attribute__ ((unused)) result =
+ bool result =
object->TraceConnect (tracename, context, MakeBoundCallback (&DefaultDropSinkWithContext, stream));
NS_ASSERT_MSG (result == true, "AsciiTraceHelper::HookDefaultDropSinkWithContext(): Unable to hook \""
<< tracename << "\"");
@@ -275,7 +275,7 @@
template <typename T> void
AsciiTraceHelper::HookDefaultDequeueSinkWithoutContext (Ptr<T> object, std::string tracename, Ptr<OutputStreamWrapper> file)
{
- bool __attribute__ ((unused)) result =
+ bool result =
object->TraceConnectWithoutContext (tracename, MakeBoundCallback (&DefaultDequeueSinkWithoutContext, file));
NS_ASSERT_MSG (result == true, "AsciiTraceHelper::HookDefaultDequeueSinkWithoutContext(): Unable to hook \""
<< tracename << "\"");
@@ -288,7 +288,7 @@
std::string tracename,
Ptr<OutputStreamWrapper> stream)
{
- bool __attribute__ ((unused)) result =
+ bool result =
object->TraceConnect (tracename, context, MakeBoundCallback (&DefaultDequeueSinkWithContext, stream));
NS_ASSERT_MSG (result == true, "AsciiTraceHelper::HookDefaultDequeueSinkWithContext(): Unable to hook \""
<< tracename << "\"");
@@ -297,7 +297,7 @@
template <typename T> void
AsciiTraceHelper::HookDefaultReceiveSinkWithoutContext (Ptr<T> object, std::string tracename, Ptr<OutputStreamWrapper> file)
{
- bool __attribute__ ((unused)) result =
+ bool result =
object->TraceConnectWithoutContext (tracename, MakeBoundCallback (&DefaultReceiveSinkWithoutContext, file));
NS_ASSERT_MSG (result == true, "AsciiTraceHelper::HookDefaultReceiveSinkWithoutContext(): Unable to hook \""
<< tracename << "\"");
@@ -310,7 +310,7 @@
std::string tracename,
Ptr<OutputStreamWrapper> stream)
{
- bool __attribute__ ((unused)) result =
+ bool result =
object->TraceConnect (tracename, context, MakeBoundCallback (&DefaultReceiveSinkWithContext, stream));
NS_ASSERT_MSG (result == true, "AsciiTraceHelper::HookDefaultReceiveSinkWithContext(): Unable to hook \""
<< tracename << "\"");
--- a/src/network/model/packet-metadata.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/network/model/packet-metadata.cc Fri Mar 02 19:43:49 2012 +0100
@@ -612,11 +612,11 @@
PacketMetadata::Allocate (uint32_t n)
{
uint32_t size = sizeof (struct Data);
- if (n <= 10)
+ if (n <= PACKET_METADATA_DATA_M_DATA_SIZE)
{
- n = 10;
+ n = PACKET_METADATA_DATA_M_DATA_SIZE;
}
- size += n - 10;
+ size += n - PACKET_METADATA_DATA_M_DATA_SIZE;
uint8_t *buf = new uint8_t [size];
struct PacketMetadata::Data *data = (struct PacketMetadata::Data *)buf;
data->m_size = n;
--- a/src/network/model/packet-metadata.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/network/model/packet-metadata.h Fri Mar 02 19:43:49 2012 +0100
@@ -209,6 +209,13 @@
const uint8_t* start,
const uint8_t* current,
uint32_t maxSize);
+
+ /**
+ * the size of PacketMetadata::Data::m_data such that the total size
+ * of PacketMetadata::Data is 16 bytes
+ */
+#define PACKET_METADATA_DATA_M_DATA_SIZE 8
+
struct Data {
/* number of references to this struct Data instance. */
uint32_t m_count;
@@ -218,7 +225,7 @@
* reference this struct Data instance */
uint16_t m_dirtyEnd;
/* variable-sized buffer of bytes */
- uint8_t m_data[10];
+ uint8_t m_data[PACKET_METADATA_DATA_M_DATA_SIZE];
};
/* Note that since the next and prev fields are 16 bit integers
and since the value 0xffff is reserved to identify the
--- a/src/network/model/socket.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/network/model/socket.cc Fri Mar 02 19:43:49 2012 +0100
@@ -292,6 +292,8 @@
m_connectionSucceeded = MakeNullCallback<void,Ptr<Socket> > ();
m_connectionFailed = MakeNullCallback<void,Ptr<Socket> > ();
+ m_normalClose = MakeNullCallback<void,Ptr<Socket> > ();
+ m_errorClose = MakeNullCallback<void,Ptr<Socket> > ();
m_connectionRequest = MakeNullCallback<bool,Ptr<Socket>, const Address &> ();
m_newConnectionCreated = MakeNullCallback<void,Ptr<Socket>, const Address &> ();
m_dataSent = MakeNullCallback<void,Ptr<Socket>, uint32_t> ();
@@ -314,9 +316,6 @@
}
}
NS_ASSERT_MSG (found, "Socket cannot be bound to a NetDevice not existing on the Node");
- //cast found to void, to suppress 'found' set but not used compiler warning
- //in optimized builds
- (void) found;
}
m_boundnetdevice = netdevice;
return;
--- a/src/network/model/socket.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/network/model/socket.h Fri Mar 02 19:43:49 2012 +0100
@@ -202,21 +202,27 @@
*/
void SetRecvCallback (Callback<void, Ptr<Socket> >);
/**
+ * \brief Allocate a local endpoint for this socket.
* \param address the address to try to allocate
* \returns 0 on success, -1 on failure.
- *
- * Allocate a local endpoint for this socket.
*/
virtual int Bind (const Address &address) = 0;
/**
- * Allocate a local endpoint for this socket.
+ * \brief Allocate a local IPv4 endpoint for this socket.
*
* \returns 0 on success, -1 on failure.
*/
virtual int Bind () = 0;
/**
+ * \brief Allocate a local IPv6 endpoint for this socket.
+ *
+ * \returns 0 on success, -1 on failure.
+ */
+ virtual int Bind6 () = 0;
+
+ /**
* \brief Close a socket.
* \returns zero on success, -1 on failure.
*
--- a/src/network/utils/ipv6-address.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/network/utils/ipv6-address.cc Fri Mar 02 19:43:49 2012 +0100
@@ -301,6 +301,24 @@
return ipv6;
}
+Ipv6Address Ipv6Address::MakeIpv4MappedAddress(Ipv4Address addr)
+{
+ uint8_t buf[16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 };
+ addr.Serialize (&buf[12]);
+ return (Ipv6Address (buf));
+}
+
+Ipv4Address Ipv6Address::GetIpv4MappedAddress() const
+{
+ uint8_t buf[16];
+ Ipv4Address v4Addr;
+
+ Serialize (buf);
+ v4Addr = Ipv4Address::Deserialize (&buf[12]);
+ return (v4Addr);
+}
+
Ipv6Address Ipv6Address::MakeAutoconfiguredAddress (Mac48Address addr, Ipv6Address prefix)
{
Ipv6Address ret;
@@ -398,6 +416,26 @@
return false;
}
+bool Ipv6Address::IsLinkLocalMulticast () const
+{
+ if (m_address[0] == 0xff && m_address[1] == 0x02)
+ {
+ return true;
+ }
+ return false;
+}
+
+bool Ipv6Address::IsIpv4MappedAddress ()
+{
+ uint8_t v4MappedPrefix[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff };
+ if (memcmp(m_address, v4MappedPrefix, sizeof(v4MappedPrefix)) == 0)
+ {
+ return (true);
+ }
+ return (false);
+}
+
Ipv6Address Ipv6Address::CombinePrefix (Ipv6Prefix const& prefix)
{
Ipv6Address ipv6;
--- a/src/network/utils/ipv6-address.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/network/utils/ipv6-address.h Fri Mar 02 19:43:49 2012 +0100
@@ -28,6 +28,7 @@
#include "ns3/attribute-helper.h"
#include "ns3/address.h"
+#include "ns3/ipv4-address.h"
namespace ns3 {
@@ -122,6 +123,19 @@
static Ipv6Address MakeSolicitedAddress (Ipv6Address addr);
/**
+ * \brief Make the Ipv4-mapped IPv6 address.
+ * \param addr the IPv4 address
+ * \return Ipv4-mapped IPv6 address
+ */
+ static Ipv6Address MakeIpv4MappedAddress (Ipv4Address addr);
+
+ /**
+ * \brief Return the Ipv4 address.
+ * \return Ipv4 address
+ */
+ Ipv4Address GetIpv4MappedAddress () const;
+
+ /**
* \brief Make the autoconfigured IPv6 address with Mac48Address.
* \param addr the MAC address (48 bits).
* \param prefix the IPv6 prefix
@@ -157,6 +171,12 @@
bool IsMulticast () const;
/**
+ * \brief If the IPv6 address is link-local multicast (ff02::/16).
+ * \return true if link-local multicast, false otherwise
+ */
+ bool IsLinkLocalMulticast () const;
+
+ /**
* \brief If the IPv6 address is "all nodes multicast" (ff02::1/8).
* \return true if "all nodes multicast", false otherwise
*/
@@ -208,6 +228,12 @@
static bool IsMatchingType (const Address& address);
/**
+ * \brief If the address is an IPv4-mapped address
+ * \return true if address is an IPv4-mapped address, otherwise false.
+ */
+ bool IsIpv4MappedAddress();
+
+ /**
* \brief Convert to Address object
*/
operator Address () const;
--- a/src/network/utils/packet-socket.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/network/utils/packet-socket.cc Fri Mar 02 19:43:49 2012 +0100
@@ -113,6 +113,12 @@
}
int
+PacketSocket::Bind6 (void)
+{
+ return(Bind());
+}
+
+int
PacketSocket::Bind (const Address &address)
{
NS_LOG_FUNCTION (this << address);
@@ -441,9 +447,6 @@
bool found;
found = packet->PeekPacketTag (tag);
NS_ASSERT (found);
- //cast found to void, to suppress 'found' set but not used compiler warning
- //in optimized builds
- (void) found;
fromAddress = tag.GetAddress ();
}
return packet;
--- a/src/network/utils/packet-socket.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/network/utils/packet-socket.h Fri Mar 02 19:43:49 2012 +0100
@@ -89,6 +89,7 @@
virtual enum SocketType GetSocketType (void) const;
virtual Ptr<Node> GetNode (void) const;
virtual int Bind (void);
+ virtual int Bind6 (void);
virtual int Bind (const Address & address);
virtual int Close (void);
virtual int ShutdownSend (void);
--- a/src/network/utils/radiotap-header.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/network/utils/radiotap-header.cc Fri Mar 02 19:43:49 2012 +0100
@@ -134,7 +134,7 @@
{
NS_LOG_FUNCTION (this);
- uint8_t __attribute__ ((unused)) tmp = start.ReadU8 (); // major version of radiotap header
+ uint8_t tmp = start.ReadU8 (); // major version of radiotap header
NS_ASSERT_MSG (tmp == 0x00, "RadiotapHeader::Deserialize(): Unexpected major version");
start.ReadU8 (); // pad field
--- a/src/nix-vector-routing/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/nix-vector-routing/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -44,6 +44,36 @@
module.add_class('Item', import_from_module='ns.network', outer_class=root_module['ns3::ByteTagList::Iterator'])
## callback.h (module 'core'): ns3::CallbackBase [class]
module.add_class('CallbackBase', import_from_module='ns.core')
+ ## event-id.h (module 'core'): ns3::EventId [class]
+ module.add_class('EventId', import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<0> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['0'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 0 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<1> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['1'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 1 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<2> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['2'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 2 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<3> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['3'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 3 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<4> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['4'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 4 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<5> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['5'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 5 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<6> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['6'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 6 >'], import_from_module='ns.core')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
module.add_class('Ipv4Address', import_from_module='ns.network')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
@@ -60,6 +90,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## mac48-address.h (module 'network'): ns3::Mac48Address [class]
@@ -96,10 +132,20 @@
module.add_class('TagData', import_from_module='ns.network', outer_class=root_module['ns3::PacketTagList'])
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter> [class]
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::Object', 'ns3::ObjectBase', 'ns3::ObjectDeleter'], parent=root_module['ns3::ObjectBase'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simulator.h (module 'core'): ns3::Simulator [class]
+ module.add_class('Simulator', destructor_visibility='private', import_from_module='ns.core')
## tag.h (module 'network'): ns3::Tag [class]
module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
module.add_class('TagBuffer', import_from_module='ns.network')
+ ## timer.h (module 'core'): ns3::Timer [class]
+ module.add_class('Timer', import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::DestroyPolicy [enumeration]
+ module.add_enum('DestroyPolicy', ['CANCEL_ON_DESTROY', 'REMOVE_ON_DESTROY', 'CHECK_ON_DESTROY'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::State [enumeration]
+ module.add_enum('State', ['RUNNING', 'EXPIRED', 'SUSPENDED'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer-impl.h (module 'core'): ns3::TimerImpl [class]
+ module.add_class('TimerImpl', allow_subclassing=True, import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId [class]
module.add_class('TypeId', import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
@@ -124,6 +170,10 @@
module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
## ipv4-nix-vector-helper.h (module 'nix-vector-routing'): ns3::Ipv4NixVectorHelper [class]
module.add_class('Ipv4NixVectorHelper', parent=root_module['ns3::Ipv4RoutingHelper'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -136,6 +186,8 @@
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::AttributeValue', 'ns3::empty', 'ns3::DefaultDeleter<ns3::AttributeValue>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::CallbackImplBase, ns3::empty, ns3::DefaultDeleter<ns3::CallbackImplBase> > [class]
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::CallbackImplBase', 'ns3::empty', 'ns3::DefaultDeleter<ns3::CallbackImplBase>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::EventImpl', 'ns3::empty', 'ns3::DefaultDeleter<ns3::EventImpl>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Ipv4MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4MulticastRoute> > [class]
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::Ipv4MulticastRoute', 'ns3::empty', 'ns3::DefaultDeleter<ns3::Ipv4MulticastRoute>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Ipv4Route, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4Route> > [class]
@@ -186,16 +238,18 @@
module.add_class('Channel', import_from_module='ns.network', parent=root_module['ns3::Object'])
## attribute.h (module 'core'): ns3::EmptyAttributeValue [class]
module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
+ ## event-impl.h (module 'core'): ns3::EventImpl [class]
+ module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
module.add_class('Ipv4AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressValue [class]
module.add_class('Ipv4AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -210,6 +264,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -282,11 +338,20 @@
register_Ns3ByteTagListIterator_methods(root_module, root_module['ns3::ByteTagList::Iterator'])
register_Ns3ByteTagListIteratorItem_methods(root_module, root_module['ns3::ByteTagList::Iterator::Item'])
register_Ns3CallbackBase_methods(root_module, root_module['ns3::CallbackBase'])
+ register_Ns3EventId_methods(root_module, root_module['ns3::EventId'])
+ register_Ns3IntToType__0_methods(root_module, root_module['ns3::IntToType< 0 >'])
+ register_Ns3IntToType__1_methods(root_module, root_module['ns3::IntToType< 1 >'])
+ register_Ns3IntToType__2_methods(root_module, root_module['ns3::IntToType< 2 >'])
+ register_Ns3IntToType__3_methods(root_module, root_module['ns3::IntToType< 3 >'])
+ register_Ns3IntToType__4_methods(root_module, root_module['ns3::IntToType< 4 >'])
+ register_Ns3IntToType__5_methods(root_module, root_module['ns3::IntToType< 5 >'])
+ register_Ns3IntToType__6_methods(root_module, root_module['ns3::IntToType< 6 >'])
register_Ns3Ipv4Address_methods(root_module, root_module['ns3::Ipv4Address'])
register_Ns3Ipv4InterfaceAddress_methods(root_module, root_module['ns3::Ipv4InterfaceAddress'])
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv4RoutingHelper_methods(root_module, root_module['ns3::Ipv4RoutingHelper'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3Mac48Address_methods(root_module, root_module['ns3::Mac48Address'])
register_Ns3NetDeviceContainer_methods(root_module, root_module['ns3::NetDeviceContainer'])
@@ -303,8 +368,11 @@
register_Ns3PacketTagList_methods(root_module, root_module['ns3::PacketTagList'])
register_Ns3PacketTagListTagData_methods(root_module, root_module['ns3::PacketTagList::TagData'])
register_Ns3SimpleRefCount__Ns3Object_Ns3ObjectBase_Ns3ObjectDeleter_methods(root_module, root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
+ register_Ns3Simulator_methods(root_module, root_module['ns3::Simulator'])
register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
+ register_Ns3Timer_methods(root_module, root_module['ns3::Timer'])
+ register_Ns3TimerImpl_methods(root_module, root_module['ns3::TimerImpl'])
register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
@@ -314,12 +382,14 @@
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
register_Ns3Ipv4NixVectorHelper_methods(root_module, root_module['ns3::Ipv4NixVectorHelper'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
register_Ns3SimpleRefCount__Ns3AttributeChecker_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeChecker__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeChecker, ns3::empty, ns3::DefaultDeleter<ns3::AttributeChecker> >'])
register_Ns3SimpleRefCount__Ns3AttributeValue_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeValue__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeValue, ns3::empty, ns3::DefaultDeleter<ns3::AttributeValue> >'])
register_Ns3SimpleRefCount__Ns3CallbackImplBase_Ns3Empty_Ns3DefaultDeleter__lt__ns3CallbackImplBase__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::CallbackImplBase, ns3::empty, ns3::DefaultDeleter<ns3::CallbackImplBase> >'])
+ register_Ns3SimpleRefCount__Ns3EventImpl_Ns3Empty_Ns3DefaultDeleter__lt__ns3EventImpl__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
register_Ns3SimpleRefCount__Ns3Ipv4MulticastRoute_Ns3Empty_Ns3DefaultDeleter__lt__ns3Ipv4MulticastRoute__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::Ipv4MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4MulticastRoute> >'])
register_Ns3SimpleRefCount__Ns3Ipv4Route_Ns3Empty_Ns3DefaultDeleter__lt__ns3Ipv4Route__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::Ipv4Route, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4Route> >'])
register_Ns3SimpleRefCount__Ns3NixVector_Ns3Empty_Ns3DefaultDeleter__lt__ns3NixVector__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::NixVector, ns3::empty, ns3::DefaultDeleter<ns3::NixVector> >'])
@@ -341,10 +411,11 @@
register_Ns3CallbackValue_methods(root_module, root_module['ns3::CallbackValue'])
register_Ns3Channel_methods(root_module, root_module['ns3::Channel'])
register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue'])
+ register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -352,6 +423,7 @@
register_Ns3Ipv4RoutingProtocol_methods(root_module, root_module['ns3::Ipv4RoutingProtocol'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3Mac48AddressChecker_methods(root_module, root_module['ns3::Mac48AddressChecker'])
@@ -852,6 +924,100 @@
is_static=True, visibility='protected')
return
+def register_Ns3EventId_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_binary_comparison_operator('==')
+ ## event-id.h (module 'core'): ns3::EventId::EventId(ns3::EventId const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::EventId const &', 'arg0')])
+ ## event-id.h (module 'core'): ns3::EventId::EventId() [constructor]
+ cls.add_constructor([])
+ ## event-id.h (module 'core'): ns3::EventId::EventId(ns3::Ptr<ns3::EventImpl> const & impl, uint64_t ts, uint32_t context, uint32_t uid) [constructor]
+ cls.add_constructor([param('ns3::Ptr< ns3::EventImpl > const &', 'impl'), param('uint64_t', 'ts'), param('uint32_t', 'context'), param('uint32_t', 'uid')])
+ ## event-id.h (module 'core'): void ns3::EventId::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## event-id.h (module 'core'): uint32_t ns3::EventId::GetContext() const [member function]
+ cls.add_method('GetContext',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): uint64_t ns3::EventId::GetTs() const [member function]
+ cls.add_method('GetTs',
+ 'uint64_t',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): uint32_t ns3::EventId::GetUid() const [member function]
+ cls.add_method('GetUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): bool ns3::EventId::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): bool ns3::EventId::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): ns3::EventImpl * ns3::EventId::PeekEventImpl() const [member function]
+ cls.add_method('PeekEventImpl',
+ 'ns3::EventImpl *',
+ [],
+ is_const=True)
+ return
+
+def register_Ns3IntToType__0_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType(ns3::IntToType<0> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 0 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__1_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType(ns3::IntToType<1> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 1 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__2_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType(ns3::IntToType<2> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 2 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__3_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType(ns3::IntToType<3> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 3 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__4_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType(ns3::IntToType<4> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 4 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__5_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType(ns3::IntToType<5> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 5 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__6_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType(ns3::IntToType<6> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 6 > const &', 'arg0')])
+ return
+
def register_Ns3Ipv4Address_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -1175,6 +1341,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1215,11 +1386,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1250,6 +1430,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1275,6 +1460,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -1854,6 +2094,96 @@
is_static=True)
return
+def register_Ns3Simulator_methods(root_module, cls):
+ ## simulator.h (module 'core'): ns3::Simulator::Simulator(ns3::Simulator const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Simulator const &', 'arg0')])
+ ## simulator.h (module 'core'): static void ns3::Simulator::Cancel(ns3::EventId const & id) [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Destroy() [member function]
+ cls.add_method('Destroy',
+ 'void',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static uint32_t ns3::Simulator::GetContext() [member function]
+ cls.add_method('GetContext',
+ 'uint32_t',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::GetDelayLeft(ns3::EventId const & id) [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Ptr<ns3::SimulatorImpl> ns3::Simulator::GetImplementation() [member function]
+ cls.add_method('GetImplementation',
+ 'ns3::Ptr< ns3::SimulatorImpl >',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::GetMaximumSimulationTime() [member function]
+ cls.add_method('GetMaximumSimulationTime',
+ 'ns3::Time',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static uint32_t ns3::Simulator::GetSystemId() [member function]
+ cls.add_method('GetSystemId',
+ 'uint32_t',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static bool ns3::Simulator::IsExpired(ns3::EventId const & id) [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static bool ns3::Simulator::IsFinished() [member function]
+ cls.add_method('IsFinished',
+ 'bool',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::Next() [member function]
+ cls.add_method('Next',
+ 'ns3::Time',
+ [],
+ is_static=True, deprecated=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::Now() [member function]
+ cls.add_method('Now',
+ 'ns3::Time',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Remove(ns3::EventId const & id) [member function]
+ cls.add_method('Remove',
+ 'void',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::RunOneEvent() [member function]
+ cls.add_method('RunOneEvent',
+ 'void',
+ [],
+ is_static=True, deprecated=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::SetImplementation(ns3::Ptr<ns3::SimulatorImpl> impl) [member function]
+ cls.add_method('SetImplementation',
+ 'void',
+ [param('ns3::Ptr< ns3::SimulatorImpl >', 'impl')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::SetScheduler(ns3::ObjectFactory schedulerFactory) [member function]
+ cls.add_method('SetScheduler',
+ 'void',
+ [param('ns3::ObjectFactory', 'schedulerFactory')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Stop() [member function]
+ cls.add_method('Stop',
+ 'void',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Stop(ns3::Time const & time) [member function]
+ cls.add_method('Stop',
+ 'void',
+ [param('ns3::Time const &', 'time')],
+ is_static=True)
+ return
+
def register_Ns3Tag_methods(root_module, cls):
## tag.h (module 'network'): ns3::Tag::Tag() [constructor]
cls.add_constructor([])
@@ -1949,6 +2279,90 @@
[param('uint8_t', 'v')])
return
+def register_Ns3Timer_methods(root_module, cls):
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Timer const &', 'arg0')])
+ ## timer.h (module 'core'): ns3::Timer::Timer() [constructor]
+ cls.add_constructor([])
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer::DestroyPolicy destroyPolicy) [constructor]
+ cls.add_constructor([param('ns3::Timer::DestroyPolicy', 'destroyPolicy')])
+ ## timer.h (module 'core'): void ns3::Timer::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelay() const [member function]
+ cls.add_method('GetDelay',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelayLeft() const [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Timer::State ns3::Timer::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Timer::State',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsSuspended() const [member function]
+ cls.add_method('IsSuspended',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): void ns3::Timer::Remove() [member function]
+ cls.add_method('Remove',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Resume() [member function]
+ cls.add_method('Resume',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule() [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule(ns3::Time delay) [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [param('ns3::Time', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::SetDelay(ns3::Time const & delay) [member function]
+ cls.add_method('SetDelay',
+ 'void',
+ [param('ns3::Time const &', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::Suspend() [member function]
+ cls.add_method('Suspend',
+ 'void',
+ [])
+ return
+
+def register_Ns3TimerImpl_methods(root_module, cls):
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl() [constructor]
+ cls.add_constructor([])
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl(ns3::TimerImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimerImpl const &', 'arg0')])
+ ## timer-impl.h (module 'core'): void ns3::TimerImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## timer-impl.h (module 'core'): ns3::EventId ns3::TimerImpl::Schedule(ns3::Time const & delay) [member function]
+ cls.add_method('Schedule',
+ 'ns3::EventId',
+ [param('ns3::Time const &', 'delay')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3TypeId_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -2054,7 +2468,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -2481,6 +2895,106 @@
is_const=True, is_virtual=True)
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -2595,6 +3109,18 @@
is_static=True)
return
+def register_Ns3SimpleRefCount__Ns3EventImpl_Ns3Empty_Ns3DefaultDeleter__lt__ns3EventImpl__gt___methods(root_module, cls):
+ ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >::SimpleRefCount() [constructor]
+ cls.add_constructor([])
+ ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >::SimpleRefCount(ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> > const & o) [copy constructor]
+ cls.add_constructor([param('ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter< ns3::EventImpl > > const &', 'o')])
+ ## simple-ref-count.h (module 'core'): static void ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >::Cleanup() [member function]
+ cls.add_method('Cleanup',
+ 'void',
+ [],
+ is_static=True)
+ return
+
def register_Ns3SimpleRefCount__Ns3Ipv4MulticastRoute_Ns3Empty_Ns3DefaultDeleter__lt__ns3Ipv4MulticastRoute__gt___methods(root_module, cls):
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Ipv4MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4MulticastRoute> >::SimpleRefCount() [constructor]
cls.add_constructor([])
@@ -2682,6 +3208,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -3434,6 +3965,87 @@
is_const=True, visibility='private', is_virtual=True)
return
+def register_Ns3EventImpl_methods(root_module, cls):
+ ## event-impl.h (module 'core'): ns3::EventImpl::EventImpl(ns3::EventImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::EventImpl const &', 'arg0')])
+ ## event-impl.h (module 'core'): ns3::EventImpl::EventImpl() [constructor]
+ cls.add_constructor([])
+ ## event-impl.h (module 'core'): void ns3::EventImpl::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## event-impl.h (module 'core'): void ns3::EventImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [])
+ ## event-impl.h (module 'core'): bool ns3::EventImpl::IsCancelled() [member function]
+ cls.add_method('IsCancelled',
+ 'bool',
+ [])
+ ## event-impl.h (module 'core'): void ns3::EventImpl::Notify() [member function]
+ cls.add_method('Notify',
+ 'void',
+ [],
+ is_pure_virtual=True, visibility='protected', is_virtual=True)
+ return
+
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -3504,10 +4116,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -3628,43 +4240,6 @@
[param('ns3::Ipv4Address const &', 'value')])
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -3893,6 +4468,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
--- a/src/nix-vector-routing/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/nix-vector-routing/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -44,6 +44,36 @@
module.add_class('Item', import_from_module='ns.network', outer_class=root_module['ns3::ByteTagList::Iterator'])
## callback.h (module 'core'): ns3::CallbackBase [class]
module.add_class('CallbackBase', import_from_module='ns.core')
+ ## event-id.h (module 'core'): ns3::EventId [class]
+ module.add_class('EventId', import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<0> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['0'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 0 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<1> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['1'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 1 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<2> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['2'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 2 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<3> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['3'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 3 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<4> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['4'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 4 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<5> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['5'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 5 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<6> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['6'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 6 >'], import_from_module='ns.core')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
module.add_class('Ipv4Address', import_from_module='ns.network')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
@@ -60,6 +90,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## mac48-address.h (module 'network'): ns3::Mac48Address [class]
@@ -96,10 +132,20 @@
module.add_class('TagData', import_from_module='ns.network', outer_class=root_module['ns3::PacketTagList'])
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter> [class]
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::Object', 'ns3::ObjectBase', 'ns3::ObjectDeleter'], parent=root_module['ns3::ObjectBase'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simulator.h (module 'core'): ns3::Simulator [class]
+ module.add_class('Simulator', destructor_visibility='private', import_from_module='ns.core')
## tag.h (module 'network'): ns3::Tag [class]
module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
module.add_class('TagBuffer', import_from_module='ns.network')
+ ## timer.h (module 'core'): ns3::Timer [class]
+ module.add_class('Timer', import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::DestroyPolicy [enumeration]
+ module.add_enum('DestroyPolicy', ['CANCEL_ON_DESTROY', 'REMOVE_ON_DESTROY', 'CHECK_ON_DESTROY'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::State [enumeration]
+ module.add_enum('State', ['RUNNING', 'EXPIRED', 'SUSPENDED'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer-impl.h (module 'core'): ns3::TimerImpl [class]
+ module.add_class('TimerImpl', allow_subclassing=True, import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId [class]
module.add_class('TypeId', import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
@@ -124,6 +170,10 @@
module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
## ipv4-nix-vector-helper.h (module 'nix-vector-routing'): ns3::Ipv4NixVectorHelper [class]
module.add_class('Ipv4NixVectorHelper', parent=root_module['ns3::Ipv4RoutingHelper'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -136,6 +186,8 @@
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::AttributeValue', 'ns3::empty', 'ns3::DefaultDeleter<ns3::AttributeValue>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::CallbackImplBase, ns3::empty, ns3::DefaultDeleter<ns3::CallbackImplBase> > [class]
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::CallbackImplBase', 'ns3::empty', 'ns3::DefaultDeleter<ns3::CallbackImplBase>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
+ ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> > [class]
+ module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::EventImpl', 'ns3::empty', 'ns3::DefaultDeleter<ns3::EventImpl>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Ipv4MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4MulticastRoute> > [class]
module.add_class('SimpleRefCount', automatic_type_narrowing=True, import_from_module='ns.core', template_parameters=['ns3::Ipv4MulticastRoute', 'ns3::empty', 'ns3::DefaultDeleter<ns3::Ipv4MulticastRoute>'], parent=root_module['ns3::empty'], memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Ipv4Route, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4Route> > [class]
@@ -186,16 +238,18 @@
module.add_class('Channel', import_from_module='ns.network', parent=root_module['ns3::Object'])
## attribute.h (module 'core'): ns3::EmptyAttributeValue [class]
module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
+ ## event-impl.h (module 'core'): ns3::EventImpl [class]
+ module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
module.add_class('Ipv4AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressValue [class]
module.add_class('Ipv4AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -210,6 +264,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -282,11 +338,20 @@
register_Ns3ByteTagListIterator_methods(root_module, root_module['ns3::ByteTagList::Iterator'])
register_Ns3ByteTagListIteratorItem_methods(root_module, root_module['ns3::ByteTagList::Iterator::Item'])
register_Ns3CallbackBase_methods(root_module, root_module['ns3::CallbackBase'])
+ register_Ns3EventId_methods(root_module, root_module['ns3::EventId'])
+ register_Ns3IntToType__0_methods(root_module, root_module['ns3::IntToType< 0 >'])
+ register_Ns3IntToType__1_methods(root_module, root_module['ns3::IntToType< 1 >'])
+ register_Ns3IntToType__2_methods(root_module, root_module['ns3::IntToType< 2 >'])
+ register_Ns3IntToType__3_methods(root_module, root_module['ns3::IntToType< 3 >'])
+ register_Ns3IntToType__4_methods(root_module, root_module['ns3::IntToType< 4 >'])
+ register_Ns3IntToType__5_methods(root_module, root_module['ns3::IntToType< 5 >'])
+ register_Ns3IntToType__6_methods(root_module, root_module['ns3::IntToType< 6 >'])
register_Ns3Ipv4Address_methods(root_module, root_module['ns3::Ipv4Address'])
register_Ns3Ipv4InterfaceAddress_methods(root_module, root_module['ns3::Ipv4InterfaceAddress'])
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv4RoutingHelper_methods(root_module, root_module['ns3::Ipv4RoutingHelper'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3Mac48Address_methods(root_module, root_module['ns3::Mac48Address'])
register_Ns3NetDeviceContainer_methods(root_module, root_module['ns3::NetDeviceContainer'])
@@ -303,8 +368,11 @@
register_Ns3PacketTagList_methods(root_module, root_module['ns3::PacketTagList'])
register_Ns3PacketTagListTagData_methods(root_module, root_module['ns3::PacketTagList::TagData'])
register_Ns3SimpleRefCount__Ns3Object_Ns3ObjectBase_Ns3ObjectDeleter_methods(root_module, root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
+ register_Ns3Simulator_methods(root_module, root_module['ns3::Simulator'])
register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
+ register_Ns3Timer_methods(root_module, root_module['ns3::Timer'])
+ register_Ns3TimerImpl_methods(root_module, root_module['ns3::TimerImpl'])
register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
@@ -314,12 +382,14 @@
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
register_Ns3Ipv4NixVectorHelper_methods(root_module, root_module['ns3::Ipv4NixVectorHelper'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
register_Ns3SimpleRefCount__Ns3AttributeChecker_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeChecker__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeChecker, ns3::empty, ns3::DefaultDeleter<ns3::AttributeChecker> >'])
register_Ns3SimpleRefCount__Ns3AttributeValue_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeValue__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeValue, ns3::empty, ns3::DefaultDeleter<ns3::AttributeValue> >'])
register_Ns3SimpleRefCount__Ns3CallbackImplBase_Ns3Empty_Ns3DefaultDeleter__lt__ns3CallbackImplBase__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::CallbackImplBase, ns3::empty, ns3::DefaultDeleter<ns3::CallbackImplBase> >'])
+ register_Ns3SimpleRefCount__Ns3EventImpl_Ns3Empty_Ns3DefaultDeleter__lt__ns3EventImpl__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
register_Ns3SimpleRefCount__Ns3Ipv4MulticastRoute_Ns3Empty_Ns3DefaultDeleter__lt__ns3Ipv4MulticastRoute__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::Ipv4MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4MulticastRoute> >'])
register_Ns3SimpleRefCount__Ns3Ipv4Route_Ns3Empty_Ns3DefaultDeleter__lt__ns3Ipv4Route__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::Ipv4Route, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4Route> >'])
register_Ns3SimpleRefCount__Ns3NixVector_Ns3Empty_Ns3DefaultDeleter__lt__ns3NixVector__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::NixVector, ns3::empty, ns3::DefaultDeleter<ns3::NixVector> >'])
@@ -341,10 +411,11 @@
register_Ns3CallbackValue_methods(root_module, root_module['ns3::CallbackValue'])
register_Ns3Channel_methods(root_module, root_module['ns3::Channel'])
register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue'])
+ register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -352,6 +423,7 @@
register_Ns3Ipv4RoutingProtocol_methods(root_module, root_module['ns3::Ipv4RoutingProtocol'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3Mac48AddressChecker_methods(root_module, root_module['ns3::Mac48AddressChecker'])
@@ -852,6 +924,100 @@
is_static=True, visibility='protected')
return
+def register_Ns3EventId_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_binary_comparison_operator('==')
+ ## event-id.h (module 'core'): ns3::EventId::EventId(ns3::EventId const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::EventId const &', 'arg0')])
+ ## event-id.h (module 'core'): ns3::EventId::EventId() [constructor]
+ cls.add_constructor([])
+ ## event-id.h (module 'core'): ns3::EventId::EventId(ns3::Ptr<ns3::EventImpl> const & impl, uint64_t ts, uint32_t context, uint32_t uid) [constructor]
+ cls.add_constructor([param('ns3::Ptr< ns3::EventImpl > const &', 'impl'), param('uint64_t', 'ts'), param('uint32_t', 'context'), param('uint32_t', 'uid')])
+ ## event-id.h (module 'core'): void ns3::EventId::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## event-id.h (module 'core'): uint32_t ns3::EventId::GetContext() const [member function]
+ cls.add_method('GetContext',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): uint64_t ns3::EventId::GetTs() const [member function]
+ cls.add_method('GetTs',
+ 'uint64_t',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): uint32_t ns3::EventId::GetUid() const [member function]
+ cls.add_method('GetUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): bool ns3::EventId::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): bool ns3::EventId::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## event-id.h (module 'core'): ns3::EventImpl * ns3::EventId::PeekEventImpl() const [member function]
+ cls.add_method('PeekEventImpl',
+ 'ns3::EventImpl *',
+ [],
+ is_const=True)
+ return
+
+def register_Ns3IntToType__0_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType(ns3::IntToType<0> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 0 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__1_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType(ns3::IntToType<1> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 1 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__2_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType(ns3::IntToType<2> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 2 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__3_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType(ns3::IntToType<3> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 3 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__4_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType(ns3::IntToType<4> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 4 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__5_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType(ns3::IntToType<5> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 5 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__6_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType(ns3::IntToType<6> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 6 > const &', 'arg0')])
+ return
+
def register_Ns3Ipv4Address_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -1175,6 +1341,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1215,11 +1386,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1250,6 +1430,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1275,6 +1460,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -1854,6 +2094,96 @@
is_static=True)
return
+def register_Ns3Simulator_methods(root_module, cls):
+ ## simulator.h (module 'core'): ns3::Simulator::Simulator(ns3::Simulator const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Simulator const &', 'arg0')])
+ ## simulator.h (module 'core'): static void ns3::Simulator::Cancel(ns3::EventId const & id) [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Destroy() [member function]
+ cls.add_method('Destroy',
+ 'void',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static uint32_t ns3::Simulator::GetContext() [member function]
+ cls.add_method('GetContext',
+ 'uint32_t',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::GetDelayLeft(ns3::EventId const & id) [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Ptr<ns3::SimulatorImpl> ns3::Simulator::GetImplementation() [member function]
+ cls.add_method('GetImplementation',
+ 'ns3::Ptr< ns3::SimulatorImpl >',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::GetMaximumSimulationTime() [member function]
+ cls.add_method('GetMaximumSimulationTime',
+ 'ns3::Time',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static uint32_t ns3::Simulator::GetSystemId() [member function]
+ cls.add_method('GetSystemId',
+ 'uint32_t',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static bool ns3::Simulator::IsExpired(ns3::EventId const & id) [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static bool ns3::Simulator::IsFinished() [member function]
+ cls.add_method('IsFinished',
+ 'bool',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::Next() [member function]
+ cls.add_method('Next',
+ 'ns3::Time',
+ [],
+ is_static=True, deprecated=True)
+ ## simulator.h (module 'core'): static ns3::Time ns3::Simulator::Now() [member function]
+ cls.add_method('Now',
+ 'ns3::Time',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Remove(ns3::EventId const & id) [member function]
+ cls.add_method('Remove',
+ 'void',
+ [param('ns3::EventId const &', 'id')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::RunOneEvent() [member function]
+ cls.add_method('RunOneEvent',
+ 'void',
+ [],
+ is_static=True, deprecated=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::SetImplementation(ns3::Ptr<ns3::SimulatorImpl> impl) [member function]
+ cls.add_method('SetImplementation',
+ 'void',
+ [param('ns3::Ptr< ns3::SimulatorImpl >', 'impl')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::SetScheduler(ns3::ObjectFactory schedulerFactory) [member function]
+ cls.add_method('SetScheduler',
+ 'void',
+ [param('ns3::ObjectFactory', 'schedulerFactory')],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Stop() [member function]
+ cls.add_method('Stop',
+ 'void',
+ [],
+ is_static=True)
+ ## simulator.h (module 'core'): static void ns3::Simulator::Stop(ns3::Time const & time) [member function]
+ cls.add_method('Stop',
+ 'void',
+ [param('ns3::Time const &', 'time')],
+ is_static=True)
+ return
+
def register_Ns3Tag_methods(root_module, cls):
## tag.h (module 'network'): ns3::Tag::Tag() [constructor]
cls.add_constructor([])
@@ -1949,6 +2279,90 @@
[param('uint8_t', 'v')])
return
+def register_Ns3Timer_methods(root_module, cls):
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Timer const &', 'arg0')])
+ ## timer.h (module 'core'): ns3::Timer::Timer() [constructor]
+ cls.add_constructor([])
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer::DestroyPolicy destroyPolicy) [constructor]
+ cls.add_constructor([param('ns3::Timer::DestroyPolicy', 'destroyPolicy')])
+ ## timer.h (module 'core'): void ns3::Timer::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelay() const [member function]
+ cls.add_method('GetDelay',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelayLeft() const [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Timer::State ns3::Timer::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Timer::State',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsSuspended() const [member function]
+ cls.add_method('IsSuspended',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): void ns3::Timer::Remove() [member function]
+ cls.add_method('Remove',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Resume() [member function]
+ cls.add_method('Resume',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule() [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule(ns3::Time delay) [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [param('ns3::Time', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::SetDelay(ns3::Time const & delay) [member function]
+ cls.add_method('SetDelay',
+ 'void',
+ [param('ns3::Time const &', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::Suspend() [member function]
+ cls.add_method('Suspend',
+ 'void',
+ [])
+ return
+
+def register_Ns3TimerImpl_methods(root_module, cls):
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl() [constructor]
+ cls.add_constructor([])
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl(ns3::TimerImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimerImpl const &', 'arg0')])
+ ## timer-impl.h (module 'core'): void ns3::TimerImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## timer-impl.h (module 'core'): ns3::EventId ns3::TimerImpl::Schedule(ns3::Time const & delay) [member function]
+ cls.add_method('Schedule',
+ 'ns3::EventId',
+ [param('ns3::Time const &', 'delay')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3TypeId_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -2054,7 +2468,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -2481,6 +2895,106 @@
is_const=True, is_virtual=True)
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -2595,6 +3109,18 @@
is_static=True)
return
+def register_Ns3SimpleRefCount__Ns3EventImpl_Ns3Empty_Ns3DefaultDeleter__lt__ns3EventImpl__gt___methods(root_module, cls):
+ ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >::SimpleRefCount() [constructor]
+ cls.add_constructor([])
+ ## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >::SimpleRefCount(ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> > const & o) [copy constructor]
+ cls.add_constructor([param('ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter< ns3::EventImpl > > const &', 'o')])
+ ## simple-ref-count.h (module 'core'): static void ns3::SimpleRefCount<ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >::Cleanup() [member function]
+ cls.add_method('Cleanup',
+ 'void',
+ [],
+ is_static=True)
+ return
+
def register_Ns3SimpleRefCount__Ns3Ipv4MulticastRoute_Ns3Empty_Ns3DefaultDeleter__lt__ns3Ipv4MulticastRoute__gt___methods(root_module, cls):
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Ipv4MulticastRoute, ns3::empty, ns3::DefaultDeleter<ns3::Ipv4MulticastRoute> >::SimpleRefCount() [constructor]
cls.add_constructor([])
@@ -2682,6 +3208,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -3434,6 +3965,87 @@
is_const=True, visibility='private', is_virtual=True)
return
+def register_Ns3EventImpl_methods(root_module, cls):
+ ## event-impl.h (module 'core'): ns3::EventImpl::EventImpl(ns3::EventImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::EventImpl const &', 'arg0')])
+ ## event-impl.h (module 'core'): ns3::EventImpl::EventImpl() [constructor]
+ cls.add_constructor([])
+ ## event-impl.h (module 'core'): void ns3::EventImpl::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## event-impl.h (module 'core'): void ns3::EventImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [])
+ ## event-impl.h (module 'core'): bool ns3::EventImpl::IsCancelled() [member function]
+ cls.add_method('IsCancelled',
+ 'bool',
+ [])
+ ## event-impl.h (module 'core'): void ns3::EventImpl::Notify() [member function]
+ cls.add_method('Notify',
+ 'void',
+ [],
+ is_pure_virtual=True, visibility='protected', is_virtual=True)
+ return
+
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -3504,10 +4116,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -3628,43 +4240,6 @@
[param('ns3::Ipv4Address const &', 'value')])
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -3893,6 +4468,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
--- a/src/olsr/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/olsr/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -92,6 +92,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## node-container.h (module 'network'): ns3::NodeContainer [class]
@@ -162,6 +168,10 @@
module.add_enum('DscpType', ['DscpDefault', 'CS1', 'AF11', 'AF12', 'AF13', 'CS2', 'AF21', 'AF22', 'AF23', 'CS3', 'AF31', 'AF32', 'AF33', 'CS4', 'AF41', 'AF42', 'AF43', 'CS5', 'EF', 'CS6', 'CS7'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType [enumeration]
module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -226,16 +236,16 @@
module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## event-impl.h (module 'core'): ns3::EventImpl [class]
module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
module.add_class('Ipv4AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressValue [class]
module.add_class('Ipv4AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -252,6 +262,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -422,6 +434,7 @@
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv4RoutingHelper_methods(root_module, root_module['ns3::Ipv4RoutingHelper'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3NodeContainer_methods(root_module, root_module['ns3::NodeContainer'])
register_Ns3ObjectBase_methods(root_module, root_module['ns3::ObjectBase'])
@@ -451,6 +464,7 @@
register_Ns3Chunk_methods(root_module, root_module['ns3::Chunk'])
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
@@ -479,10 +493,10 @@
register_Ns3CallbackValue_methods(root_module, root_module['ns3::CallbackValue'])
register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue'])
register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -491,6 +505,7 @@
register_Ns3Ipv4StaticRouting_methods(root_module, root_module['ns3::Ipv4StaticRouting'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3NetDevice_methods(root_module, root_module['ns3::NetDevice'])
@@ -1433,6 +1448,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1473,11 +1493,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1508,6 +1537,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1533,6 +1567,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -2620,7 +2709,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -3030,6 +3119,106 @@
[param('uint8_t', 'ttl')])
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -3243,6 +3432,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -3992,6 +4186,63 @@
is_pure_virtual=True, visibility='protected', is_virtual=True)
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -4062,10 +4313,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4186,43 +4437,6 @@
[param('ns3::Ipv4Address const &', 'value')])
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -4576,6 +4790,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
--- a/src/olsr/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/olsr/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -92,6 +92,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## node-container.h (module 'network'): ns3::NodeContainer [class]
@@ -162,6 +168,10 @@
module.add_enum('DscpType', ['DscpDefault', 'CS1', 'AF11', 'AF12', 'AF13', 'CS2', 'AF21', 'AF22', 'AF23', 'CS3', 'AF31', 'AF32', 'AF33', 'CS4', 'AF41', 'AF42', 'AF43', 'CS5', 'EF', 'CS6', 'CS7'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType [enumeration]
module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -226,16 +236,16 @@
module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## event-impl.h (module 'core'): ns3::EventImpl [class]
module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
module.add_class('Ipv4AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressValue [class]
module.add_class('Ipv4AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -252,6 +262,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -422,6 +434,7 @@
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv4RoutingHelper_methods(root_module, root_module['ns3::Ipv4RoutingHelper'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3NodeContainer_methods(root_module, root_module['ns3::NodeContainer'])
register_Ns3ObjectBase_methods(root_module, root_module['ns3::ObjectBase'])
@@ -451,6 +464,7 @@
register_Ns3Chunk_methods(root_module, root_module['ns3::Chunk'])
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
@@ -479,10 +493,10 @@
register_Ns3CallbackValue_methods(root_module, root_module['ns3::CallbackValue'])
register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue'])
register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -491,6 +505,7 @@
register_Ns3Ipv4StaticRouting_methods(root_module, root_module['ns3::Ipv4StaticRouting'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3NetDevice_methods(root_module, root_module['ns3::NetDevice'])
@@ -1433,6 +1448,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1473,11 +1493,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1508,6 +1537,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1533,6 +1567,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -2620,7 +2709,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -3030,6 +3119,106 @@
[param('uint8_t', 'ttl')])
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -3243,6 +3432,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -3992,6 +4186,63 @@
is_pure_virtual=True, visibility='protected', is_virtual=True)
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -4062,10 +4313,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4186,43 +4437,6 @@
[param('ns3::Ipv4Address const &', 'value')])
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -4576,6 +4790,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
--- a/src/point-to-point-layout/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/point-to-point-layout/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -54,6 +54,34 @@
module.add_class('CallbackBase', import_from_module='ns.core')
## event-id.h (module 'core'): ns3::EventId [class]
module.add_class('EventId', import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<0> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['0'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 0 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<1> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['1'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 1 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<2> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['2'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 2 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<3> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['3'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 3 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<4> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['4'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 4 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<5> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['5'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 5 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<6> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['6'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 6 >'], import_from_module='ns.core')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
module.add_class('Ipv4Address', import_from_module='ns.network')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
@@ -72,6 +100,8 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6AddressHelper [class]
+ module.add_class('Ipv6AddressHelper', import_from_module='ns.internet')
## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
@@ -136,6 +166,14 @@
module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
module.add_class('TagBuffer', import_from_module='ns.network')
+ ## timer.h (module 'core'): ns3::Timer [class]
+ module.add_class('Timer', import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::DestroyPolicy [enumeration]
+ module.add_enum('DestroyPolicy', ['CANCEL_ON_DESTROY', 'REMOVE_ON_DESTROY', 'CHECK_ON_DESTROY'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::State [enumeration]
+ module.add_enum('State', ['RUNNING', 'EXPIRED', 'SUSPENDED'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer-impl.h (module 'core'): ns3::TimerImpl [class]
+ module.add_class('TimerImpl', allow_subclassing=True, import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId [class]
module.add_class('TypeId', import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
@@ -230,6 +268,10 @@
module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## event-impl.h (module 'core'): ns3::EventImpl [class]
module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -240,10 +282,6 @@
module.add_class('Ipv4L3Protocol', import_from_module='ns.internet', parent=root_module['ns3::Ipv4'])
## ipv4-l3-protocol.h (module 'internet'): ns3::Ipv4L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_BAD_CHECKSUM', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_FRAGMENT_TIMEOUT'], outer_class=root_module['ns3::Ipv4L3Protocol'], import_from_module='ns.internet')
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -260,6 +298,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-l3-protocol.h (module 'internet'): ns3::Ipv6L3Protocol [class]
module.add_class('Ipv6L3Protocol', import_from_module='ns.internet', parent=root_module['ns3::Ipv6'])
## ipv6-l3-protocol.h (module 'internet'): ns3::Ipv6L3Protocol::DropReason [enumeration]
@@ -296,6 +336,7 @@
module.add_class('AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## address.h (module 'network'): ns3::AddressValue [class]
module.add_class('AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ module.add_container('std::vector< bool >', 'bool', container_type='vector')
module.add_container('std::map< unsigned int, unsigned int >', ('unsigned int', 'unsigned int'), container_type='map')
## Register a nested module for the namespace FatalImpl
@@ -325,12 +366,20 @@
register_Ns3ByteTagListIteratorItem_methods(root_module, root_module['ns3::ByteTagList::Iterator::Item'])
register_Ns3CallbackBase_methods(root_module, root_module['ns3::CallbackBase'])
register_Ns3EventId_methods(root_module, root_module['ns3::EventId'])
+ register_Ns3IntToType__0_methods(root_module, root_module['ns3::IntToType< 0 >'])
+ register_Ns3IntToType__1_methods(root_module, root_module['ns3::IntToType< 1 >'])
+ register_Ns3IntToType__2_methods(root_module, root_module['ns3::IntToType< 2 >'])
+ register_Ns3IntToType__3_methods(root_module, root_module['ns3::IntToType< 3 >'])
+ register_Ns3IntToType__4_methods(root_module, root_module['ns3::IntToType< 4 >'])
+ register_Ns3IntToType__5_methods(root_module, root_module['ns3::IntToType< 5 >'])
+ register_Ns3IntToType__6_methods(root_module, root_module['ns3::IntToType< 6 >'])
register_Ns3Ipv4Address_methods(root_module, root_module['ns3::Ipv4Address'])
register_Ns3Ipv4AddressHelper_methods(root_module, root_module['ns3::Ipv4AddressHelper'])
register_Ns3Ipv4InterfaceAddress_methods(root_module, root_module['ns3::Ipv4InterfaceAddress'])
register_Ns3Ipv4InterfaceContainer_methods(root_module, root_module['ns3::Ipv4InterfaceContainer'])
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6AddressHelper_methods(root_module, root_module['ns3::Ipv6AddressHelper'])
register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6InterfaceContainer_methods(root_module, root_module['ns3::Ipv6InterfaceContainer'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
@@ -359,6 +408,8 @@
register_Ns3Simulator_methods(root_module, root_module['ns3::Simulator'])
register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
+ register_Ns3Timer_methods(root_module, root_module['ns3::Timer'])
+ register_Ns3TimerImpl_methods(root_module, root_module['ns3::TimerImpl'])
register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
@@ -398,11 +449,11 @@
register_Ns3CallbackValue_methods(root_module, root_module['ns3::CallbackValue'])
register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue'])
register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
register_Ns3Ipv4L3Protocol_methods(root_module, root_module['ns3::Ipv4L3Protocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -411,6 +462,7 @@
register_Ns3Ipv6_methods(root_module, root_module['ns3::Ipv6'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6L3Protocol_methods(root_module, root_module['ns3::Ipv6L3Protocol'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
@@ -1191,6 +1243,55 @@
is_const=True)
return
+def register_Ns3IntToType__0_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType(ns3::IntToType<0> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 0 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__1_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType(ns3::IntToType<1> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 1 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__2_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType(ns3::IntToType<2> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 2 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__3_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType(ns3::IntToType<3> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 3 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__4_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType(ns3::IntToType<4> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 4 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__5_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType(ns3::IntToType<5> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 5 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__6_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType(ns3::IntToType<6> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 6 > const &', 'arg0')])
+ return
+
def register_Ns3Ipv4Address_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -1554,6 +1655,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1594,11 +1700,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1629,6 +1744,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1654,6 +1774,33 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6AddressHelper_methods(root_module, cls):
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6AddressHelper::Ipv6AddressHelper(ns3::Ipv6AddressHelper const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6AddressHelper const &', 'arg0')])
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6AddressHelper::Ipv6AddressHelper() [constructor]
+ cls.add_constructor([])
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6InterfaceContainer ns3::Ipv6AddressHelper::Assign(ns3::NetDeviceContainer const & c) [member function]
+ cls.add_method('Assign',
+ 'ns3::Ipv6InterfaceContainer',
+ [param('ns3::NetDeviceContainer const &', 'c')])
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6InterfaceContainer ns3::Ipv6AddressHelper::Assign(ns3::NetDeviceContainer const & c, std::vector<bool,std::allocator<bool> > withConfiguration) [member function]
+ cls.add_method('Assign',
+ 'ns3::Ipv6InterfaceContainer',
+ [param('ns3::NetDeviceContainer const &', 'c'), param('std::vector< bool >', 'withConfiguration')])
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6InterfaceContainer ns3::Ipv6AddressHelper::AssignWithoutAddress(ns3::NetDeviceContainer const & c) [member function]
+ cls.add_method('AssignWithoutAddress',
+ 'ns3::Ipv6InterfaceContainer',
+ [param('ns3::NetDeviceContainer const &', 'c')])
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6AddressHelper::NewAddress(ns3::Address addr) [member function]
+ cls.add_method('NewAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Address', 'addr')])
+ ## ipv6-address-helper.h (module 'internet'): void ns3::Ipv6AddressHelper::NewNetwork(ns3::Ipv6Address network, ns3::Ipv6Prefix prefix) [member function]
+ cls.add_method('NewNetwork',
+ 'void',
+ [param('ns3::Ipv6Address', 'network'), param('ns3::Ipv6Prefix', 'prefix')])
+ return
+
def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -2448,6 +2595,10 @@
cls.add_method('AssignIpv4Addresses',
'void',
[param('ns3::Ipv4AddressHelper', 'leftIp'), param('ns3::Ipv4AddressHelper', 'rightIp'), param('ns3::Ipv4AddressHelper', 'routerIp')])
+ ## point-to-point-dumbbell.h (module 'point-to-point-layout'): void ns3::PointToPointDumbbellHelper::AssignIpv6Addresses(ns3::Ipv6Address network, ns3::Ipv6Prefix prefix) [member function]
+ cls.add_method('AssignIpv6Addresses',
+ 'void',
+ [param('ns3::Ipv6Address', 'network'), param('ns3::Ipv6Prefix', 'prefix')])
## point-to-point-dumbbell.h (module 'point-to-point-layout'): void ns3::PointToPointDumbbellHelper::BoundingBox(double ulx, double uly, double lrx, double lry) [member function]
cls.add_method('BoundingBox',
'void',
@@ -2467,6 +2618,11 @@
'ns3::Ipv4Address',
[param('uint32_t', 'i')],
is_const=True)
+ ## point-to-point-dumbbell.h (module 'point-to-point-layout'): ns3::Ipv6Address ns3::PointToPointDumbbellHelper::GetLeftIpv6Address(uint32_t i) const [member function]
+ cls.add_method('GetLeftIpv6Address',
+ 'ns3::Ipv6Address',
+ [param('uint32_t', 'i')],
+ is_const=True)
## point-to-point-dumbbell.h (module 'point-to-point-layout'): ns3::Ptr<ns3::Node> ns3::PointToPointDumbbellHelper::GetRight() const [member function]
cls.add_method('GetRight',
'ns3::Ptr< ns3::Node >',
@@ -2482,6 +2638,11 @@
'ns3::Ipv4Address',
[param('uint32_t', 'i')],
is_const=True)
+ ## point-to-point-dumbbell.h (module 'point-to-point-layout'): ns3::Ipv6Address ns3::PointToPointDumbbellHelper::GetRightIpv6Address(uint32_t i) const [member function]
+ cls.add_method('GetRightIpv6Address',
+ 'ns3::Ipv6Address',
+ [param('uint32_t', 'i')],
+ is_const=True)
## point-to-point-dumbbell.h (module 'point-to-point-layout'): void ns3::PointToPointDumbbellHelper::InstallStack(ns3::InternetStackHelper stack) [member function]
cls.add_method('InstallStack',
'void',
@@ -2507,6 +2668,10 @@
cls.add_method('AssignIpv4Addresses',
'void',
[param('ns3::Ipv4AddressHelper', 'rowIp'), param('ns3::Ipv4AddressHelper', 'colIp')])
+ ## point-to-point-grid.h (module 'point-to-point-layout'): void ns3::PointToPointGridHelper::AssignIpv6Addresses(ns3::Ipv6Address network, ns3::Ipv6Prefix prefix) [member function]
+ cls.add_method('AssignIpv6Addresses',
+ 'void',
+ [param('ns3::Ipv6Address', 'network'), param('ns3::Ipv6Prefix', 'prefix')])
## point-to-point-grid.h (module 'point-to-point-layout'): void ns3::PointToPointGridHelper::BoundingBox(double ulx, double uly, double lrx, double lry) [member function]
cls.add_method('BoundingBox',
'void',
@@ -2515,6 +2680,10 @@
cls.add_method('GetIpv4Address',
'ns3::Ipv4Address',
[param('uint32_t', 'row'), param('uint32_t', 'col')])
+ ## point-to-point-grid.h (module 'point-to-point-layout'): ns3::Ipv6Address ns3::PointToPointGridHelper::GetIpv6Address(uint32_t row, uint32_t col) [member function]
+ cls.add_method('GetIpv6Address',
+ 'ns3::Ipv6Address',
+ [param('uint32_t', 'row'), param('uint32_t', 'col')])
## point-to-point-grid.h (module 'point-to-point-layout'): ns3::Ptr<ns3::Node> ns3::PointToPointGridHelper::GetNode(uint32_t row, uint32_t col) [member function]
cls.add_method('GetNode',
'ns3::Ptr< ns3::Node >',
@@ -2583,6 +2752,10 @@
cls.add_method('AssignIpv4Addresses',
'void',
[param('ns3::Ipv4AddressHelper', 'address')])
+ ## point-to-point-star.h (module 'point-to-point-layout'): void ns3::PointToPointStarHelper::AssignIpv6Addresses(ns3::Ipv6Address network, ns3::Ipv6Prefix prefix) [member function]
+ cls.add_method('AssignIpv6Addresses',
+ 'void',
+ [param('ns3::Ipv6Address', 'network'), param('ns3::Ipv6Prefix', 'prefix')])
## point-to-point-star.h (module 'point-to-point-layout'): void ns3::PointToPointStarHelper::BoundingBox(double ulx, double uly, double lrx, double lry) [member function]
cls.add_method('BoundingBox',
'void',
@@ -2597,11 +2770,21 @@
'ns3::Ipv4Address',
[param('uint32_t', 'i')],
is_const=True)
+ ## point-to-point-star.h (module 'point-to-point-layout'): ns3::Ipv6Address ns3::PointToPointStarHelper::GetHubIpv6Address(uint32_t i) const [member function]
+ cls.add_method('GetHubIpv6Address',
+ 'ns3::Ipv6Address',
+ [param('uint32_t', 'i')],
+ is_const=True)
## point-to-point-star.h (module 'point-to-point-layout'): ns3::Ipv4Address ns3::PointToPointStarHelper::GetSpokeIpv4Address(uint32_t i) const [member function]
cls.add_method('GetSpokeIpv4Address',
'ns3::Ipv4Address',
[param('uint32_t', 'i')],
is_const=True)
+ ## point-to-point-star.h (module 'point-to-point-layout'): ns3::Ipv6Address ns3::PointToPointStarHelper::GetSpokeIpv6Address(uint32_t i) const [member function]
+ cls.add_method('GetSpokeIpv6Address',
+ 'ns3::Ipv6Address',
+ [param('uint32_t', 'i')],
+ is_const=True)
## point-to-point-star.h (module 'point-to-point-layout'): ns3::Ptr<ns3::Node> ns3::PointToPointStarHelper::GetSpokeNode(uint32_t i) const [member function]
cls.add_method('GetSpokeNode',
'ns3::Ptr< ns3::Node >',
@@ -2815,6 +2998,90 @@
[param('uint8_t', 'v')])
return
+def register_Ns3Timer_methods(root_module, cls):
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Timer const &', 'arg0')])
+ ## timer.h (module 'core'): ns3::Timer::Timer() [constructor]
+ cls.add_constructor([])
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer::DestroyPolicy destroyPolicy) [constructor]
+ cls.add_constructor([param('ns3::Timer::DestroyPolicy', 'destroyPolicy')])
+ ## timer.h (module 'core'): void ns3::Timer::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelay() const [member function]
+ cls.add_method('GetDelay',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelayLeft() const [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Timer::State ns3::Timer::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Timer::State',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsSuspended() const [member function]
+ cls.add_method('IsSuspended',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): void ns3::Timer::Remove() [member function]
+ cls.add_method('Remove',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Resume() [member function]
+ cls.add_method('Resume',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule() [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule(ns3::Time delay) [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [param('ns3::Time', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::SetDelay(ns3::Time const & delay) [member function]
+ cls.add_method('SetDelay',
+ 'void',
+ [param('ns3::Time const &', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::Suspend() [member function]
+ cls.add_method('Suspend',
+ 'void',
+ [])
+ return
+
+def register_Ns3TimerImpl_methods(root_module, cls):
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl() [constructor]
+ cls.add_constructor([])
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl(ns3::TimerImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimerImpl const &', 'arg0')])
+ ## timer-impl.h (module 'core'): void ns3::TimerImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## timer-impl.h (module 'core'): ns3::EventId ns3::TimerImpl::Schedule(ns3::Time const & delay) [member function]
+ cls.add_method('Schedule',
+ 'ns3::EventId',
+ [param('ns3::Time const &', 'delay')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3TypeId_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -2920,7 +3187,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -3794,6 +4061,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -4543,6 +4815,63 @@
is_pure_virtual=True, visibility='protected', is_virtual=True)
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -4613,10 +4942,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4808,9 +5137,9 @@
'ns3::Ptr< ns3::NetDevice >',
[param('uint32_t', 'i')],
is_virtual=True)
- ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4L4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv4L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4RoutingProtocol> ns3::Ipv4L3Protocol::GetRoutingProtocol() const [member function]
@@ -4823,10 +5152,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_virtual=True)
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4847,10 +5176,10 @@
cls.add_method('Receive',
'void',
[param('ns3::Ptr< ns3::NetDevice >', 'device'), param('ns3::Ptr< ns3::Packet const >', 'p'), param('uint16_t', 'protocol'), param('ns3::Address const &', 'from'), param('ns3::Address const &', 'to'), param('ns3::NetDevice::PacketType', 'packetType')])
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')])
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::RemoveAddress(uint32_t interfaceIndex, uint32_t addressIndex) [member function]
cls.add_method('RemoveAddress',
'bool',
@@ -4937,43 +5266,6 @@
visibility='private', is_virtual=True)
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -5336,6 +5628,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6L3Protocol_methods(root_module, cls):
## ipv6-l3-protocol.h (module 'internet'): ns3::Ipv6L3Protocol::PROT_NUMBER [variable]
cls.add_static_attribute('PROT_NUMBER', 'uint16_t const', is_const=True)
@@ -5350,17 +5783,17 @@
cls.add_method('SetNode',
'void',
[param('ns3::Ptr< ns3::Node >', 'node')])
- ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Insert(ns3::Ptr<ns3::Ipv6L4Protocol> protocol) [member function]
+ ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv6L4Protocol >', 'protocol')])
- ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Remove(ns3::Ptr<ns3::Ipv6L4Protocol> protocol) [member function]
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
+ ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv6L4Protocol >', 'protocol')])
- ## ipv6-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv6L4Protocol> ns3::Ipv6L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
+ ## ipv6-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv6L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv6L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv6-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Socket> ns3::Ipv6L3Protocol::CreateRawSocket() [member function]
--- a/src/point-to-point-layout/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/point-to-point-layout/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -54,6 +54,34 @@
module.add_class('CallbackBase', import_from_module='ns.core')
## event-id.h (module 'core'): ns3::EventId [class]
module.add_class('EventId', import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<0> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['0'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 0 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<1> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['1'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 1 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<2> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['2'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 2 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<3> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['3'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 3 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<4> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['4'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 4 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<5> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['5'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 5 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<6> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['6'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 6 >'], import_from_module='ns.core')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
module.add_class('Ipv4Address', import_from_module='ns.network')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
@@ -72,6 +100,8 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6AddressHelper [class]
+ module.add_class('Ipv6AddressHelper', import_from_module='ns.internet')
## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
@@ -136,6 +166,14 @@
module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
module.add_class('TagBuffer', import_from_module='ns.network')
+ ## timer.h (module 'core'): ns3::Timer [class]
+ module.add_class('Timer', import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::DestroyPolicy [enumeration]
+ module.add_enum('DestroyPolicy', ['CANCEL_ON_DESTROY', 'REMOVE_ON_DESTROY', 'CHECK_ON_DESTROY'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::State [enumeration]
+ module.add_enum('State', ['RUNNING', 'EXPIRED', 'SUSPENDED'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer-impl.h (module 'core'): ns3::TimerImpl [class]
+ module.add_class('TimerImpl', allow_subclassing=True, import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId [class]
module.add_class('TypeId', import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
@@ -230,6 +268,10 @@
module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## event-impl.h (module 'core'): ns3::EventImpl [class]
module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -240,10 +282,6 @@
module.add_class('Ipv4L3Protocol', import_from_module='ns.internet', parent=root_module['ns3::Ipv4'])
## ipv4-l3-protocol.h (module 'internet'): ns3::Ipv4L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_BAD_CHECKSUM', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_FRAGMENT_TIMEOUT'], outer_class=root_module['ns3::Ipv4L3Protocol'], import_from_module='ns.internet')
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -260,6 +298,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-l3-protocol.h (module 'internet'): ns3::Ipv6L3Protocol [class]
module.add_class('Ipv6L3Protocol', import_from_module='ns.internet', parent=root_module['ns3::Ipv6'])
## ipv6-l3-protocol.h (module 'internet'): ns3::Ipv6L3Protocol::DropReason [enumeration]
@@ -296,6 +336,7 @@
module.add_class('AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## address.h (module 'network'): ns3::AddressValue [class]
module.add_class('AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ module.add_container('std::vector< bool >', 'bool', container_type='vector')
module.add_container('std::map< unsigned int, unsigned int >', ('unsigned int', 'unsigned int'), container_type='map')
## Register a nested module for the namespace FatalImpl
@@ -325,12 +366,20 @@
register_Ns3ByteTagListIteratorItem_methods(root_module, root_module['ns3::ByteTagList::Iterator::Item'])
register_Ns3CallbackBase_methods(root_module, root_module['ns3::CallbackBase'])
register_Ns3EventId_methods(root_module, root_module['ns3::EventId'])
+ register_Ns3IntToType__0_methods(root_module, root_module['ns3::IntToType< 0 >'])
+ register_Ns3IntToType__1_methods(root_module, root_module['ns3::IntToType< 1 >'])
+ register_Ns3IntToType__2_methods(root_module, root_module['ns3::IntToType< 2 >'])
+ register_Ns3IntToType__3_methods(root_module, root_module['ns3::IntToType< 3 >'])
+ register_Ns3IntToType__4_methods(root_module, root_module['ns3::IntToType< 4 >'])
+ register_Ns3IntToType__5_methods(root_module, root_module['ns3::IntToType< 5 >'])
+ register_Ns3IntToType__6_methods(root_module, root_module['ns3::IntToType< 6 >'])
register_Ns3Ipv4Address_methods(root_module, root_module['ns3::Ipv4Address'])
register_Ns3Ipv4AddressHelper_methods(root_module, root_module['ns3::Ipv4AddressHelper'])
register_Ns3Ipv4InterfaceAddress_methods(root_module, root_module['ns3::Ipv4InterfaceAddress'])
register_Ns3Ipv4InterfaceContainer_methods(root_module, root_module['ns3::Ipv4InterfaceContainer'])
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6AddressHelper_methods(root_module, root_module['ns3::Ipv6AddressHelper'])
register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6InterfaceContainer_methods(root_module, root_module['ns3::Ipv6InterfaceContainer'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
@@ -359,6 +408,8 @@
register_Ns3Simulator_methods(root_module, root_module['ns3::Simulator'])
register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
+ register_Ns3Timer_methods(root_module, root_module['ns3::Timer'])
+ register_Ns3TimerImpl_methods(root_module, root_module['ns3::TimerImpl'])
register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
@@ -398,11 +449,11 @@
register_Ns3CallbackValue_methods(root_module, root_module['ns3::CallbackValue'])
register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue'])
register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
register_Ns3Ipv4L3Protocol_methods(root_module, root_module['ns3::Ipv4L3Protocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -411,6 +462,7 @@
register_Ns3Ipv6_methods(root_module, root_module['ns3::Ipv6'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6L3Protocol_methods(root_module, root_module['ns3::Ipv6L3Protocol'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
@@ -1191,6 +1243,55 @@
is_const=True)
return
+def register_Ns3IntToType__0_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType(ns3::IntToType<0> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 0 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__1_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType(ns3::IntToType<1> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 1 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__2_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType(ns3::IntToType<2> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 2 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__3_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType(ns3::IntToType<3> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 3 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__4_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType(ns3::IntToType<4> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 4 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__5_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType(ns3::IntToType<5> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 5 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__6_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType(ns3::IntToType<6> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 6 > const &', 'arg0')])
+ return
+
def register_Ns3Ipv4Address_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -1554,6 +1655,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1594,11 +1700,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1629,6 +1744,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1654,6 +1774,33 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6AddressHelper_methods(root_module, cls):
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6AddressHelper::Ipv6AddressHelper(ns3::Ipv6AddressHelper const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6AddressHelper const &', 'arg0')])
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6AddressHelper::Ipv6AddressHelper() [constructor]
+ cls.add_constructor([])
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6InterfaceContainer ns3::Ipv6AddressHelper::Assign(ns3::NetDeviceContainer const & c) [member function]
+ cls.add_method('Assign',
+ 'ns3::Ipv6InterfaceContainer',
+ [param('ns3::NetDeviceContainer const &', 'c')])
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6InterfaceContainer ns3::Ipv6AddressHelper::Assign(ns3::NetDeviceContainer const & c, std::vector<bool,std::allocator<bool> > withConfiguration) [member function]
+ cls.add_method('Assign',
+ 'ns3::Ipv6InterfaceContainer',
+ [param('ns3::NetDeviceContainer const &', 'c'), param('std::vector< bool >', 'withConfiguration')])
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6InterfaceContainer ns3::Ipv6AddressHelper::AssignWithoutAddress(ns3::NetDeviceContainer const & c) [member function]
+ cls.add_method('AssignWithoutAddress',
+ 'ns3::Ipv6InterfaceContainer',
+ [param('ns3::NetDeviceContainer const &', 'c')])
+ ## ipv6-address-helper.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6AddressHelper::NewAddress(ns3::Address addr) [member function]
+ cls.add_method('NewAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Address', 'addr')])
+ ## ipv6-address-helper.h (module 'internet'): void ns3::Ipv6AddressHelper::NewNetwork(ns3::Ipv6Address network, ns3::Ipv6Prefix prefix) [member function]
+ cls.add_method('NewNetwork',
+ 'void',
+ [param('ns3::Ipv6Address', 'network'), param('ns3::Ipv6Prefix', 'prefix')])
+ return
+
def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -2448,6 +2595,10 @@
cls.add_method('AssignIpv4Addresses',
'void',
[param('ns3::Ipv4AddressHelper', 'leftIp'), param('ns3::Ipv4AddressHelper', 'rightIp'), param('ns3::Ipv4AddressHelper', 'routerIp')])
+ ## point-to-point-dumbbell.h (module 'point-to-point-layout'): void ns3::PointToPointDumbbellHelper::AssignIpv6Addresses(ns3::Ipv6Address network, ns3::Ipv6Prefix prefix) [member function]
+ cls.add_method('AssignIpv6Addresses',
+ 'void',
+ [param('ns3::Ipv6Address', 'network'), param('ns3::Ipv6Prefix', 'prefix')])
## point-to-point-dumbbell.h (module 'point-to-point-layout'): void ns3::PointToPointDumbbellHelper::BoundingBox(double ulx, double uly, double lrx, double lry) [member function]
cls.add_method('BoundingBox',
'void',
@@ -2467,6 +2618,11 @@
'ns3::Ipv4Address',
[param('uint32_t', 'i')],
is_const=True)
+ ## point-to-point-dumbbell.h (module 'point-to-point-layout'): ns3::Ipv6Address ns3::PointToPointDumbbellHelper::GetLeftIpv6Address(uint32_t i) const [member function]
+ cls.add_method('GetLeftIpv6Address',
+ 'ns3::Ipv6Address',
+ [param('uint32_t', 'i')],
+ is_const=True)
## point-to-point-dumbbell.h (module 'point-to-point-layout'): ns3::Ptr<ns3::Node> ns3::PointToPointDumbbellHelper::GetRight() const [member function]
cls.add_method('GetRight',
'ns3::Ptr< ns3::Node >',
@@ -2482,6 +2638,11 @@
'ns3::Ipv4Address',
[param('uint32_t', 'i')],
is_const=True)
+ ## point-to-point-dumbbell.h (module 'point-to-point-layout'): ns3::Ipv6Address ns3::PointToPointDumbbellHelper::GetRightIpv6Address(uint32_t i) const [member function]
+ cls.add_method('GetRightIpv6Address',
+ 'ns3::Ipv6Address',
+ [param('uint32_t', 'i')],
+ is_const=True)
## point-to-point-dumbbell.h (module 'point-to-point-layout'): void ns3::PointToPointDumbbellHelper::InstallStack(ns3::InternetStackHelper stack) [member function]
cls.add_method('InstallStack',
'void',
@@ -2507,6 +2668,10 @@
cls.add_method('AssignIpv4Addresses',
'void',
[param('ns3::Ipv4AddressHelper', 'rowIp'), param('ns3::Ipv4AddressHelper', 'colIp')])
+ ## point-to-point-grid.h (module 'point-to-point-layout'): void ns3::PointToPointGridHelper::AssignIpv6Addresses(ns3::Ipv6Address network, ns3::Ipv6Prefix prefix) [member function]
+ cls.add_method('AssignIpv6Addresses',
+ 'void',
+ [param('ns3::Ipv6Address', 'network'), param('ns3::Ipv6Prefix', 'prefix')])
## point-to-point-grid.h (module 'point-to-point-layout'): void ns3::PointToPointGridHelper::BoundingBox(double ulx, double uly, double lrx, double lry) [member function]
cls.add_method('BoundingBox',
'void',
@@ -2515,6 +2680,10 @@
cls.add_method('GetIpv4Address',
'ns3::Ipv4Address',
[param('uint32_t', 'row'), param('uint32_t', 'col')])
+ ## point-to-point-grid.h (module 'point-to-point-layout'): ns3::Ipv6Address ns3::PointToPointGridHelper::GetIpv6Address(uint32_t row, uint32_t col) [member function]
+ cls.add_method('GetIpv6Address',
+ 'ns3::Ipv6Address',
+ [param('uint32_t', 'row'), param('uint32_t', 'col')])
## point-to-point-grid.h (module 'point-to-point-layout'): ns3::Ptr<ns3::Node> ns3::PointToPointGridHelper::GetNode(uint32_t row, uint32_t col) [member function]
cls.add_method('GetNode',
'ns3::Ptr< ns3::Node >',
@@ -2583,6 +2752,10 @@
cls.add_method('AssignIpv4Addresses',
'void',
[param('ns3::Ipv4AddressHelper', 'address')])
+ ## point-to-point-star.h (module 'point-to-point-layout'): void ns3::PointToPointStarHelper::AssignIpv6Addresses(ns3::Ipv6Address network, ns3::Ipv6Prefix prefix) [member function]
+ cls.add_method('AssignIpv6Addresses',
+ 'void',
+ [param('ns3::Ipv6Address', 'network'), param('ns3::Ipv6Prefix', 'prefix')])
## point-to-point-star.h (module 'point-to-point-layout'): void ns3::PointToPointStarHelper::BoundingBox(double ulx, double uly, double lrx, double lry) [member function]
cls.add_method('BoundingBox',
'void',
@@ -2597,11 +2770,21 @@
'ns3::Ipv4Address',
[param('uint32_t', 'i')],
is_const=True)
+ ## point-to-point-star.h (module 'point-to-point-layout'): ns3::Ipv6Address ns3::PointToPointStarHelper::GetHubIpv6Address(uint32_t i) const [member function]
+ cls.add_method('GetHubIpv6Address',
+ 'ns3::Ipv6Address',
+ [param('uint32_t', 'i')],
+ is_const=True)
## point-to-point-star.h (module 'point-to-point-layout'): ns3::Ipv4Address ns3::PointToPointStarHelper::GetSpokeIpv4Address(uint32_t i) const [member function]
cls.add_method('GetSpokeIpv4Address',
'ns3::Ipv4Address',
[param('uint32_t', 'i')],
is_const=True)
+ ## point-to-point-star.h (module 'point-to-point-layout'): ns3::Ipv6Address ns3::PointToPointStarHelper::GetSpokeIpv6Address(uint32_t i) const [member function]
+ cls.add_method('GetSpokeIpv6Address',
+ 'ns3::Ipv6Address',
+ [param('uint32_t', 'i')],
+ is_const=True)
## point-to-point-star.h (module 'point-to-point-layout'): ns3::Ptr<ns3::Node> ns3::PointToPointStarHelper::GetSpokeNode(uint32_t i) const [member function]
cls.add_method('GetSpokeNode',
'ns3::Ptr< ns3::Node >',
@@ -2815,6 +2998,90 @@
[param('uint8_t', 'v')])
return
+def register_Ns3Timer_methods(root_module, cls):
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Timer const &', 'arg0')])
+ ## timer.h (module 'core'): ns3::Timer::Timer() [constructor]
+ cls.add_constructor([])
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer::DestroyPolicy destroyPolicy) [constructor]
+ cls.add_constructor([param('ns3::Timer::DestroyPolicy', 'destroyPolicy')])
+ ## timer.h (module 'core'): void ns3::Timer::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelay() const [member function]
+ cls.add_method('GetDelay',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelayLeft() const [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Timer::State ns3::Timer::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Timer::State',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsSuspended() const [member function]
+ cls.add_method('IsSuspended',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): void ns3::Timer::Remove() [member function]
+ cls.add_method('Remove',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Resume() [member function]
+ cls.add_method('Resume',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule() [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule(ns3::Time delay) [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [param('ns3::Time', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::SetDelay(ns3::Time const & delay) [member function]
+ cls.add_method('SetDelay',
+ 'void',
+ [param('ns3::Time const &', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::Suspend() [member function]
+ cls.add_method('Suspend',
+ 'void',
+ [])
+ return
+
+def register_Ns3TimerImpl_methods(root_module, cls):
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl() [constructor]
+ cls.add_constructor([])
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl(ns3::TimerImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimerImpl const &', 'arg0')])
+ ## timer-impl.h (module 'core'): void ns3::TimerImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## timer-impl.h (module 'core'): ns3::EventId ns3::TimerImpl::Schedule(ns3::Time const & delay) [member function]
+ cls.add_method('Schedule',
+ 'ns3::EventId',
+ [param('ns3::Time const &', 'delay')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3TypeId_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -2920,7 +3187,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -3794,6 +4061,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -4543,6 +4815,63 @@
is_pure_virtual=True, visibility='protected', is_virtual=True)
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -4613,10 +4942,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4808,9 +5137,9 @@
'ns3::Ptr< ns3::NetDevice >',
[param('uint32_t', 'i')],
is_virtual=True)
- ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4L4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv4L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4RoutingProtocol> ns3::Ipv4L3Protocol::GetRoutingProtocol() const [member function]
@@ -4823,10 +5152,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_virtual=True)
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -4847,10 +5176,10 @@
cls.add_method('Receive',
'void',
[param('ns3::Ptr< ns3::NetDevice >', 'device'), param('ns3::Ptr< ns3::Packet const >', 'p'), param('uint16_t', 'protocol'), param('ns3::Address const &', 'from'), param('ns3::Address const &', 'to'), param('ns3::NetDevice::PacketType', 'packetType')])
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')])
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::RemoveAddress(uint32_t interfaceIndex, uint32_t addressIndex) [member function]
cls.add_method('RemoveAddress',
'bool',
@@ -4937,43 +5266,6 @@
visibility='private', is_virtual=True)
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -5336,6 +5628,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6L3Protocol_methods(root_module, cls):
## ipv6-l3-protocol.h (module 'internet'): ns3::Ipv6L3Protocol::PROT_NUMBER [variable]
cls.add_static_attribute('PROT_NUMBER', 'uint16_t const', is_const=True)
@@ -5350,17 +5783,17 @@
cls.add_method('SetNode',
'void',
[param('ns3::Ptr< ns3::Node >', 'node')])
- ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Insert(ns3::Ptr<ns3::Ipv6L4Protocol> protocol) [member function]
+ ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv6L4Protocol >', 'protocol')])
- ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Remove(ns3::Ptr<ns3::Ipv6L4Protocol> protocol) [member function]
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
+ ## ipv6-l3-protocol.h (module 'internet'): void ns3::Ipv6L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv6L4Protocol >', 'protocol')])
- ## ipv6-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv6L4Protocol> ns3::Ipv6L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
+ ## ipv6-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv6L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv6L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv6-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Socket> ns3::Ipv6L3Protocol::CreateRawSocket() [member function]
--- a/src/point-to-point-layout/model/point-to-point-dumbbell.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/point-to-point-layout/model/point-to-point-dumbbell.cc Fri Mar 02 19:43:49 2012 +0100
@@ -29,6 +29,7 @@
#include "ns3/node-list.h"
#include "ns3/point-to-point-net-device.h"
#include "ns3/vector.h"
+#include "ns3/ipv6-address-generator.h"
NS_LOG_COMPONENT_DEFINE ("PointToPointDumbbellHelper");
@@ -100,6 +101,16 @@
return m_rightLeafInterfaces.GetAddress (i);
}
+Ipv6Address PointToPointDumbbellHelper::GetLeftIpv6Address (uint32_t i) const
+{
+ return m_leftLeafInterfaces6.GetAddress (i, 1);
+}
+
+Ipv6Address PointToPointDumbbellHelper::GetRightIpv6Address (uint32_t i) const
+{
+ return m_rightLeafInterfaces6.GetAddress (i, 1);
+}
+
uint32_t PointToPointDumbbellHelper::LeftCount () const
{ // Number of left side nodes
return m_leftLeaf.GetN ();
@@ -147,6 +158,52 @@
}
}
+void PointToPointDumbbellHelper::AssignIpv6Addresses (Ipv6Address addrBase, Ipv6Prefix prefix)
+{
+ // Assign the router network
+ Ipv6AddressGenerator::Init (addrBase, prefix);
+ Ipv6Address v6network;
+ Ipv6AddressHelper addressHelper;
+
+ v6network = Ipv6AddressGenerator::GetNetwork (prefix);
+ addressHelper.NewNetwork (v6network, prefix);
+ m_routerInterfaces6 = addressHelper.Assign (m_routerDevices);
+ Ipv6AddressGenerator::NextNetwork (prefix);
+
+ // Assign to left side
+ for (uint32_t i = 0; i < LeftCount (); ++i)
+ {
+ v6network = Ipv6AddressGenerator::GetNetwork (prefix);
+ addressHelper.NewNetwork (v6network, prefix);
+
+ NetDeviceContainer ndc;
+ ndc.Add (m_leftLeafDevices.Get (i));
+ ndc.Add (m_leftRouterDevices.Get (i));
+ Ipv6InterfaceContainer ifc = addressHelper.Assign (ndc);
+ Ipv6InterfaceContainer::Iterator it = ifc.Begin ();
+ m_leftLeafInterfaces6.Add ((*it).first, (*it).second);
+ it++;
+ m_leftRouterInterfaces6.Add ((*it).first, (*it).second);
+ Ipv6AddressGenerator::NextNetwork (prefix);
+ }
+ // Assign to right side
+ for (uint32_t i = 0; i < RightCount (); ++i)
+ {
+ v6network = Ipv6AddressGenerator::GetNetwork (prefix);
+ addressHelper.NewNetwork (v6network, prefix);
+
+ NetDeviceContainer ndc;
+ ndc.Add (m_rightLeafDevices.Get (i));
+ ndc.Add (m_rightRouterDevices.Get (i));
+ Ipv6InterfaceContainer ifc = addressHelper.Assign (ndc);
+ Ipv6InterfaceContainer::Iterator it = ifc.Begin ();
+ m_rightLeafInterfaces6.Add ((*it).first, (*it).second);
+ it++;
+ m_rightRouterInterfaces6.Add ((*it).first, (*it).second);
+ Ipv6AddressGenerator::NextNetwork (prefix);
+ }
+}
+
void PointToPointDumbbellHelper::BoundingBox (double ulx, double uly, // Upper left x/y
double lrx, double lry) // Lower right y
--- a/src/point-to-point-layout/model/point-to-point-dumbbell.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/point-to-point-layout/model/point-to-point-dumbbell.h Fri Mar 02 19:43:49 2012 +0100
@@ -25,8 +25,10 @@
#include "point-to-point-helper.h"
#include "ipv4-address-helper.h"
+#include "ipv6-address-helper.h"
#include "internet-stack-helper.h"
#include "ipv4-interface-container.h"
+#include "ipv6-interface-container.h"
namespace ns3 {
@@ -101,6 +103,16 @@
Ipv4Address GetRightIpv4Address (uint32_t i) const; // Get right leaf address
/**
+ * \returns an Ipv6Address of the i'th left leaf
+ */
+ Ipv6Address GetLeftIpv6Address (uint32_t i ) const; // Get left leaf address
+
+ /**
+ * \returns an Ipv6Address of the i'th right leaf
+ */
+ Ipv6Address GetRightIpv6Address (uint32_t i) const; // Get right leaf address
+
+ /**
* \returns total number of left side leaf nodes
*/
uint32_t LeftCount () const;
@@ -131,6 +143,13 @@
Ipv4AddressHelper routerIp);
/**
+ * \param network an IPv6 address representing the network portion
+ * of the IPv6 Address
+ * \param prefix the prefix length
+ */
+ void AssignIpv6Addresses (Ipv6Address network, Ipv6Prefix prefix);
+
+ /**
* Sets up the node canvas locations for every node in the dumbbell.
* This is needed for use with the animation interface
*
@@ -155,6 +174,11 @@
Ipv4InterfaceContainer m_rightLeafInterfaces;
Ipv4InterfaceContainer m_rightRouterInterfaces;
Ipv4InterfaceContainer m_routerInterfaces;
+ Ipv6InterfaceContainer m_leftLeafInterfaces6;
+ Ipv6InterfaceContainer m_leftRouterInterfaces6;
+ Ipv6InterfaceContainer m_rightLeafInterfaces6;
+ Ipv6InterfaceContainer m_rightRouterInterfaces6;
+ Ipv6InterfaceContainer m_routerInterfaces6;
};
} // namespace ns3
--- a/src/point-to-point-layout/model/point-to-point-grid.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/point-to-point-layout/model/point-to-point-grid.cc Fri Mar 02 19:43:49 2012 +0100
@@ -24,6 +24,7 @@
#include "ns3/string.h"
#include "ns3/vector.h"
#include "ns3/log.h"
+#include "ns3/ipv6-address-generator.h"
NS_LOG_COMPONENT_DEFINE ("PointToPointGridHelper");
@@ -131,6 +132,56 @@
}
void
+PointToPointGridHelper::AssignIpv6Addresses(Ipv6Address addrBase, Ipv6Prefix prefix)
+{
+ Ipv6AddressGenerator::Init(addrBase, prefix);
+ Ipv6Address v6network;
+ Ipv6AddressHelper addrHelper;
+
+ // Assign addresses to all row devices in the grid.
+ // These devices are stored in a vector. Each row
+ // of the grid has all the row devices in one entry
+ // of the vector. These entries come in pairs.
+ for (uint32_t i = 0; i < m_rowDevices.size (); ++i)
+ {
+ Ipv6InterfaceContainer rowInterfaces;
+ NetDeviceContainer rowContainer = m_rowDevices[i];
+ for (uint32_t j = 0; j < rowContainer.GetN (); j+=2)
+ {
+ v6network = Ipv6AddressGenerator::GetNetwork (prefix);
+ addrHelper.NewNetwork(v6network, prefix);
+ Ipv6InterfaceContainer ic = addrHelper.Assign (rowContainer.Get (j));
+ rowInterfaces.Add (ic);
+ ic = addrHelper.Assign (rowContainer.Get (j+1));
+ rowInterfaces.Add (ic);
+ Ipv6AddressGenerator::NextNetwork (prefix);
+ }
+ m_rowInterfaces6.push_back (rowInterfaces);
+ }
+
+ // Assign addresses to all col devices in the grid.
+ // These devices are stored in a vector. Each col
+ // of the grid has all the col devices in one entry
+ // of the vector. These entries come in pairs.
+ for (uint32_t i = 0; i < m_colDevices.size (); ++i)
+ {
+ Ipv6InterfaceContainer colInterfaces;
+ NetDeviceContainer colContainer = m_colDevices[i];
+ for (uint32_t j = 0; j < colContainer.GetN (); j+=2)
+ {
+ v6network = Ipv6AddressGenerator::GetNetwork (prefix);
+ addrHelper.NewNetwork(v6network, prefix);
+ Ipv6InterfaceContainer ic = addrHelper.Assign (colContainer.Get (j));
+ colInterfaces.Add (ic);
+ ic = addrHelper.Assign (colContainer.Get (j+1));
+ colInterfaces.Add (ic);
+ Ipv6AddressGenerator::NextNetwork (prefix);
+ }
+ m_colInterfaces6.push_back (colInterfaces);
+ }
+}
+
+void
PointToPointGridHelper::BoundingBox (double ulx, double uly,
double lrx, double lry)
{
@@ -214,4 +265,30 @@
}
}
+Ipv6Address
+PointToPointGridHelper::GetIpv6Address (uint32_t row, uint32_t col)
+{
+ if (row > m_nodes.size () - 1 ||
+ col > m_nodes.at (row).GetN () - 1)
+ {
+ NS_FATAL_ERROR ("Index out of bounds in PointToPointGridHelper::GetIpv4Address.");
+ }
+
+ // Right now this just gets one of the addresses of the
+ // specified node. The exact device can't be specified.
+ // If you picture the grid, the address returned is the
+ // address of the left (row) device of all nodes, with
+ // the exception of the left-most nodes in the grid;
+ // in which case the right (row) device address is
+ // returned
+ if (col == 0)
+ {
+ return (m_rowInterfaces6.at (row)).GetAddress (0, 1);
+ }
+ else
+ {
+ return (m_rowInterfaces6.at (row)).GetAddress ((2*col)-1, 1);
+ }
+}
+
} // namespace ns3
--- a/src/point-to-point-layout/model/point-to-point-grid.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/point-to-point-layout/model/point-to-point-grid.h Fri Mar 02 19:43:49 2012 +0100
@@ -24,7 +24,9 @@
#include "internet-stack-helper.h"
#include "point-to-point-helper.h"
#include "ipv4-address-helper.h"
+#include "ipv6-address-helper.h"
#include "ipv4-interface-container.h"
+#include "ipv6-interface-container.h"
#include "net-device-container.h"
namespace ns3 {
@@ -85,6 +87,24 @@
Ipv4Address GetIpv4Address (uint32_t row, uint32_t col);
/**
+ * This returns an Ipv6 address at the node specified by
+ * the (row, col) address. Technically, a node will have
+ * multiple interfaces in the grid; therefore, it also has
+ * multiple Ipv6 addresses. This method only returns one of
+ * the addresses. If you picture the grid, the address returned
+ * is the left row device of all the nodes, except the left-most
+ * grid nodes, which returns the right row device.
+ *
+ * \param row the row address of the node desired
+ *
+ * \param col the column address of the node desired
+ *
+ * \returns Ipv6Address of one of the interfaces of the node
+ * specified by the (row, col) address
+ */
+ Ipv6Address GetIpv6Address (uint32_t row, uint32_t col);
+
+ /**
* \param stack an InternetStackHelper which is used to install
* on every node in the grid
*/
@@ -102,6 +122,15 @@
void AssignIpv4Addresses (Ipv4AddressHelper rowIp, Ipv4AddressHelper colIp);
/**
+ * Assigns Ipv6 addresses to all the row and column interfaces
+ *
+ * \param network an IPv6 address representing the network portion
+ * of the IPv6 Address
+ * \param prefix the prefix length
+ */
+ void AssignIpv6Addresses (Ipv6Address network, Ipv6Prefix prefix);
+
+ /**
* Sets up the node canvas locations for every node in the grid.
* This is needed for use with the animation interface
*
@@ -119,6 +148,8 @@
std::vector<NetDeviceContainer> m_colDevices;
std::vector<Ipv4InterfaceContainer> m_rowInterfaces;
std::vector<Ipv4InterfaceContainer> m_colInterfaces;
+ std::vector<Ipv6InterfaceContainer> m_rowInterfaces6;
+ std::vector<Ipv6InterfaceContainer> m_colInterfaces6;
std::vector<NodeContainer> m_nodes;
};
--- a/src/point-to-point-layout/model/point-to-point-star.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/point-to-point-layout/model/point-to-point-star.cc Fri Mar 02 19:43:49 2012 +0100
@@ -25,6 +25,7 @@
#include "ns3/node-list.h"
#include "ns3/point-to-point-net-device.h"
#include "ns3/vector.h"
+#include "ns3/ipv6-address-generator.h"
NS_LOG_COMPONENT_DEFINE ("PointToPointStarHelper");
@@ -72,6 +73,18 @@
return m_spokeInterfaces.GetAddress (i);
}
+Ipv6Address
+PointToPointStarHelper::GetHubIpv6Address (uint32_t i) const
+{
+ return m_hubInterfaces6.GetAddress (i, 1);
+}
+
+Ipv6Address
+PointToPointStarHelper::GetSpokeIpv6Address (uint32_t i) const
+{
+ return m_spokeInterfaces6.GetAddress (i, 1);
+}
+
uint32_t
PointToPointStarHelper::SpokeCount () const
{
@@ -97,6 +110,27 @@
}
void
+PointToPointStarHelper::AssignIpv6Addresses (Ipv6Address addrBase, Ipv6Prefix prefix)
+{
+ Ipv6AddressGenerator::Init (addrBase, prefix);
+ Ipv6Address v6network;
+ Ipv6AddressHelper addressHelper;
+
+ for (uint32_t i = 0; i < m_spokes.GetN (); ++i)
+ {
+ v6network = Ipv6AddressGenerator::GetNetwork (prefix);
+ addressHelper.NewNetwork(v6network, prefix);
+
+ Ipv6InterfaceContainer ic = addressHelper.Assign (m_hubDevices.Get (i));
+ m_hubInterfaces6.Add (ic);
+ ic = addressHelper.Assign (m_spokeDevices.Get (i));
+ m_spokeInterfaces6.Add (ic);
+
+ Ipv6AddressGenerator::NextNetwork (prefix);
+ }
+}
+
+void
PointToPointStarHelper::BoundingBox (double ulx, double uly,
double lrx, double lry)
{
--- a/src/point-to-point-layout/model/point-to-point-star.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/point-to-point-layout/model/point-to-point-star.h Fri Mar 02 19:43:49 2012 +0100
@@ -23,8 +23,10 @@
#include "point-to-point-helper.h"
#include "ipv4-address-helper.h"
+#include "ipv6-address-helper.h"
#include "internet-stack-helper.h"
#include "ipv4-interface-container.h"
+#include "ipv6-interface-container.h"
namespace ns3 {
@@ -87,6 +89,20 @@
Ipv4Address GetSpokeIpv4Address (uint32_t i) const;
/**
+ * \param i index into the hub interfaces
+ *
+ * \returns Ipv6Address according to indexed hub interface
+ */
+ Ipv6Address GetHubIpv6Address (uint32_t i) const;
+
+ /**
+ * \param i index into the spoke interfaces
+ *
+ * \returns Ipv6Address according to indexed spoke interface
+ */
+ Ipv6Address GetSpokeIpv6Address (uint32_t i) const;
+
+ /**
* \returns the total number of spokes in the star
*/
uint32_t SpokeCount () const;
@@ -105,6 +121,13 @@
void AssignIpv4Addresses (Ipv4AddressHelper address);
/**
+ * \param network an IPv6 address representing the network portion
+ * of the IPv6 Address
+ * \param prefix the prefix length
+ */
+ void AssignIpv6Addresses (Ipv6Address network, Ipv6Prefix prefix);
+
+ /**
* Sets up the node canvas locations for every node in the star.
* This is needed for use with the animation interface
*
@@ -122,6 +145,8 @@
NetDeviceContainer m_spokeDevices;
Ipv4InterfaceContainer m_hubInterfaces;
Ipv4InterfaceContainer m_spokeInterfaces;
+ Ipv6InterfaceContainer m_hubInterfaces6;
+ Ipv6InterfaceContainer m_spokeInterfaces6;
};
} // namespace ns3
--- a/src/point-to-point/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/point-to-point/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1327,6 +1327,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1367,11 +1372,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1402,6 +1416,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2524,7 +2543,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/point-to-point/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/point-to-point/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1327,6 +1327,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1367,11 +1372,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1402,6 +1416,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2524,7 +2543,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/propagation/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/propagation/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -590,7 +590,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/propagation/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/propagation/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -590,7 +590,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/spectrum/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/spectrum/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1440,6 +1440,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1480,11 +1485,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1515,6 +1529,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2539,7 +2558,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/spectrum/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/spectrum/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1440,6 +1440,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1480,11 +1485,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1515,6 +1529,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2539,7 +2558,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/spectrum/examples/adhoc-aloha-ideal-phy-with-microwave-oven.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/spectrum/examples/adhoc-aloha-ideal-phy-with-microwave-oven.cc Fri Mar 02 19:43:49 2012 +0100
@@ -102,7 +102,7 @@
{
Ptr<Packet> packet;
uint64_t bytes = 0;
- while (packet = socket->Recv ())
+ while ((packet = socket->Recv ()))
{
bytes += packet->GetSize ();
}
--- a/src/spectrum/examples/adhoc-aloha-ideal-phy.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/spectrum/examples/adhoc-aloha-ideal-phy.cc Fri Mar 02 19:43:49 2012 +0100
@@ -97,7 +97,7 @@
{
Ptr<Packet> packet;
uint64_t bytes = 0;
- while (packet = socket->Recv ())
+ while ((packet = socket->Recv ()))
{
bytes += packet->GetSize ();
}
--- a/src/stats/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/stats/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1114,6 +1114,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1154,11 +1159,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1189,6 +1203,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1989,7 +2008,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/stats/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/stats/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1114,6 +1114,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1154,11 +1159,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1189,6 +1203,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1989,7 +2008,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/tap-bridge/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/tap-bridge/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1147,6 +1147,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1187,11 +1192,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1222,6 +1236,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2012,7 +2031,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/tap-bridge/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/tap-bridge/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1147,6 +1147,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1187,11 +1192,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1222,6 +1236,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2012,7 +2031,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/test/global-routing-test-suite.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/test/global-routing-test-suite.cc Fri Mar 02 19:43:49 2012 +0100
@@ -93,7 +93,7 @@
{
Ptr<Packet> packet;
Address from;
- while (packet = socket->RecvFrom (from))
+ while ((packet = socket->RecvFrom (from)))
{
if (packet->GetSize () == 0)
{ //EOF
--- a/src/test/ns3wifi/wifi-interference-test-suite.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/test/ns3wifi/wifi-interference-test-suite.cc Fri Mar 02 19:43:49 2012 +0100
@@ -77,16 +77,23 @@
{
}
-void
-WifiInterferenceTestCase::ReceivePacket (Ptr<Socket> socket)
+std::string
+PrintReceivedPacket (Ptr<Socket> socket)
{
Address addr;
socket->GetSockName (addr);
InetSocketAddress iaddr = InetSocketAddress::ConvertFrom (addr);
- NS_LOG_UNCOND ("Received one packet! Socket: " << iaddr.GetIpv4 () << " port: " << iaddr.GetPort ());
- //cast iaddr to void, to suppress 'iaddr' set but not used compiler warning
- //in optimized builds
- (void) iaddr;
+
+ std::ostringstream oss;
+ oss << "Received one packet! Socket: " << iaddr.GetIpv4 () << " port: " << iaddr.GetPort ();
+
+ return oss.str ();
+}
+
+void
+WifiInterferenceTestCase::ReceivePacket (Ptr<Socket> socket)
+{
+ NS_LOG_UNCOND (PrintReceivedPacket (socket));
}
void
--- a/src/tools/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/tools/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1430,7 +1430,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/tools/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/tools/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1430,7 +1430,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/topology-read/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/topology-read/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -571,6 +571,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -611,11 +616,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -646,6 +660,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1065,7 +1084,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -1572,17 +1591,17 @@
'ns3::NodeContainer',
[],
is_pure_virtual=True, is_virtual=True)
- ## topology-reader.h (module 'topology-read'): void ns3::TopologyReader::SetFileName(std::string const fileName) [member function]
+ ## topology-reader.h (module 'topology-read'): void ns3::TopologyReader::SetFileName(std::string const & fileName) [member function]
cls.add_method('SetFileName',
'void',
- [param('std::string const', 'fileName')])
+ [param('std::string const &', 'fileName')])
return
def register_Ns3TopologyReaderLink_methods(root_module, cls):
## topology-reader.h (module 'topology-read'): ns3::TopologyReader::Link::Link(ns3::TopologyReader::Link const & arg0) [copy constructor]
cls.add_constructor([param('ns3::TopologyReader::Link const &', 'arg0')])
- ## topology-reader.h (module 'topology-read'): ns3::TopologyReader::Link::Link(ns3::Ptr<ns3::Node> fromPtr, std::string fromName, ns3::Ptr<ns3::Node> toPtr, std::string toName) [constructor]
- cls.add_constructor([param('ns3::Ptr< ns3::Node >', 'fromPtr'), param('std::string', 'fromName'), param('ns3::Ptr< ns3::Node >', 'toPtr'), param('std::string', 'toName')])
+ ## topology-reader.h (module 'topology-read'): ns3::TopologyReader::Link::Link(ns3::Ptr<ns3::Node> fromPtr, std::string const & fromName, ns3::Ptr<ns3::Node> toPtr, std::string const & toName) [constructor]
+ cls.add_constructor([param('ns3::Ptr< ns3::Node >', 'fromPtr'), param('std::string const &', 'fromName'), param('ns3::Ptr< ns3::Node >', 'toPtr'), param('std::string const &', 'toName')])
## topology-reader.h (module 'topology-read'): std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > ns3::TopologyReader::Link::AttributesBegin() [member function]
cls.add_method('AttributesBegin',
'std::_Rb_tree_const_iterator< std::pair< std::basic_string< char, std::char_traits< char >, std::allocator< char > > const, std::basic_string< char, std::char_traits< char >, std::allocator< char > > > >',
@@ -1591,15 +1610,15 @@
cls.add_method('AttributesEnd',
'std::_Rb_tree_const_iterator< std::pair< std::basic_string< char, std::char_traits< char >, std::allocator< char > > const, std::basic_string< char, std::char_traits< char >, std::allocator< char > > > >',
[])
- ## topology-reader.h (module 'topology-read'): std::string ns3::TopologyReader::Link::GetAttribute(std::string name) const [member function]
+ ## topology-reader.h (module 'topology-read'): std::string ns3::TopologyReader::Link::GetAttribute(std::string const & name) const [member function]
cls.add_method('GetAttribute',
'std::string',
- [param('std::string', 'name')],
+ [param('std::string const &', 'name')],
is_const=True)
- ## topology-reader.h (module 'topology-read'): bool ns3::TopologyReader::Link::GetAttributeFailSafe(std::string name, std::string & value) const [member function]
+ ## topology-reader.h (module 'topology-read'): bool ns3::TopologyReader::Link::GetAttributeFailSafe(std::string const & name, std::string & value) const [member function]
cls.add_method('GetAttributeFailSafe',
'bool',
- [param('std::string', 'name'), param('std::string &', 'value')],
+ [param('std::string const &', 'name'), param('std::string &', 'value')],
is_const=True)
## topology-reader.h (module 'topology-read'): ns3::Ptr<ns3::Node> ns3::TopologyReader::Link::GetFromNode() const [member function]
cls.add_method('GetFromNode',
@@ -1621,10 +1640,10 @@
'std::string',
[],
is_const=True)
- ## topology-reader.h (module 'topology-read'): void ns3::TopologyReader::Link::SetAttribute(std::string name, std::string & value) [member function]
+ ## topology-reader.h (module 'topology-read'): void ns3::TopologyReader::Link::SetAttribute(std::string const & name, std::string const & value) [member function]
cls.add_method('SetAttribute',
'void',
- [param('std::string', 'name'), param('std::string &', 'value')])
+ [param('std::string const &', 'name'), param('std::string const &', 'value')])
return
def register_Ns3TraceSourceAccessor_methods(root_module, cls):
--- a/src/topology-read/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/topology-read/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -571,6 +571,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -611,11 +616,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -646,6 +660,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1065,7 +1084,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -1572,17 +1591,17 @@
'ns3::NodeContainer',
[],
is_pure_virtual=True, is_virtual=True)
- ## topology-reader.h (module 'topology-read'): void ns3::TopologyReader::SetFileName(std::string const fileName) [member function]
+ ## topology-reader.h (module 'topology-read'): void ns3::TopologyReader::SetFileName(std::string const & fileName) [member function]
cls.add_method('SetFileName',
'void',
- [param('std::string const', 'fileName')])
+ [param('std::string const &', 'fileName')])
return
def register_Ns3TopologyReaderLink_methods(root_module, cls):
## topology-reader.h (module 'topology-read'): ns3::TopologyReader::Link::Link(ns3::TopologyReader::Link const & arg0) [copy constructor]
cls.add_constructor([param('ns3::TopologyReader::Link const &', 'arg0')])
- ## topology-reader.h (module 'topology-read'): ns3::TopologyReader::Link::Link(ns3::Ptr<ns3::Node> fromPtr, std::string fromName, ns3::Ptr<ns3::Node> toPtr, std::string toName) [constructor]
- cls.add_constructor([param('ns3::Ptr< ns3::Node >', 'fromPtr'), param('std::string', 'fromName'), param('ns3::Ptr< ns3::Node >', 'toPtr'), param('std::string', 'toName')])
+ ## topology-reader.h (module 'topology-read'): ns3::TopologyReader::Link::Link(ns3::Ptr<ns3::Node> fromPtr, std::string const & fromName, ns3::Ptr<ns3::Node> toPtr, std::string const & toName) [constructor]
+ cls.add_constructor([param('ns3::Ptr< ns3::Node >', 'fromPtr'), param('std::string const &', 'fromName'), param('ns3::Ptr< ns3::Node >', 'toPtr'), param('std::string const &', 'toName')])
## topology-reader.h (module 'topology-read'): std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > ns3::TopologyReader::Link::AttributesBegin() [member function]
cls.add_method('AttributesBegin',
'std::_Rb_tree_const_iterator< std::pair< std::basic_string< char, std::char_traits< char >, std::allocator< char > > const, std::basic_string< char, std::char_traits< char >, std::allocator< char > > > >',
@@ -1591,15 +1610,15 @@
cls.add_method('AttributesEnd',
'std::_Rb_tree_const_iterator< std::pair< std::basic_string< char, std::char_traits< char >, std::allocator< char > > const, std::basic_string< char, std::char_traits< char >, std::allocator< char > > > >',
[])
- ## topology-reader.h (module 'topology-read'): std::string ns3::TopologyReader::Link::GetAttribute(std::string name) const [member function]
+ ## topology-reader.h (module 'topology-read'): std::string ns3::TopologyReader::Link::GetAttribute(std::string const & name) const [member function]
cls.add_method('GetAttribute',
'std::string',
- [param('std::string', 'name')],
+ [param('std::string const &', 'name')],
is_const=True)
- ## topology-reader.h (module 'topology-read'): bool ns3::TopologyReader::Link::GetAttributeFailSafe(std::string name, std::string & value) const [member function]
+ ## topology-reader.h (module 'topology-read'): bool ns3::TopologyReader::Link::GetAttributeFailSafe(std::string const & name, std::string & value) const [member function]
cls.add_method('GetAttributeFailSafe',
'bool',
- [param('std::string', 'name'), param('std::string &', 'value')],
+ [param('std::string const &', 'name'), param('std::string &', 'value')],
is_const=True)
## topology-reader.h (module 'topology-read'): ns3::Ptr<ns3::Node> ns3::TopologyReader::Link::GetFromNode() const [member function]
cls.add_method('GetFromNode',
@@ -1621,10 +1640,10 @@
'std::string',
[],
is_const=True)
- ## topology-reader.h (module 'topology-read'): void ns3::TopologyReader::Link::SetAttribute(std::string name, std::string & value) [member function]
+ ## topology-reader.h (module 'topology-read'): void ns3::TopologyReader::Link::SetAttribute(std::string const & name, std::string const & value) [member function]
cls.add_method('SetAttribute',
'void',
- [param('std::string', 'name'), param('std::string &', 'value')])
+ [param('std::string const &', 'name'), param('std::string const &', 'value')])
return
def register_Ns3TraceSourceAccessor_methods(root_module, cls):
--- a/src/topology-read/model/rocketfuel-topology-reader.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/topology-read/model/rocketfuel-topology-reader.cc Fri Mar 02 19:43:49 2012 +0100
@@ -25,6 +25,7 @@
#include <regex.h>
#include "ns3/log.h"
+#include "ns3/unused.h"
#include "rocketfuel-topology-reader.h"
namespace ns3 {
@@ -76,6 +77,18 @@
int nodesNumber = 0;
std::map<std::string, Ptr<Node> > nodeMap;
+void
+PrintNodeInfo (std::string & uid, std::string & loc, bool dns, bool bb,
+ std::vector <std::string>::size_type neighListSize,
+ std::string & name, int radius)
+{
+ /* uid @loc [+] [bb] (num_neigh) [&ext] -> <nuid-1> <nuid-2> ... {-euid} ... =name[!] rn */
+ NS_LOG_INFO ("Load Node[" << uid << "]: location: " << loc << " dns: " << dns
+ << " bb: " << bb << " neighbors: " << neighListSize
+ << "(" << "%d" << ") externals: \"%s\"(%d) "
+ << "name: " << name << " radius: " << radius);
+}
+
NodeContainer
RocketfuelTopologyReader::GenerateFromMapsFile (int argc, char *argv[])
{
@@ -150,16 +163,7 @@
return nodes;
}
- /* uid @loc [+] [bb] (num_neigh) [&ext] -> <nuid-1> <nuid-2> ... {-euid} ... =name[!] rn */
- NS_LOG_INFO ("Load Node[" << uid << "]: location: " << loc << " dns: " << dns
- << " bb: " << bb << " neighbors: " << neigh_list.size ()
- << "(" << "%d" << ") externals: \"%s\"(%d) "
- << "name: " << name << " radius: " << radius);
-
- //cast bb and dns to void, to suppress variable set but not used compiler warning
- //in optimized builds
- (void) bb;
- (void) dns;
+ PrintNodeInfo (uid, loc, dns, bb, neigh_list.size (), name, radius);
// Create node and link
if (!uid.empty ())
@@ -209,8 +213,7 @@
sname = argv[0];
tname = argv[1];
double v = strtod (argv[2], &endptr); // weight
- // cast v to void , to suppress 'v' set but not used compiler warning
- (void) v;
+ NS_UNUSED (v); // suppress "set but not used" compiler warning in optimized builds
if (*endptr != '\0')
{
NS_LOG_WARN ("invalid weight: " << argv[2]);
--- a/src/uan/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/uan/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1396,6 +1396,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1436,11 +1441,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1471,6 +1485,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2374,7 +2393,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/uan/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/uan/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1396,6 +1396,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1436,11 +1441,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1471,6 +1485,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -2374,7 +2393,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/uan/examples/uan-cw-example.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/uan/examples/uan-cw-example.cc Fri Mar 02 19:43:49 2012 +0100
@@ -115,7 +115,7 @@
{
Ptr<Packet> packet;
- while (packet = socket->Recv ())
+ while ((packet = socket->Recv ()))
{
m_bytesTotal += packet->GetSize ();
}
--- a/src/uan/examples/uan-rc-example.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/uan/examples/uan-rc-example.cc Fri Mar 02 19:43:49 2012 +0100
@@ -89,7 +89,7 @@
Experiment::ReceivePacket (Ptr<Socket> socket)
{
Ptr<Packet> packet;
- while (packet = socket->Recv ())
+ while ((packet = socket->Recv ()))
{
m_bytesTotal += packet->GetSize ();
}
--- a/src/uan/model/uan-noise-model-default.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/uan/model/uan-noise-model-default.cc Fri Mar 02 19:43:49 2012 +0100
@@ -59,22 +59,24 @@
double
UanNoiseModelDefault::GetNoiseDbHz (double fKhz) const
{
- double turb, win, ship, thermal, noise;
- turb = 17.0 - 30.0 * log10 (fKhz);
- turb = pow (10.0, turb * 0.1);
+ double turb, wind, ship, thermal;
+ double turbDb, windDb, shipDb, thermalDb, noiseDb;
- ship = 40.0 + 20.0 * (m_shipping - 0.5) + 26.0 * log10 (fKhz) - 60.0 * log10 (fKhz + 0.03);
- ship = pow (10.0, (ship * 0.1));
+ turbDb = 17.0 - 30.0 * log10 (fKhz);
+ turb = pow (10.0, turbDb * 0.1);
+
+ shipDb = 40.0 + 20.0 * (m_shipping - 0.5) + 26.0 * log10 (fKhz) - 60.0 * log10 (fKhz + 0.03);
+ ship = pow (10.0, (shipDb * 0.1));
- win = 50.0 + 7.5 * pow (m_wind, 0.5) + 20.0 * log10 (fKhz) - 40.0 * log10 (fKhz + 0.4);
- win = pow (10.0, m_wind * 0.1);
+ windDb = 50.0 + 7.5 * pow (m_wind, 0.5) + 20.0 * log10 (fKhz) - 40.0 * log10 (fKhz + 0.4);
+ wind = pow (10.0, windDb * 0.1);
- thermal = -15 + 20 * log10 (fKhz);
- thermal = pow (10, thermal * 0.1);
+ thermalDb = -15 + 20 * log10 (fKhz);
+ thermal = pow (10, thermalDb * 0.1);
- noise = 10 * log10 (turb + ship + win + thermal);
+ noiseDb = 10 * log10 (turb + ship + wind + thermal);
- return noise;
+ return noiseDb;
}
} // namespace ns3
--- a/src/uan/model/uan-phy-gen.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/uan/model/uan-phy-gen.cc Fri Mar 02 19:43:49 2012 +0100
@@ -840,9 +840,18 @@
m_energyCallback (SLEEP);
}
}
- else
+ else if (m_state == SLEEP)
{
- m_state = IDLE;
+ if (GetInterferenceDb ((Ptr<Packet>) 0) > m_ccaThreshDb)
+ {
+ m_state = CCABUSY;
+ NotifyListenersCcaStart ();
+ }
+ else
+ {
+ m_state = IDLE;
+ }
+
if (!m_energyCallback.IsNull ())
{
m_energyCallback (IDLE);
--- a/src/visualizer/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/visualizer/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -46,6 +46,34 @@
module.add_class('CallbackBase', import_from_module='ns.core')
## event-id.h (module 'core'): ns3::EventId [class]
module.add_class('EventId', import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<0> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['0'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 0 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<1> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['1'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 1 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<2> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['2'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 2 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<3> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['3'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 3 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<4> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['4'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 4 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<5> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['5'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 5 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<6> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['6'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 6 >'], import_from_module='ns.core')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
module.add_class('Ipv4Address', import_from_module='ns.network')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
@@ -60,6 +88,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## mac48-address.h (module 'network'): ns3::Mac48Address [class]
@@ -118,6 +152,14 @@
module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
module.add_class('TagBuffer', import_from_module='ns.network')
+ ## timer.h (module 'core'): ns3::Timer [class]
+ module.add_class('Timer', import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::DestroyPolicy [enumeration]
+ module.add_enum('DestroyPolicy', ['CANCEL_ON_DESTROY', 'REMOVE_ON_DESTROY', 'CHECK_ON_DESTROY'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::State [enumeration]
+ module.add_enum('State', ['RUNNING', 'EXPIRED', 'SUSPENDED'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer-impl.h (module 'core'): ns3::TimerImpl [class]
+ module.add_class('TimerImpl', allow_subclassing=True, import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId [class]
module.add_class('TypeId', import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
@@ -140,6 +182,10 @@
module.add_enum('DscpType', ['DscpDefault', 'CS1', 'AF11', 'AF12', 'AF13', 'CS2', 'AF21', 'AF22', 'AF23', 'CS3', 'AF31', 'AF32', 'AF33', 'CS4', 'AF41', 'AF42', 'AF43', 'CS5', 'EF', 'CS6', 'CS7'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType [enumeration]
module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -206,6 +252,10 @@
module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## event-impl.h (module 'core'): ns3::EventImpl [class]
module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -216,10 +266,6 @@
module.add_class('Ipv4L3Protocol', import_from_module='ns.internet', parent=root_module['ns3::Ipv4'])
## ipv4-l3-protocol.h (module 'internet'): ns3::Ipv4L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_BAD_CHECKSUM', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_FRAGMENT_TIMEOUT'], outer_class=root_module['ns3::Ipv4L3Protocol'], import_from_module='ns.internet')
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -234,6 +280,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -305,10 +353,18 @@
register_Ns3ByteTagListIteratorItem_methods(root_module, root_module['ns3::ByteTagList::Iterator::Item'])
register_Ns3CallbackBase_methods(root_module, root_module['ns3::CallbackBase'])
register_Ns3EventId_methods(root_module, root_module['ns3::EventId'])
+ register_Ns3IntToType__0_methods(root_module, root_module['ns3::IntToType< 0 >'])
+ register_Ns3IntToType__1_methods(root_module, root_module['ns3::IntToType< 1 >'])
+ register_Ns3IntToType__2_methods(root_module, root_module['ns3::IntToType< 2 >'])
+ register_Ns3IntToType__3_methods(root_module, root_module['ns3::IntToType< 3 >'])
+ register_Ns3IntToType__4_methods(root_module, root_module['ns3::IntToType< 4 >'])
+ register_Ns3IntToType__5_methods(root_module, root_module['ns3::IntToType< 5 >'])
+ register_Ns3IntToType__6_methods(root_module, root_module['ns3::IntToType< 6 >'])
register_Ns3Ipv4Address_methods(root_module, root_module['ns3::Ipv4Address'])
register_Ns3Ipv4InterfaceAddress_methods(root_module, root_module['ns3::Ipv4InterfaceAddress'])
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3Mac48Address_methods(root_module, root_module['ns3::Mac48Address'])
register_Ns3ObjectBase_methods(root_module, root_module['ns3::ObjectBase'])
@@ -335,6 +391,8 @@
register_Ns3Simulator_methods(root_module, root_module['ns3::Simulator'])
register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
+ register_Ns3Timer_methods(root_module, root_module['ns3::Timer'])
+ register_Ns3TimerImpl_methods(root_module, root_module['ns3::TimerImpl'])
register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
@@ -343,6 +401,7 @@
register_Ns3Chunk_methods(root_module, root_module['ns3::Chunk'])
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
@@ -372,11 +431,11 @@
register_Ns3Channel_methods(root_module, root_module['ns3::Channel'])
register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue'])
register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
register_Ns3Ipv4L3Protocol_methods(root_module, root_module['ns3::Ipv4L3Protocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -384,6 +443,7 @@
register_Ns3Ipv4RoutingProtocol_methods(root_module, root_module['ns3::Ipv4RoutingProtocol'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3Mac48AddressChecker_methods(root_module, root_module['ns3::Mac48AddressChecker'])
@@ -926,6 +986,55 @@
is_const=True)
return
+def register_Ns3IntToType__0_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType(ns3::IntToType<0> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 0 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__1_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType(ns3::IntToType<1> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 1 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__2_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType(ns3::IntToType<2> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 2 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__3_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType(ns3::IntToType<3> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 3 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__4_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType(ns3::IntToType<4> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 4 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__5_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType(ns3::IntToType<5> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 5 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__6_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType(ns3::IntToType<6> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 6 > const &', 'arg0')])
+ return
+
def register_Ns3Ipv4Address_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -1212,6 +1321,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1252,11 +1366,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1287,6 +1410,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1312,6 +1440,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -2114,6 +2297,90 @@
[param('uint8_t', 'v')])
return
+def register_Ns3Timer_methods(root_module, cls):
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Timer const &', 'arg0')])
+ ## timer.h (module 'core'): ns3::Timer::Timer() [constructor]
+ cls.add_constructor([])
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer::DestroyPolicy destroyPolicy) [constructor]
+ cls.add_constructor([param('ns3::Timer::DestroyPolicy', 'destroyPolicy')])
+ ## timer.h (module 'core'): void ns3::Timer::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelay() const [member function]
+ cls.add_method('GetDelay',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelayLeft() const [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Timer::State ns3::Timer::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Timer::State',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsSuspended() const [member function]
+ cls.add_method('IsSuspended',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): void ns3::Timer::Remove() [member function]
+ cls.add_method('Remove',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Resume() [member function]
+ cls.add_method('Resume',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule() [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule(ns3::Time delay) [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [param('ns3::Time', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::SetDelay(ns3::Time const & delay) [member function]
+ cls.add_method('SetDelay',
+ 'void',
+ [param('ns3::Time const &', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::Suspend() [member function]
+ cls.add_method('Suspend',
+ 'void',
+ [])
+ return
+
+def register_Ns3TimerImpl_methods(root_module, cls):
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl() [constructor]
+ cls.add_constructor([])
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl(ns3::TimerImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimerImpl const &', 'arg0')])
+ ## timer-impl.h (module 'core'): void ns3::TimerImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## timer-impl.h (module 'core'): ns3::EventId ns3::TimerImpl::Schedule(ns3::Time const & delay) [member function]
+ cls.add_method('Schedule',
+ 'ns3::EventId',
+ [param('ns3::Time const &', 'delay')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3TypeId_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -2219,7 +2486,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -2629,6 +2896,106 @@
[param('uint8_t', 'ttl')])
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -2842,6 +3209,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -3618,6 +3990,63 @@
is_pure_virtual=True, visibility='protected', is_virtual=True)
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -3688,10 +4117,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -3883,9 +4312,9 @@
'ns3::Ptr< ns3::NetDevice >',
[param('uint32_t', 'i')],
is_virtual=True)
- ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4L4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv4L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4RoutingProtocol> ns3::Ipv4L3Protocol::GetRoutingProtocol() const [member function]
@@ -3898,10 +4327,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_virtual=True)
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -3922,10 +4351,10 @@
cls.add_method('Receive',
'void',
[param('ns3::Ptr< ns3::NetDevice >', 'device'), param('ns3::Ptr< ns3::Packet const >', 'p'), param('uint16_t', 'protocol'), param('ns3::Address const &', 'from'), param('ns3::Address const &', 'to'), param('ns3::NetDevice::PacketType', 'packetType')])
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')])
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::RemoveAddress(uint32_t interfaceIndex, uint32_t addressIndex) [member function]
cls.add_method('RemoveAddress',
'bool',
@@ -4012,43 +4441,6 @@
visibility='private', is_virtual=True)
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -4277,6 +4669,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
--- a/src/visualizer/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/visualizer/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -46,6 +46,34 @@
module.add_class('CallbackBase', import_from_module='ns.core')
## event-id.h (module 'core'): ns3::EventId [class]
module.add_class('EventId', import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<0> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['0'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 0 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<1> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['1'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 1 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<2> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['2'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 2 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<3> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['3'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 3 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<4> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['4'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 4 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<5> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['5'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 5 >'], import_from_module='ns.core')
+ ## int-to-type.h (module 'core'): ns3::IntToType<6> [struct]
+ module.add_class('IntToType', import_from_module='ns.core', template_parameters=['6'])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::v_e [enumeration]
+ module.add_enum('v_e', ['value'], outer_class=root_module['ns3::IntToType< 6 >'], import_from_module='ns.core')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
module.add_class('Ipv4Address', import_from_module='ns.network')
## ipv4-address.h (module 'network'): ns3::Ipv4Address [class]
@@ -60,6 +88,12 @@
module.add_class('Ipv6Address', import_from_module='ns.network')
## ipv6-address.h (module 'network'): ns3::Ipv6Address [class]
root_module['ns3::Ipv6Address'].implicitly_converts_to(root_module['ns3::Address'])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress [class]
+ module.add_class('Ipv6InterfaceAddress', import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e [enumeration]
+ module.add_enum('State_e', ['TENTATIVE', 'DEPRECATED', 'PREFERRED', 'PERMANENT', 'HOMEADDRESS', 'TENTATIVE_OPTIMISTIC', 'INVALID'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e [enumeration]
+ module.add_enum('Scope_e', ['HOST', 'LINKLOCAL', 'GLOBAL'], outer_class=root_module['ns3::Ipv6InterfaceAddress'], import_from_module='ns.internet')
## ipv6-address.h (module 'network'): ns3::Ipv6Prefix [class]
module.add_class('Ipv6Prefix', import_from_module='ns.network')
## mac48-address.h (module 'network'): ns3::Mac48Address [class]
@@ -118,6 +152,14 @@
module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
module.add_class('TagBuffer', import_from_module='ns.network')
+ ## timer.h (module 'core'): ns3::Timer [class]
+ module.add_class('Timer', import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::DestroyPolicy [enumeration]
+ module.add_enum('DestroyPolicy', ['CANCEL_ON_DESTROY', 'REMOVE_ON_DESTROY', 'CHECK_ON_DESTROY'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer.h (module 'core'): ns3::Timer::State [enumeration]
+ module.add_enum('State', ['RUNNING', 'EXPIRED', 'SUSPENDED'], outer_class=root_module['ns3::Timer'], import_from_module='ns.core')
+ ## timer-impl.h (module 'core'): ns3::TimerImpl [class]
+ module.add_class('TimerImpl', allow_subclassing=True, import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId [class]
module.add_class('TypeId', import_from_module='ns.core')
## type-id.h (module 'core'): ns3::TypeId::AttributeFlag [enumeration]
@@ -140,6 +182,10 @@
module.add_enum('DscpType', ['DscpDefault', 'CS1', 'AF11', 'AF12', 'AF13', 'CS2', 'AF21', 'AF22', 'AF23', 'CS3', 'AF31', 'AF32', 'AF33', 'CS4', 'AF41', 'AF42', 'AF43', 'CS5', 'EF', 'CS6', 'CS7'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
## ipv4-header.h (module 'internet'): ns3::Ipv4Header::EcnType [enumeration]
module.add_enum('EcnType', ['NotECT', 'ECT1', 'ECT0', 'CE'], outer_class=root_module['ns3::Ipv4Header'], import_from_module='ns.internet')
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header [class]
+ module.add_class('Ipv6Header', import_from_module='ns.internet', parent=root_module['ns3::Header'])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::NextHeader_e [enumeration]
+ module.add_enum('NextHeader_e', ['IPV6_EXT_HOP_BY_HOP', 'IPV6_IPV4', 'IPV6_TCP', 'IPV6_UDP', 'IPV6_IPV6', 'IPV6_EXT_ROUTING', 'IPV6_EXT_FRAGMENTATION', 'IPV6_EXT_CONFIDENTIALITY', 'IPV6_EXT_AUTHENTIFICATION', 'IPV6_ICMPV6', 'IPV6_EXT_END', 'IPV6_EXT_DESTINATION', 'IPV6_SCTP', 'IPV6_EXT_MOBILITY', 'IPV6_UDP_LITE'], outer_class=root_module['ns3::Ipv6Header'], import_from_module='ns.internet')
## object.h (module 'core'): ns3::Object [class]
module.add_class('Object', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
## object.h (module 'core'): ns3::Object::AggregateIterator [class]
@@ -206,6 +252,10 @@
module.add_class('EmptyAttributeValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## event-impl.h (module 'core'): ns3::EventImpl [class]
module.add_class('EventImpl', import_from_module='ns.core', parent=root_module['ns3::SimpleRefCount< ns3::EventImpl, ns3::empty, ns3::DefaultDeleter<ns3::EventImpl> >'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol [class]
+ module.add_class('IpL4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus [enumeration]
+ module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::IpL4Protocol'], import_from_module='ns.internet')
## ipv4.h (module 'internet'): ns3::Ipv4 [class]
module.add_class('Ipv4', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv4-address.h (module 'network'): ns3::Ipv4AddressChecker [class]
@@ -216,10 +266,6 @@
module.add_class('Ipv4L3Protocol', import_from_module='ns.internet', parent=root_module['ns3::Ipv4'])
## ipv4-l3-protocol.h (module 'internet'): ns3::Ipv4L3Protocol::DropReason [enumeration]
module.add_enum('DropReason', ['DROP_TTL_EXPIRED', 'DROP_NO_ROUTE', 'DROP_BAD_CHECKSUM', 'DROP_INTERFACE_DOWN', 'DROP_ROUTE_ERROR', 'DROP_FRAGMENT_TIMEOUT'], outer_class=root_module['ns3::Ipv4L3Protocol'], import_from_module='ns.internet')
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol [class]
- module.add_class('Ipv4L4Protocol', import_from_module='ns.internet', parent=root_module['ns3::Object'])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus [enumeration]
- module.add_enum('RxStatus', ['RX_OK', 'RX_CSUM_FAILED', 'RX_ENDPOINT_CLOSED', 'RX_ENDPOINT_UNREACH'], outer_class=root_module['ns3::Ipv4L4Protocol'], import_from_module='ns.internet')
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker [class]
module.add_class('Ipv4MaskChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv4-address.h (module 'network'): ns3::Ipv4MaskValue [class]
@@ -234,6 +280,8 @@
module.add_class('Ipv6AddressChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6AddressValue [class]
module.add_class('Ipv6AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface [class]
+ module.add_class('Ipv6Interface', import_from_module='ns.internet', parent=root_module['ns3::Object'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker [class]
module.add_class('Ipv6PrefixChecker', import_from_module='ns.network', parent=root_module['ns3::AttributeChecker'])
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixValue [class]
@@ -305,10 +353,18 @@
register_Ns3ByteTagListIteratorItem_methods(root_module, root_module['ns3::ByteTagList::Iterator::Item'])
register_Ns3CallbackBase_methods(root_module, root_module['ns3::CallbackBase'])
register_Ns3EventId_methods(root_module, root_module['ns3::EventId'])
+ register_Ns3IntToType__0_methods(root_module, root_module['ns3::IntToType< 0 >'])
+ register_Ns3IntToType__1_methods(root_module, root_module['ns3::IntToType< 1 >'])
+ register_Ns3IntToType__2_methods(root_module, root_module['ns3::IntToType< 2 >'])
+ register_Ns3IntToType__3_methods(root_module, root_module['ns3::IntToType< 3 >'])
+ register_Ns3IntToType__4_methods(root_module, root_module['ns3::IntToType< 4 >'])
+ register_Ns3IntToType__5_methods(root_module, root_module['ns3::IntToType< 5 >'])
+ register_Ns3IntToType__6_methods(root_module, root_module['ns3::IntToType< 6 >'])
register_Ns3Ipv4Address_methods(root_module, root_module['ns3::Ipv4Address'])
register_Ns3Ipv4InterfaceAddress_methods(root_module, root_module['ns3::Ipv4InterfaceAddress'])
register_Ns3Ipv4Mask_methods(root_module, root_module['ns3::Ipv4Mask'])
register_Ns3Ipv6Address_methods(root_module, root_module['ns3::Ipv6Address'])
+ register_Ns3Ipv6InterfaceAddress_methods(root_module, root_module['ns3::Ipv6InterfaceAddress'])
register_Ns3Ipv6Prefix_methods(root_module, root_module['ns3::Ipv6Prefix'])
register_Ns3Mac48Address_methods(root_module, root_module['ns3::Mac48Address'])
register_Ns3ObjectBase_methods(root_module, root_module['ns3::ObjectBase'])
@@ -335,6 +391,8 @@
register_Ns3Simulator_methods(root_module, root_module['ns3::Simulator'])
register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
+ register_Ns3Timer_methods(root_module, root_module['ns3::Timer'])
+ register_Ns3TimerImpl_methods(root_module, root_module['ns3::TimerImpl'])
register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
register_Ns3TypeIdTraceSourceInformation_methods(root_module, root_module['ns3::TypeId::TraceSourceInformation'])
@@ -343,6 +401,7 @@
register_Ns3Chunk_methods(root_module, root_module['ns3::Chunk'])
register_Ns3Header_methods(root_module, root_module['ns3::Header'])
register_Ns3Ipv4Header_methods(root_module, root_module['ns3::Ipv4Header'])
+ register_Ns3Ipv6Header_methods(root_module, root_module['ns3::Ipv6Header'])
register_Ns3Object_methods(root_module, root_module['ns3::Object'])
register_Ns3ObjectAggregateIterator_methods(root_module, root_module['ns3::Object::AggregateIterator'])
register_Ns3SimpleRefCount__Ns3AttributeAccessor_Ns3Empty_Ns3DefaultDeleter__lt__ns3AttributeAccessor__gt___methods(root_module, root_module['ns3::SimpleRefCount< ns3::AttributeAccessor, ns3::empty, ns3::DefaultDeleter<ns3::AttributeAccessor> >'])
@@ -372,11 +431,11 @@
register_Ns3Channel_methods(root_module, root_module['ns3::Channel'])
register_Ns3EmptyAttributeValue_methods(root_module, root_module['ns3::EmptyAttributeValue'])
register_Ns3EventImpl_methods(root_module, root_module['ns3::EventImpl'])
+ register_Ns3IpL4Protocol_methods(root_module, root_module['ns3::IpL4Protocol'])
register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
register_Ns3Ipv4AddressChecker_methods(root_module, root_module['ns3::Ipv4AddressChecker'])
register_Ns3Ipv4AddressValue_methods(root_module, root_module['ns3::Ipv4AddressValue'])
register_Ns3Ipv4L3Protocol_methods(root_module, root_module['ns3::Ipv4L3Protocol'])
- register_Ns3Ipv4L4Protocol_methods(root_module, root_module['ns3::Ipv4L4Protocol'])
register_Ns3Ipv4MaskChecker_methods(root_module, root_module['ns3::Ipv4MaskChecker'])
register_Ns3Ipv4MaskValue_methods(root_module, root_module['ns3::Ipv4MaskValue'])
register_Ns3Ipv4MulticastRoute_methods(root_module, root_module['ns3::Ipv4MulticastRoute'])
@@ -384,6 +443,7 @@
register_Ns3Ipv4RoutingProtocol_methods(root_module, root_module['ns3::Ipv4RoutingProtocol'])
register_Ns3Ipv6AddressChecker_methods(root_module, root_module['ns3::Ipv6AddressChecker'])
register_Ns3Ipv6AddressValue_methods(root_module, root_module['ns3::Ipv6AddressValue'])
+ register_Ns3Ipv6Interface_methods(root_module, root_module['ns3::Ipv6Interface'])
register_Ns3Ipv6PrefixChecker_methods(root_module, root_module['ns3::Ipv6PrefixChecker'])
register_Ns3Ipv6PrefixValue_methods(root_module, root_module['ns3::Ipv6PrefixValue'])
register_Ns3Mac48AddressChecker_methods(root_module, root_module['ns3::Mac48AddressChecker'])
@@ -926,6 +986,55 @@
is_const=True)
return
+def register_Ns3IntToType__0_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<0>::IntToType(ns3::IntToType<0> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 0 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__1_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<1>::IntToType(ns3::IntToType<1> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 1 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__2_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<2>::IntToType(ns3::IntToType<2> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 2 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__3_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<3>::IntToType(ns3::IntToType<3> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 3 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__4_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<4>::IntToType(ns3::IntToType<4> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 4 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__5_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<5>::IntToType(ns3::IntToType<5> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 5 > const &', 'arg0')])
+ return
+
+def register_Ns3IntToType__6_methods(root_module, cls):
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType() [constructor]
+ cls.add_constructor([])
+ ## int-to-type.h (module 'core'): ns3::IntToType<6>::IntToType(ns3::IntToType<6> const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IntToType< 6 > const &', 'arg0')])
+ return
+
def register_Ns3Ipv4Address_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -1212,6 +1321,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -1252,11 +1366,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -1287,6 +1410,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -1312,6 +1440,61 @@
[param('uint8_t *', 'address')])
return
+def register_Ns3Ipv6InterfaceAddress_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_output_stream_operator()
+ cls.add_binary_comparison_operator('==')
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6Address address, ns3::Ipv6Prefix prefix) [constructor]
+ cls.add_constructor([param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6Prefix', 'prefix')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Ipv6InterfaceAddress(ns3::Ipv6InterfaceAddress const & o) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6InterfaceAddress const &', 'o')])
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6InterfaceAddress::GetAddress() const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): uint32_t ns3::Ipv6InterfaceAddress::GetNsDadUid() const [member function]
+ cls.add_method('GetNsDadUid',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6Prefix ns3::Ipv6InterfaceAddress::GetPrefix() const [member function]
+ cls.add_method('GetPrefix',
+ 'ns3::Ipv6Prefix',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::Scope_e ns3::Ipv6InterfaceAddress::GetScope() const [member function]
+ cls.add_method('GetScope',
+ 'ns3::Ipv6InterfaceAddress::Scope_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): ns3::Ipv6InterfaceAddress::State_e ns3::Ipv6InterfaceAddress::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Ipv6InterfaceAddress::State_e',
+ [],
+ is_const=True)
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetAddress(ns3::Ipv6Address address) [member function]
+ cls.add_method('SetAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'address')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetNsDadUid(uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('uint32_t', 'uid')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetScope(ns3::Ipv6InterfaceAddress::Scope_e scope) [member function]
+ cls.add_method('SetScope',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::Scope_e', 'scope')])
+ ## ipv6-interface-address.h (module 'internet'): void ns3::Ipv6InterfaceAddress::SetState(ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ return
+
def register_Ns3Ipv6Prefix_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_output_stream_operator()
@@ -2114,6 +2297,90 @@
[param('uint8_t', 'v')])
return
+def register_Ns3Timer_methods(root_module, cls):
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Timer const &', 'arg0')])
+ ## timer.h (module 'core'): ns3::Timer::Timer() [constructor]
+ cls.add_constructor([])
+ ## timer.h (module 'core'): ns3::Timer::Timer(ns3::Timer::DestroyPolicy destroyPolicy) [constructor]
+ cls.add_constructor([param('ns3::Timer::DestroyPolicy', 'destroyPolicy')])
+ ## timer.h (module 'core'): void ns3::Timer::Cancel() [member function]
+ cls.add_method('Cancel',
+ 'void',
+ [])
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelay() const [member function]
+ cls.add_method('GetDelay',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Time ns3::Timer::GetDelayLeft() const [member function]
+ cls.add_method('GetDelayLeft',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): ns3::Timer::State ns3::Timer::GetState() const [member function]
+ cls.add_method('GetState',
+ 'ns3::Timer::State',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsExpired() const [member function]
+ cls.add_method('IsExpired',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsRunning() const [member function]
+ cls.add_method('IsRunning',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): bool ns3::Timer::IsSuspended() const [member function]
+ cls.add_method('IsSuspended',
+ 'bool',
+ [],
+ is_const=True)
+ ## timer.h (module 'core'): void ns3::Timer::Remove() [member function]
+ cls.add_method('Remove',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Resume() [member function]
+ cls.add_method('Resume',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule() [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [])
+ ## timer.h (module 'core'): void ns3::Timer::Schedule(ns3::Time delay) [member function]
+ cls.add_method('Schedule',
+ 'void',
+ [param('ns3::Time', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::SetDelay(ns3::Time const & delay) [member function]
+ cls.add_method('SetDelay',
+ 'void',
+ [param('ns3::Time const &', 'delay')])
+ ## timer.h (module 'core'): void ns3::Timer::Suspend() [member function]
+ cls.add_method('Suspend',
+ 'void',
+ [])
+ return
+
+def register_Ns3TimerImpl_methods(root_module, cls):
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl() [constructor]
+ cls.add_constructor([])
+ ## timer-impl.h (module 'core'): ns3::TimerImpl::TimerImpl(ns3::TimerImpl const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::TimerImpl const &', 'arg0')])
+ ## timer-impl.h (module 'core'): void ns3::TimerImpl::Invoke() [member function]
+ cls.add_method('Invoke',
+ 'void',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## timer-impl.h (module 'core'): ns3::EventId ns3::TimerImpl::Schedule(ns3::Time const & delay) [member function]
+ cls.add_method('Schedule',
+ 'ns3::EventId',
+ [param('ns3::Time const &', 'delay')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3TypeId_methods(root_module, cls):
cls.add_binary_comparison_operator('<')
cls.add_binary_comparison_operator('!=')
@@ -2219,7 +2486,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
@@ -2629,6 +2896,106 @@
[param('uint8_t', 'ttl')])
return
+def register_Ns3Ipv6Header_methods(root_module, cls):
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Header::Ipv6Header() [constructor]
+ cls.add_constructor([])
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::Deserialize(ns3::Buffer::Iterator start) [member function]
+ cls.add_method('Deserialize',
+ 'uint32_t',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetDestinationAddress() const [member function]
+ cls.add_method('GetDestinationAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetFlowLabel() const [member function]
+ cls.add_method('GetFlowLabel',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetHopLimit() const [member function]
+ cls.add_method('GetHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): ns3::TypeId ns3::Ipv6Header::GetInstanceTypeId() const [member function]
+ cls.add_method('GetInstanceTypeId',
+ 'ns3::TypeId',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetNextHeader() const [member function]
+ cls.add_method('GetNextHeader',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint16_t ns3::Ipv6Header::GetPayloadLength() const [member function]
+ cls.add_method('GetPayloadLength',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint32_t ns3::Ipv6Header::GetSerializedSize() const [member function]
+ cls.add_method('GetSerializedSize',
+ 'uint32_t',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): ns3::Ipv6Address ns3::Ipv6Header::GetSourceAddress() const [member function]
+ cls.add_method('GetSourceAddress',
+ 'ns3::Ipv6Address',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): uint8_t ns3::Ipv6Header::GetTrafficClass() const [member function]
+ cls.add_method('GetTrafficClass',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-header.h (module 'internet'): static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Print(std::ostream & os) const [member function]
+ cls.add_method('Print',
+ 'void',
+ [param('std::ostream &', 'os')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::Serialize(ns3::Buffer::Iterator start) const [member function]
+ cls.add_method('Serialize',
+ 'void',
+ [param('ns3::Buffer::Iterator', 'start')],
+ is_const=True, is_virtual=True)
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetDestinationAddress(ns3::Ipv6Address dst) [member function]
+ cls.add_method('SetDestinationAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetFlowLabel(uint32_t flow) [member function]
+ cls.add_method('SetFlowLabel',
+ 'void',
+ [param('uint32_t', 'flow')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetHopLimit(uint8_t limit) [member function]
+ cls.add_method('SetHopLimit',
+ 'void',
+ [param('uint8_t', 'limit')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetNextHeader(uint8_t next) [member function]
+ cls.add_method('SetNextHeader',
+ 'void',
+ [param('uint8_t', 'next')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetPayloadLength(uint16_t len) [member function]
+ cls.add_method('SetPayloadLength',
+ 'void',
+ [param('uint16_t', 'len')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetSourceAddress(ns3::Ipv6Address src) [member function]
+ cls.add_method('SetSourceAddress',
+ 'void',
+ [param('ns3::Ipv6Address', 'src')])
+ ## ipv6-header.h (module 'internet'): void ns3::Ipv6Header::SetTrafficClass(uint8_t traffic) [member function]
+ cls.add_method('SetTrafficClass',
+ 'void',
+ [param('uint8_t', 'traffic')])
+ return
+
def register_Ns3Object_methods(root_module, cls):
## object.h (module 'core'): ns3::Object::Object() [constructor]
cls.add_constructor([])
@@ -2842,6 +3209,11 @@
'int',
[],
is_pure_virtual=True, is_virtual=True)
+ ## socket.h (module 'network'): int ns3::Socket::Bind6() [member function]
+ cls.add_method('Bind6',
+ 'int',
+ [],
+ is_pure_virtual=True, is_virtual=True)
## socket.h (module 'network'): void ns3::Socket::BindToNetDevice(ns3::Ptr<ns3::NetDevice> netdevice) [member function]
cls.add_method('BindToNetDevice',
'void',
@@ -3618,6 +3990,63 @@
is_pure_virtual=True, visibility='protected', is_virtual=True)
return
+def register_Ns3IpL4Protocol_methods(root_module, cls):
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol() [constructor]
+ cls.add_constructor([])
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::IpL4Protocol(ns3::IpL4Protocol const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::IpL4Protocol const &', 'arg0')])
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget() const [member function]
+ cls.add_method('GetDownTarget',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::IpL4Protocol::GetDownTarget6() const [member function]
+ cls.add_method('GetDownTarget6',
+ 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): int ns3::IpL4Protocol::GetProtocolNumber() const [member function]
+ cls.add_method('GetProtocolNumber',
+ 'int',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::IpL4Protocol::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): ns3::IpL4Protocol::RxStatus ns3::IpL4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address & src, ns3::Ipv6Address & dst, ns3::Ptr<ns3::Ipv6Interface> incomingInterface) [member function]
+ cls.add_method('Receive',
+ 'ns3::IpL4Protocol::RxStatus',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address &', 'src'), param('ns3::Ipv6Address &', 'dst'), param('ns3::Ptr< ns3::Ipv6Interface >', 'incomingInterface')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::ReceiveIcmp(ns3::Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv6Address payloadSource, ns3::Ipv6Address payloadDestination, uint8_t const * payload) [member function]
+ cls.add_method('ReceiveIcmp',
+ 'void',
+ [param('ns3::Ipv6Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv6Address', 'payloadSource'), param('ns3::Ipv6Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
+ is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ip-l4-protocol.h (module 'internet'): void ns3::IpL4Protocol::SetDownTarget6(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv6Address,ns3::Ipv6Address,unsigned char,ns3::Ptr<ns3::Ipv6Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
+ cls.add_method('SetDownTarget6',
+ 'void',
+ [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv6Address, ns3::Ipv6Address, unsigned char, ns3::Ptr< ns3::Ipv6Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
+ is_pure_virtual=True, is_virtual=True)
+ return
+
def register_Ns3Ipv4_methods(root_module, cls):
## ipv4.h (module 'internet'): ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
@@ -3688,10 +4117,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4.h (module 'internet'): void ns3::Ipv4::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_pure_virtual=True, is_virtual=True)
## ipv4.h (module 'internet'): bool ns3::Ipv4::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -3883,9 +4312,9 @@
'ns3::Ptr< ns3::NetDevice >',
[param('uint32_t', 'i')],
is_virtual=True)
- ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4L4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::IpL4Protocol> ns3::Ipv4L3Protocol::GetProtocol(int protocolNumber) const [member function]
cls.add_method('GetProtocol',
- 'ns3::Ptr< ns3::Ipv4L4Protocol >',
+ 'ns3::Ptr< ns3::IpL4Protocol >',
[param('int', 'protocolNumber')],
is_const=True)
## ipv4-l3-protocol.h (module 'internet'): ns3::Ptr<ns3::Ipv4RoutingProtocol> ns3::Ipv4L3Protocol::GetRoutingProtocol() const [member function]
@@ -3898,10 +4327,10 @@
'ns3::TypeId',
[],
is_static=True)
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Insert(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Insert',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')],
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')],
is_virtual=True)
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::IsDestinationAddress(ns3::Ipv4Address address, uint32_t iif) const [member function]
cls.add_method('IsDestinationAddress',
@@ -3922,10 +4351,10 @@
cls.add_method('Receive',
'void',
[param('ns3::Ptr< ns3::NetDevice >', 'device'), param('ns3::Ptr< ns3::Packet const >', 'p'), param('uint16_t', 'protocol'), param('ns3::Address const &', 'from'), param('ns3::Address const &', 'to'), param('ns3::NetDevice::PacketType', 'packetType')])
- ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::Ipv4L4Protocol> protocol) [member function]
+ ## ipv4-l3-protocol.h (module 'internet'): void ns3::Ipv4L3Protocol::Remove(ns3::Ptr<ns3::IpL4Protocol> protocol) [member function]
cls.add_method('Remove',
'void',
- [param('ns3::Ptr< ns3::Ipv4L4Protocol >', 'protocol')])
+ [param('ns3::Ptr< ns3::IpL4Protocol >', 'protocol')])
## ipv4-l3-protocol.h (module 'internet'): bool ns3::Ipv4L3Protocol::RemoveAddress(uint32_t interfaceIndex, uint32_t addressIndex) [member function]
cls.add_method('RemoveAddress',
'bool',
@@ -4012,43 +4441,6 @@
visibility='private', is_virtual=True)
return
-def register_Ns3Ipv4L4Protocol_methods(root_module, cls):
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol() [constructor]
- cls.add_constructor([])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::Ipv4L4Protocol(ns3::Ipv4L4Protocol const & arg0) [copy constructor]
- cls.add_constructor([param('ns3::Ipv4L4Protocol const &', 'arg0')])
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> ns3::Ipv4L4Protocol::GetDownTarget() const [member function]
- cls.add_method('GetDownTarget',
- 'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): int ns3::Ipv4L4Protocol::GetProtocolNumber() const [member function]
- cls.add_method('GetProtocolNumber',
- 'int',
- [],
- is_pure_virtual=True, is_const=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): static ns3::TypeId ns3::Ipv4L4Protocol::GetTypeId() [member function]
- cls.add_method('GetTypeId',
- 'ns3::TypeId',
- [],
- is_static=True)
- ## ipv4-l4-protocol.h (module 'internet'): ns3::Ipv4L4Protocol::RxStatus ns3::Ipv4L4Protocol::Receive(ns3::Ptr<ns3::Packet> p, ns3::Ipv4Header const & header, ns3::Ptr<ns3::Ipv4Interface> incomingInterface) [member function]
- cls.add_method('Receive',
- 'ns3::Ipv4L4Protocol::RxStatus',
- [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Header const &', 'header'), param('ns3::Ptr< ns3::Ipv4Interface >', 'incomingInterface')],
- is_pure_virtual=True, is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::ReceiveIcmp(ns3::Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo, ns3::Ipv4Address payloadSource, ns3::Ipv4Address payloadDestination, uint8_t const * payload) [member function]
- cls.add_method('ReceiveIcmp',
- 'void',
- [param('ns3::Ipv4Address', 'icmpSource'), param('uint8_t', 'icmpTtl'), param('uint8_t', 'icmpType'), param('uint8_t', 'icmpCode'), param('uint32_t', 'icmpInfo'), param('ns3::Ipv4Address', 'payloadSource'), param('ns3::Ipv4Address', 'payloadDestination'), param('uint8_t const *', 'payload')],
- is_virtual=True)
- ## ipv4-l4-protocol.h (module 'internet'): void ns3::Ipv4L4Protocol::SetDownTarget(ns3::Callback<void,ns3::Ptr<ns3::Packet>,ns3::Ipv4Address,ns3::Ipv4Address,unsigned char,ns3::Ptr<ns3::Ipv4Route>,ns3::empty,ns3::empty,ns3::empty,ns3::empty> cb) [member function]
- cls.add_method('SetDownTarget',
- 'void',
- [param('ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::Ipv4Address, ns3::Ipv4Address, unsigned char, ns3::Ptr< ns3::Ipv4Route >, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'cb')],
- is_pure_virtual=True, is_virtual=True)
- return
-
def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
## ipv4-address.h (module 'network'): ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
cls.add_constructor([])
@@ -4277,6 +4669,147 @@
[param('ns3::Ipv6Address const &', 'value')])
return
+def register_Ns3Ipv6Interface_methods(root_module, cls):
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface(ns3::Ipv6Interface const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::Ipv6Interface const &', 'arg0')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6Interface::Ipv6Interface() [constructor]
+ cls.add_constructor([])
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::AddAddress(ns3::Ipv6InterfaceAddress iface) [member function]
+ cls.add_method('AddAddress',
+ 'bool',
+ [param('ns3::Ipv6InterfaceAddress', 'iface')])
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddress(uint32_t index) const [member function]
+ cls.add_method('GetAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetAddressMatchingDestination(ns3::Ipv6Address dst) [member function]
+ cls.add_method('GetAddressMatchingDestination',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('ns3::Ipv6Address', 'dst')])
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetBaseReachableTime() const [member function]
+ cls.add_method('GetBaseReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint8_t ns3::Ipv6Interface::GetCurHopLimit() const [member function]
+ cls.add_method('GetCurHopLimit',
+ 'uint8_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ptr<ns3::NetDevice> ns3::Ipv6Interface::GetDevice() const [member function]
+ cls.add_method('GetDevice',
+ 'ns3::Ptr< ns3::NetDevice >',
+ [],
+ is_const=True, is_virtual=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::GetLinkLocalAddress() const [member function]
+ cls.add_method('GetLinkLocalAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetMetric() const [member function]
+ cls.add_method('GetMetric',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint32_t ns3::Ipv6Interface::GetNAddresses() const [member function]
+ cls.add_method('GetNAddresses',
+ 'uint32_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetReachableTime() const [member function]
+ cls.add_method('GetReachableTime',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): uint16_t ns3::Ipv6Interface::GetRetransTimer() const [member function]
+ cls.add_method('GetRetransTimer',
+ 'uint16_t',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): static ns3::TypeId ns3::Ipv6Interface::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsDown() const [member function]
+ cls.add_method('IsDown',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsForwarding() const [member function]
+ cls.add_method('IsForwarding',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): bool ns3::Ipv6Interface::IsUp() const [member function]
+ cls.add_method('IsUp',
+ 'bool',
+ [],
+ is_const=True)
+ ## ipv6-interface.h (module 'internet'): ns3::Ipv6InterfaceAddress ns3::Ipv6Interface::RemoveAddress(uint32_t index) [member function]
+ cls.add_method('RemoveAddress',
+ 'ns3::Ipv6InterfaceAddress',
+ [param('uint32_t', 'index')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::Send(ns3::Ptr<ns3::Packet> p, ns3::Ipv6Address dest) [member function]
+ cls.add_method('Send',
+ 'void',
+ [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv6Address', 'dest')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetBaseReachableTime(uint16_t baseReachableTime) [member function]
+ cls.add_method('SetBaseReachableTime',
+ 'void',
+ [param('uint16_t', 'baseReachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetCurHopLimit(uint8_t curHopLimit) [member function]
+ cls.add_method('SetCurHopLimit',
+ 'void',
+ [param('uint8_t', 'curHopLimit')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDevice(ns3::Ptr<ns3::NetDevice> device) [member function]
+ cls.add_method('SetDevice',
+ 'void',
+ [param('ns3::Ptr< ns3::NetDevice >', 'device')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetDown() [member function]
+ cls.add_method('SetDown',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetForwarding(bool forward) [member function]
+ cls.add_method('SetForwarding',
+ 'void',
+ [param('bool', 'forward')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetMetric(uint16_t metric) [member function]
+ cls.add_method('SetMetric',
+ 'void',
+ [param('uint16_t', 'metric')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNode(ns3::Ptr<ns3::Node> node) [member function]
+ cls.add_method('SetNode',
+ 'void',
+ [param('ns3::Ptr< ns3::Node >', 'node')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetNsDadUid(ns3::Ipv6Address address, uint32_t uid) [member function]
+ cls.add_method('SetNsDadUid',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('uint32_t', 'uid')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetReachableTime(uint16_t reachableTime) [member function]
+ cls.add_method('SetReachableTime',
+ 'void',
+ [param('uint16_t', 'reachableTime')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetRetransTimer(uint16_t retransTimer) [member function]
+ cls.add_method('SetRetransTimer',
+ 'void',
+ [param('uint16_t', 'retransTimer')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetState(ns3::Ipv6Address address, ns3::Ipv6InterfaceAddress::State_e state) [member function]
+ cls.add_method('SetState',
+ 'void',
+ [param('ns3::Ipv6Address', 'address'), param('ns3::Ipv6InterfaceAddress::State_e', 'state')])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::SetUp() [member function]
+ cls.add_method('SetUp',
+ 'void',
+ [])
+ ## ipv6-interface.h (module 'internet'): void ns3::Ipv6Interface::DoDispose() [member function]
+ cls.add_method('DoDispose',
+ 'void',
+ [],
+ visibility='protected', is_virtual=True)
+ return
+
def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
## ipv6-address.h (module 'network'): ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
cls.add_constructor([])
--- a/src/visualizer/model/pyviz.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/visualizer/model/pyviz.cc Fri Mar 02 19:43:49 2012 +0100
@@ -153,12 +153,19 @@
Config::Connect ("/NodeList/*/DeviceList/*/$ns3::PointToPointNetDevice/MacRx",
MakeCallback (&PyViz::TraceNetDevRxPointToPoint, this));
+ // WiMax
Config::Connect ("/NodeList/*/DeviceList/*/$ns3::WimaxNetDevice/Tx",
MakeCallback (&PyViz::TraceNetDevTxWimax, this));
Config::Connect ("/NodeList/*/DeviceList/*/$ns3::WimaxNetDevice/Rx",
MakeCallback (&PyViz::TraceNetDevRxWimax, this));
+ // LTE
+ Config::Connect ("/NodeList/*/DeviceList/*/$ns3::LteNetDevice/Tx",
+ MakeCallback (&PyViz::TraceNetDevTxLte, this));
+
+ Config::Connect ("/NodeList/*/DeviceList/*/$ns3::LteNetDevice/Rx",
+ MakeCallback (&PyViz::TraceNetDevRxLte, this));
}
void
@@ -820,6 +827,19 @@
TraceNetDevRxCommon (context, packet, source);
}
+void
+PyViz::TraceNetDevTxLte (std::string context, Ptr<const Packet> packet, Mac48Address const &destination)
+{
+ NS_LOG_FUNCTION (context);
+ TraceNetDevTxCommon (context, packet, destination);
+}
+
+void
+PyViz::TraceNetDevRxLte (std::string context, Ptr<const Packet> packet, Mac48Address const &source)
+{
+ NS_LOG_FUNCTION (context);
+ TraceNetDevRxCommon (context, packet, source);
+}
// ---------------------
--- a/src/visualizer/model/pyviz.h Fri Mar 02 18:49:54 2012 +0100
+++ b/src/visualizer/model/pyviz.h Fri Mar 02 19:43:49 2012 +0100
@@ -212,6 +212,9 @@
void TraceNetDevTxWimax (std::string context, Ptr<const Packet> packet, Mac48Address const &destination);
void TraceNetDevRxWimax (std::string context, Ptr<const Packet> packet, Mac48Address const &source);
+ void TraceNetDevTxLte (std::string context, Ptr<const Packet> packet, Mac48Address const &destination);
+ void TraceNetDevRxLte (std::string context, Ptr<const Packet> packet, Mac48Address const &source);
+
inline NetDeviceStatistics & FindNetDeviceStatistics (int node, int interface);
void DoPause (std::string const &message);
--- a/src/visualizer/visualizer/base.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/visualizer/visualizer/base.py Fri Mar 02 19:43:49 2012 +0100
@@ -6,6 +6,7 @@
import ns.mesh
import ns.wimax
import ns.wimax
+import ns.lte
import gobject
import os.path
@@ -42,6 +43,8 @@
ns.mesh.MeshPointDevice: NetDeviceTraits(is_virtual=True),
ns.wimax.SubscriberStationNetDevice: NetDeviceTraits(is_wireless=True),
ns.wimax.BaseStationNetDevice: NetDeviceTraits(is_wireless=True),
+ ns.lte.UeNetDevice: NetDeviceTraits(is_wireless=True),
+ ns.lte.EnbNetDevice: NetDeviceTraits(is_wireless=True),
}
def lookup_netdevice_traits(class_type):
--- a/src/visualizer/wscript Fri Mar 02 18:49:54 2012 +0100
+++ b/src/visualizer/wscript Fri Mar 02 19:43:49 2012 +0100
@@ -1,24 +1,53 @@
## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
import Options
+required_python_modules = [
+ 'gtk',
+ 'goocanvas',
+ 'pygraphviz',
+ ]
+
def configure(conf):
# If Python was explicitly disabled, then add this module to the
# list of modules that won't be built if they are enabled.
- if Options.options.python_disable:
+ conf.env['ENABLE_PYVIZ'] = True
+ if not conf.check_optional_feature("python"):
+ conf.env['ENABLE_PYVIZ'] = False
+ conf.report_optional_feature("PyViz", "PyViz visualizer",
+ False,
+ "Python Bindings are needed but not enabled")
conf.env['MODULES_NOT_BUILT'].append('visualizer')
+ return
+
+ modules_missing = []
+ for pymod in required_python_modules:
+ try:
+ conf.check_python_module(pymod)
+ except conf.errors.ConfigurationError:
+ modules_missing.append(pymod)
+ if modules_missing:
+ conf.report_optional_feature("PyViz", "PyViz visualizer",
+ False, "Missing python modules: %s" % (', '.join(modules_missing),))
+ conf.env['ENABLE_PYVIZ'] = False
+ conf.env['MODULES_NOT_BUILT'].append('visualizer')
+ return
+
+ conf.report_optional_feature("PyViz", "PyViz visualizer", True, None)
+
def build(bld):
- # Don't do anything for this module if Python was explicitly
+
+ module = bld.create_ns3_module('visualizer', ['internet', 'wifi', 'point-to-point'])
+ headers = bld.new_task_gen(features=['ns3header'])
+ headers.module = 'visualizer'
+
+ # Don't do anything more for this module if Python was explicitly
# disabled.
- if 'visualizer' in bld.env['MODULES_NOT_BUILT']:
+ if not bld.env['ENABLE_PYVIZ']:
return
- headers = bld.new_task_gen(features=['ns3header'])
- headers.module = 'visualizer'
- headers.source = [
- ]
- module = bld.create_ns3_module('visualizer', ['internet', 'wifi', 'point-to-point'])
+ headers.source = []
# XXX This file was added so that static builds would work on
# Darwin, which doesn't like modules with no source files. It
@@ -32,9 +61,6 @@
'model/dummy-file-for-static-builds.cc',
]
- if not bld.env['ENABLE_PYTHON_BINDINGS']:
- return
-
module.features.append('pyembed')
#module.env.append_value('CXXFLAGS', module.env['shlib_CXXFLAGS'])
#module.includes = '.'
--- a/src/wifi/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/wifi/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -2202,6 +2202,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -2242,11 +2247,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -2277,6 +2291,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -3693,7 +3712,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/wifi/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/wifi/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -2202,6 +2202,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -2242,11 +2247,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -2277,6 +2291,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -3693,7 +3712,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/wifi/model/wifi-information-element.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/wifi/model/wifi-information-element.cc Fri Mar 02 19:43:49 2012 +0100
@@ -55,9 +55,6 @@
// This IE was not optional, so confirm that we did actually
// deserialise something.
NS_ASSERT (i.GetDistanceFrom (start) != 0);
- // cast start to void, to suppress ‘start’ set but not used
- // compiler warning in optimized builds
- (void) start;
return i;
}
--- a/src/wifi/model/wifi-remote-station-manager.cc Fri Mar 02 18:49:54 2012 +0100
+++ b/src/wifi/model/wifi-remote-station-manager.cc Fri Mar 02 19:43:49 2012 +0100
@@ -368,9 +368,6 @@
bool found;
found = ConstCast<Packet> (packet)->PeekPacketTag (tag);
NS_ASSERT (found);
- // cast found to void, to suppress 'found' set but not used
- // compiler warning
- (void) found;
return tag.GetDataMode ();
}
return DoGetDataMode (Lookup (address, header), fullPacketSize);
@@ -386,9 +383,6 @@
bool found;
found = ConstCast<Packet> (packet)->PeekPacketTag (tag);
NS_ASSERT (found);
- // cast found to void, to suppress 'found' set but not used
- // compiler warning
- (void) found;
return tag.GetRtsMode ();
}
return DoGetRtsMode (Lookup (address, header));
--- a/src/wimax/bindings/modulegen__gcc_ILP32.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/wimax/bindings/modulegen__gcc_ILP32.py Fri Mar 02 19:43:49 2012 +0100
@@ -1960,6 +1960,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -2000,11 +2005,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -2035,6 +2049,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -4379,7 +4398,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/src/wimax/bindings/modulegen__gcc_LP64.py Fri Mar 02 18:49:54 2012 +0100
+++ b/src/wimax/bindings/modulegen__gcc_LP64.py Fri Mar 02 19:43:49 2012 +0100
@@ -1960,6 +1960,11 @@
'void',
[param('uint8_t *', 'buf')],
is_const=True)
+ ## ipv6-address.h (module 'network'): ns3::Ipv4Address ns3::Ipv6Address::GetIpv4MappedAddress() const [member function]
+ cls.add_method('GetIpv4MappedAddress',
+ 'ns3::Ipv4Address',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::GetLoopback() [member function]
cls.add_method('GetLoopback',
'ns3::Ipv6Address',
@@ -2000,11 +2005,20 @@
'bool',
[param('ns3::Ipv6Address const &', 'other')],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsIpv4MappedAddress() [member function]
+ cls.add_method('IsIpv4MappedAddress',
+ 'bool',
+ [])
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocal() const [member function]
cls.add_method('IsLinkLocal',
'bool',
[],
is_const=True)
+ ## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLinkLocalMulticast() const [member function]
+ cls.add_method('IsLinkLocalMulticast',
+ 'bool',
+ [],
+ is_const=True)
## ipv6-address.h (module 'network'): bool ns3::Ipv6Address::IsLocalhost() const [member function]
cls.add_method('IsLocalhost',
'bool',
@@ -2035,6 +2049,11 @@
'ns3::Ipv6Address',
[param('ns3::Mac48Address', 'mac')],
is_static=True)
+ ## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeIpv4MappedAddress(ns3::Ipv4Address addr) [member function]
+ cls.add_method('MakeIpv4MappedAddress',
+ 'ns3::Ipv6Address',
+ [param('ns3::Ipv4Address', 'addr')],
+ is_static=True)
## ipv6-address.h (module 'network'): static ns3::Ipv6Address ns3::Ipv6Address::MakeSolicitedAddress(ns3::Ipv6Address addr) [member function]
cls.add_method('MakeSolicitedAddress',
'ns3::Ipv6Address',
@@ -4379,7 +4398,7 @@
## type-id.h (module 'core'): bool ns3::TypeId::LookupAttributeByName(std::string name, ns3::TypeId::AttributeInformation * info) const [member function]
cls.add_method('LookupAttributeByName',
'bool',
- [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info')],
+ [param('std::string', 'name'), param('ns3::TypeId::AttributeInformation *', 'info', transfer_ownership=False)],
is_const=True)
## type-id.h (module 'core'): static ns3::TypeId ns3::TypeId::LookupByName(std::string name) [member function]
cls.add_method('LookupByName',
--- a/test.py Fri Mar 02 18:49:54 2012 +0100
+++ b/test.py Fri Mar 02 19:43:49 2012 +0100
@@ -518,9 +518,14 @@
#
def read_waf_config():
for line in open(".lock-waf_" + sys.platform + "_build", "rt"):
+ if line.startswith("top_dir ="):
+ key, val = line.split('=')
+ top_dir = eval(val.strip())
if line.startswith("out_dir ="):
key, val = line.split('=')
out_dir = eval(val.strip())
+ global NS3_BASEDIR
+ NS3_BASEDIR = top_dir
global NS3_BUILDDIR
NS3_BUILDDIR = out_dir
for line in open("%s/c4che/_cache.py" % out_dir).readlines():
@@ -679,11 +684,10 @@
VALGRIND_SUPPRESSIONS_FILE = "testpy.supp"
def run_job_synchronously(shell_command, directory, valgrind, is_python, build_path=""):
- (base, build) = os.path.split (NS3_BUILDDIR)
- suppressions_path = os.path.join (base, VALGRIND_SUPPRESSIONS_FILE)
+ suppressions_path = os.path.join (NS3_BASEDIR, VALGRIND_SUPPRESSIONS_FILE)
if is_python:
- path_cmd = PYTHON[0] + " " + os.path.join (base, shell_command)
+ path_cmd = PYTHON[0] + " " + os.path.join (NS3_BASEDIR, shell_command)
else:
if len(build_path):
path_cmd = os.path.join (build_path, shell_command)
--- a/utils/python-unit-tests.py Fri Mar 02 18:49:54 2012 +0100
+++ b/utils/python-unit-tests.py Fri Mar 02 19:43:49 2012 +0100
@@ -5,6 +5,7 @@
import ns.internet
import ns.mobility
import ns.csma
+import ns.applications
class TestSimulator(unittest.TestCase):
@@ -48,6 +49,21 @@
self.assertEqual(self._args_received, "args")
self.assertEqual(self._cb_time.GetSeconds(), 123.0)
+ def testScheduleWithContext(self):
+ def callback(context, args):
+ self._context_received = context
+ self._args_received = args
+ self._cb_time = Simulator.Now()
+ Simulator.Destroy()
+ self._args_received = None
+ self._cb_time = None
+ self._context_received = None
+ Simulator.ScheduleWithContext(54321, Seconds(123), callback, "args")
+ Simulator.Run()
+ self.assertEqual(self._context_received, 54321)
+ self.assertEqual(self._args_received, "args")
+ self.assertEqual(self._cb_time.GetSeconds(), 123.0)
+
def testTimeComparison(self):
self.assert_(Seconds(123) == Seconds(123))
self.assert_(Seconds(123) >= Seconds(123))
Binary file waf has changed
--- a/wscript Fri Mar 02 18:49:54 2012 +0100
+++ b/wscript Fri Mar 02 19:43:49 2012 +0100
@@ -57,10 +57,6 @@
Configure.autoconfig = 0
-# until http://code.google.com/p/waf/issues/detail?id=1039 gets fixed...
-wutils.monkey_patch_Runner_start()
-
-
# the following two variables are used by the target "waf dist"
VERSION = file("VERSION", "rt").read().strip()
APPNAME = 'ns'
@@ -274,6 +270,11 @@
def report_optional_feature(conf, name, caption, was_enabled, reason_not_enabled):
conf.env.append_value('NS3_OPTIONAL_FEATURES', [(name, caption, was_enabled, reason_not_enabled)])
+def check_optional_feature(conf, name):
+ for (name1, caption, was_enabled, reason_not_enabled) in conf.env.NS3_OPTIONAL_FEATURES:
+ if name1 == name:
+ return was_enabled
+ raise KeyError("Feature %r not declared yet" % (name,))
# starting with waf 1.6, conf.check() becomes fatal by default if the
# test fails, this alternative method makes the test non-fatal, as it
@@ -291,6 +292,7 @@
conf.check_nonfatal = types.MethodType(_check_nonfatal, conf)
conf.check_compilation_flag = types.MethodType(_check_compilation_flag, conf)
conf.report_optional_feature = types.MethodType(report_optional_feature, conf)
+ conf.check_optional_feature = types.MethodType(check_optional_feature, conf)
conf.env['NS3_OPTIONAL_FEATURES'] = []
conf.check_tool('compiler_c')
@@ -368,6 +370,8 @@
conf.env['MODULES_NOT_BUILT'] = []
+ conf.sub_config('bindings/python')
+
conf.sub_config('src')
# Set the list of enabled modules.
@@ -400,8 +404,6 @@
if not conf.env['NS3_ENABLED_MODULES']:
raise WafError('Exiting because the ' + not_built + ' module can not be built and it was the only one enabled.')
- conf.sub_config('bindings/python')
-
conf.sub_config('src/mpi')
# for suid bits
@@ -629,7 +631,7 @@
if os.path.isdir(os.path.join("scratch", filename)):
obj = bld.create_ns3_program(filename, all_modules)
obj.path = obj.path.find_dir('scratch').find_dir(filename)
- obj.find_sources_in_dirs('.')
+ obj.source = obj.path.ant_glob('*.cc')
obj.target = filename
obj.name = obj.target
obj.install_path = None
@@ -772,6 +774,12 @@
if ("ns3-%s" % obj.module) not in modules:
obj.mode = 'remove' # tell it to remove headers instead of installing
+ # disable pcfile taskgens for disabled modules
+ if 'ns3pcfile' in getattr(obj, "features", []):
+ if obj.module.name not in bld.env.NS3_ENABLED_MODULES:
+ bld.exclude_taskgen(obj)
+
+
if env['NS3_ENABLED_MODULES']:
env['NS3_ENABLED_MODULES'] = list(modules)
--- a/wutils.py Fri Mar 02 18:49:54 2012 +0100
+++ b/wutils.py Fri Mar 02 19:43:49 2012 +0100
@@ -232,89 +232,3 @@
return run_argv([env['PYTHON'][0]] + execvec, env, cwd=cwd)
-
-def monkey_patch_Runner_start():
- """http://code.google.com/p/waf/issues/detail?id=1039"""
- from waflib import Task
- def start(self):
- """
- Give tasks to :py:class:`waflib.Runner.TaskConsumer` instances until the build finishes or the ``stop`` flag is set.
- If only one job is used, then execute the tasks one by one, without consumers.
- """
-
- self.total = self.bld.total()
-
- while not self.stop:
-
- self.refill_task_list()
-
- # consider the next task
- tsk = self.get_next_task()
- if not tsk:
- if self.count:
- # tasks may add new ones after they are run
- continue
- else:
- # no tasks to run, no tasks running, time to exit
- break
-
- if tsk.hasrun:
- # if the task is marked as "run", just skip it
- self.processed += 1
- continue
-
- if self.stop: # stop immediately after a failure was detected
- break
-
- try:
- st = tsk.runnable_status()
- except Exception:
- self.processed += 1
- if not self.stop and self.bld.keep:
- tsk.hasrun = Task.SKIPPED
- if self.bld.keep == 1:
- # if -k stop at the first exception, if -kk try to go as far as possible
- self.stop = True
- continue
- tsk.err_msg = Utils.ex_stack()
- tsk.hasrun = Task.EXCEPTION
- self.error_handler(tsk)
- continue
-
- if st == Task.ASK_LATER:
- self.postpone(tsk)
- # TODO optimize this
- # if self.outstanding:
- # for x in tsk.run_after:
- # if x in self.outstanding:
- # self.outstanding.remove(x)
- # self.outstanding.insert(0, x)
- elif st == Task.SKIP_ME:
- self.processed += 1
- tsk.hasrun = Task.SKIPPED
- self.add_more_tasks(tsk)
- else:
- # run me: put the task in ready queue
- tsk.position = (self.processed, self.total)
- self.count += 1
- tsk.master = self
- self.processed += 1
-
- if self.numjobs == 1:
- tsk.process()
- else:
- self.add_task(tsk)
-
- # self.count represents the tasks that have been made available to the consumer threads
- # collect all the tasks after an error else the message may be incomplete
- while self.error and self.count:
- self.get_out()
-
- #print loop
- assert (self.count == 0 or self.stop)
-
- # free the task pool, if any
- self.free_task_pool()
-
- from waflib.Runner import Parallel
- Parallel.start = start