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

Implement the Ipv4 layer specifically for Click nodes to allow a clean integration of Click.This is code is mostly repeated from the Ipv4L3Protocol implementation. Changes include: More...

#include <ipv4-l3-click-protocol.h>

+ Inheritance diagram for ns3::Ipv4L3ClickProtocol:

Additional Inherited Members

- Public Member Functions inherited from ns3::Ipv4
virtual bool AddAddress (uint32_t interface, Ipv4InterfaceAddress address)=0
 
virtual uint32_t AddInterface (Ptr< NetDevice > device)=0
 
virtual Ptr< SocketCreateRawSocket (void)=0
 Creates a raw socket. More...
 
virtual void DeleteRawSocket (Ptr< Socket > socket)=0
 Deletes a particular raw socket. More...
 
virtual Ipv4InterfaceAddress GetAddress (uint32_t interface, uint32_t addressIndex) const =0
 
virtual int32_t GetInterfaceForAddress (Ipv4Address address) const =0
 Return the interface number of the interface that has been assigned the specified IP address. More...
 
virtual int32_t GetInterfaceForDevice (Ptr< const NetDevice > device) const =0
 
virtual int32_t GetInterfaceForPrefix (Ipv4Address address, Ipv4Mask mask) const =0
 Return the interface number of first interface found that has an Ipv4 address within the prefix specified by the input address and mask parameters. More...
 
virtual uint16_t GetMetric (uint32_t interface) const =0
 
virtual uint16_t GetMtu (uint32_t interface) const =0
 
virtual uint32_t GetNAddresses (uint32_t interface) const =0
 
virtual Ptr< NetDeviceGetNetDevice (uint32_t interface)=0
 
virtual uint32_t GetNInterfaces (void) const =0
 
virtual Ptr< IpL4ProtocolGetProtocol (int protocolNumber) const =0
 
virtual Ptr< Ipv4RoutingProtocolGetRoutingProtocol (void) const =0
 Get the routing protocol to be used by this Ipv4 stack. More...
 
virtual void Insert (Ptr< IpL4Protocol > protocol)=0
 
virtual bool IsDestinationAddress (Ipv4Address address, uint32_t iif) const =0
 Determine whether address and interface corresponding to received packet can be accepted for local delivery. More...
 
virtual bool IsForwarding (uint32_t interface) const =0
 
virtual bool IsUp (uint32_t interface) const =0
 
virtual bool RemoveAddress (uint32_t interface, uint32_t addressIndex)=0
 
virtual Ipv4Address SelectSourceAddress (Ptr< const NetDevice > device, Ipv4Address dst, Ipv4InterfaceAddress::InterfaceAddressScope_e scope)=0
 Return the first primary source address with scope less than or equal to the requested scope, to use in sending a packet to destination dst out of the specified device. More...
 
virtual void Send (Ptr< Packet > packet, Ipv4Address source, Ipv4Address destination, uint8_t protocol, Ptr< Ipv4Route > route)=0
 
virtual void SendWithHeader (Ptr< Packet > packet, Ipv4Header ipHeader, Ptr< Ipv4Route > route)=0
 
virtual void SetDown (uint32_t interface)=0
 
virtual void SetForwarding (uint32_t interface, bool val)=0
 
virtual void SetMetric (uint32_t interface, uint16_t metric)=0
 
virtual void SetRoutingProtocol (Ptr< Ipv4RoutingProtocol > routingProtocol)=0
 Register a new routing protocol to be used by this Ipv4 stack. More...
 
virtual void SetUp (uint32_t interface)=0
 
- 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 inherited from ns3::Ipv4
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)
 
- Static Public Attributes inherited from ns3::Ipv4
static const uint32_t IF_ANY = 0xffffffff
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoDispose (void)
 
virtual void DoInitialize (void)
 
virtual void NotifyNewAggregate (void)
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 

Detailed Description

Implement the Ipv4 layer specifically for Click nodes to allow a clean integration of Click.

This is code is mostly repeated from the Ipv4L3Protocol implementation. Changes include:

  • A stripped down version of Send().
  • A stripped down version of Receive().
  • A public version of LocalDeliver().
  • Modifications to AddInterface().

Definition at line 61 of file ipv4-l3-click-protocol.h.


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