24 #include "ns3/socket-factory.h"
25 #include "ns3/tcp-socket-factory.h"
26 #include "ns3/simulator.h"
27 #include "ns3/simple-channel.h"
28 #include "ns3/simple-net-device.h"
29 #include "ns3/config.h"
30 #include "ns3/ipv4-static-routing.h"
31 #include "ns3/ipv4-list-routing.h"
32 #include "ns3/ipv6-static-routing.h"
33 #include "ns3/ipv6-list-routing.h"
35 #include "ns3/inet-socket-address.h"
36 #include "ns3/inet6-socket-address.h"
37 #include "ns3/uinteger.h"
40 #include "ns3/ipv4-end-point.h"
41 #include "ns3/arp-l3-protocol.h"
42 #include "ns3/ipv4-l3-protocol.h"
43 #include "ns3/ipv6-l3-protocol.h"
44 #include "ns3/icmpv4-l4-protocol.h"
45 #include "ns3/icmpv6-l4-protocol.h"
46 #include "ns3/udp-l4-protocol.h"
47 #include "ns3/tcp-l4-protocol.h"
60 virtual void DoRun (
void);
61 virtual void DoTeardown (
void);
103 ipv4Routing->AddRoutingProtocol (ipv4staticRouting, 0);
125 ipv6Routing->AddRoutingProtocol (ipv6staticRouting, 0);
196 receivedAddr1 = addr;
203 receivedAddr2 = addr;
210 receivedAddr3 = addr;
217 receivedAddr4 = addr;
236 uint16_t port1 = 5000;
237 uint16_t port2 = 5001;
238 uint16_t port3 = 5002;
239 uint16_t port4 = 5003;
299 Simulator::Destroy ();
bool IsInvalid(void) const
virtual uint32_t AddInterface(Ptr< NetDevice > device)=0
void ServerHandleConnectionCreated4(Ptr< Socket > s, const Address &addr)
Access to the IPv6 forwarding table, interfaces, and configuration.
Ptr< SimpleNetDevice > AddSimpleNetDevice(Ptr< Node > node, Ipv4Address v4Addr, Ipv4Mask v4Mask, Ipv6Address v6Addr, Ipv6Prefix v6Prefix)
API to create TCP socket instances.
a class to represent an Ipv4 address mask
IPv6 address associated with an interface.
virtual Ptr< Socket > CreateSocket(void)=0
Callback< R > MakeNullCallback(void)
a polymophic address class
virtual int Listen(void)=0
Listen for incoming connections.
static Mac48Address Allocate(void)
Allocate a new Mac48Address.
virtual void SetUp(uint32_t interface)=0
#define NS_TEST_EXPECT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report if not.
void ServerHandleConnectionCreated1(Ptr< Socket > s, const Address &addr)
void ServerHandleConnectionCreated2(Ptr< Socket > s, const Address &addr)
Callback< R > MakeCallback(R(T::*memPtr)(void), OBJ objPtr)
static Ptr< Socket > CreateSocket(Ptr< Node > node, TypeId tid)
This method wraps the creation of sockets that is performed on a given node by a SocketFactory specif...
void AggregateObject(Ptr< Object > other)
Ipv6DualStackTestSuite g_ipv6DualStackTestSuite
static Mac48Address ConvertFrom(const Address &address)
virtual int Connect(const Address &address)=0
Initiate a connection to a remote host.
Access to the Ipv4 forwarding table, interfaces, and configuration.
virtual int Bind(const Address &address)=0
Allocate a local endpoint for this socket.
void ServerHandleConnectionCreated3(Ptr< Socket > s, const Address &addr)
void AddTestCase(TestCase *testCase) NS_DEPRECATED
Add an individual child TestCase case to this TestCase.
void SetAcceptCallback(Callback< bool, Ptr< Socket >, const Address & > connectionRequest, Callback< void, Ptr< Socket >, const Address & > newConnectionCreated)
Accept connection requests from remote hosts.
virtual void DoTeardown(void)
Implementation to do any local setup required for this TestCase.
virtual uint32_t AddInterface(Ptr< NetDevice > device)=0
Add a NetDevice interface.
virtual void RegisterExtensions()
Register the IPv6 Extensions.
Describes an IPv6 address.
Ipv4 addresses are stored in host order in this class.
void SetRoutingProtocol(Ptr< Ipv6RoutingProtocol > routingProtocol)
Set routing protocol for this stack.
uint32_t AddDevice(Ptr< NetDevice > device)
a class to store IPv4 address information on an interface
Ptr< Node > CreateDualStackNode()
virtual void DoRun(void)
Implementation to actually run this TestCase.
virtual void SetAddress(Address address)
Set the address of this interface.
virtual void RegisterOptions()
Register the IPv6 Options.
Describes an IPv6 prefix.
virtual bool AddAddress(uint32_t interface, Ipv4InterfaceAddress address)=0
virtual bool AddAddress(uint32_t interface, Ipv6InterfaceAddress address)=0
Add an address on the specified IPv6 interface.
This test suite implements a Unit Test.
NS_LOG_COMPONENT_DEFINE("Ipv6DualStackTestSuite")
void SetChannel(Ptr< SimpleChannel > channel)
Attach a channel to this net device.
Ptr< T > GetObject(void) const
virtual void SetUp(uint32_t interface)=0
Set the interface into the "up" state.
void SetRoutingProtocol(Ptr< Ipv4RoutingProtocol > routingProtocol)
Register a new routing protocol to be used by this Ipv4 stack.