A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::Ping6 Class Reference

A ping6 application. More...

#include <introspected-doxygen.h>

+ Inheritance diagram for ns3::Ping6:

Public Member Functions

 Ping6 ()
 Constructor.
 
virtual ~Ping6 ()
 Destructor.
 
void SetIfIndex (uint32_t ifIndex)
 Set the out interface index. This is to send to link-local (unicast or multicast) address when a node has multiple interfaces. More...
 
void SetLocal (Ipv6Address ipv6)
 Set the local address. More...
 
void SetRemote (Ipv6Address ipv6)
 Set the remote peer. More...
 
void SetRouters (std::vector< Ipv6Address > routers)
 Set routers for routing type 0 (loose routing). More...
 
- Public Member Functions inherited from ns3::Application
Ptr< NodeGetNode () const
 
void SetNode (Ptr< Node > node)
 
void SetStartTime (Time start)
 Specify application start time. More...
 
void SetStopTime (Time stop)
 Specify application stop time. More...
 
- Public Member Functions inherited from ns3::Object
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 
AggregateIterator GetAggregateIterator (void) const
 
virtual TypeId GetInstanceTypeId (void) const
 
template<typename T >
Ptr< T > GetObject (void) const
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 
void Initialize (void)
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
 
uint32_t GetReferenceCount (void) const
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 
void Ref (void) const
 
void Unref (void) const
 
- Public Member Functions inherited from ns3::ObjectBase
void GetAttribute (std::string name, AttributeValue &value) const
 
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
 
void SetAttribute (std::string name, const AttributeValue &value)
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Application
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 

Protected Member Functions

virtual void DoDispose ()
 Dispose this object;.
 
- Protected Member Functions inherited from ns3::Application
virtual void DoInitialize (void)
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void NotifyNewAggregate (void)
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 

Private Member Functions

void HandleRead (Ptr< Socket > socket)
 Receive method. More...
 
void ScheduleTransmit (Time dt)
 Schedule sending a packet. More...
 
void Send ()
 Send a packet.
 
virtual void StartApplication ()
 Start the application.
 
virtual void StopApplication ()
 Stop the application.
 

Private Attributes

Ipv6Address m_address
 Peer IPv6 address.
 
uint32_t m_count
 Number of "Echo request" packets that will be sent.
 
uint32_t m_ifIndex
 Out interface (i.e. for link-local communication).
 
Time m_interval
 Intervall between packets sent.
 
Ipv6Address m_localAddress
 Local address.
 
Ipv6Address m_peerAddress
 Peer address.
 
std::vector< Ipv6Addressm_routers
 Routers addresses for routing type 0.
 
EventId m_sendEvent
 Event ID.
 
uint32_t m_sent
 Number of packets sent.
 
uint16_t m_seq
 Sequence number.
 
uint32_t m_size
 Size of the packet.
 
Ptr< Socketm_socket
 Local socket.
 

Additional Inherited Members

- Protected Attributes inherited from ns3::Application
Ptr< Nodem_node
 
EventId m_startEvent
 
Time m_startTime
 
EventId m_stopEvent
 
Time m_stopTime
 

Detailed Description

A ping6 application.

Config Paths

ns3::Ping6 is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/ApplicationList/[i]/$ns3::Ping6

Attributes

  • MaxPackets: The maximum number of packets the application will send
  • Interval: The time to wait between packets
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +1000000000.0ns
    • Flags: construct write read
  • RemoteIpv6: The Ipv6Address of the outbound packets
    • Set with class: Ipv6AddressValue
    • Underlying type: Ipv6Address
    • Initial value: 0000:0000:0000:0000:0000:0000:0000:0000
    • Flags: construct write read
  • LocalIpv6: Local Ipv6Address of the sender
    • Set with class: Ipv6AddressValue
    • Underlying type: Ipv6Address
    • Initial value: 0000:0000:0000:0000:0000:0000:0000:0000
    • Flags: construct write read
  • PacketSize: Size of packets generated

Attributes defined in parent class ns3::Application

  • StartTime: Time at which the application will start
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +0.0ns
    • Flags: construct write read
  • StopTime: Time at which the application will stop
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +0.0ns
    • Flags: construct write read

No TraceSources are defined for this type.

Definition at line 45 of file ping6.h.

Member Function Documentation

TypeId ns3::Ping6::GetTypeId ( void  )
static

Get the type ID.

Returns
type ID

Definition at line 45 of file ping6.cc.

References m_count, m_interval, m_localAddress, m_peerAddress, m_size, ns3::Seconds(), and ns3::TypeId::SetParent().

Referenced by ns3::Ping6Helper::Ping6Helper().

void ns3::Ping6::ScheduleTransmit ( Time  dt)
private

Schedule sending a packet.

Parameters
dtinterval between packet

Definition at line 149 of file ping6.cc.

References m_sendEvent, NS_LOG_FUNCTION, ns3::Simulator::Schedule(), and Send().

Referenced by Send(), and StartApplication().

void ns3::Ping6::SetIfIndex ( uint32_t  ifIndex)

Set the out interface index. This is to send to link-local (unicast or multicast) address when a node has multiple interfaces.

Parameters
ifIndexinterface index

Definition at line 144 of file ping6.cc.

References m_ifIndex.

void ns3::Ping6::SetLocal ( Ipv6Address  ipv6)

Set the local address.

Parameters
ipv6the local IPv6 address

Definition at line 120 of file ping6.cc.

References m_localAddress, and NS_LOG_FUNCTION.

void ns3::Ping6::SetRemote ( Ipv6Address  ipv6)

Set the remote peer.

Parameters
ipv6IPv6 address of the peer

Definition at line 126 of file ping6.cc.

References m_peerAddress, and NS_LOG_FUNCTION.

void ns3::Ping6::SetRouters ( std::vector< Ipv6Address routers)

Set routers for routing type 0 (loose routing).

Parameters
routersrouters addresses

Definition at line 155 of file ping6.cc.

References m_routers.


The documentation for this class was generated from the following files: