Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends

ns3::olsr::RoutingProtocol Class Reference
[OLSR]

OLSR routing protocol for IPv4. More...

#include <olsr-routing-protocol.h>

Inheritance diagram for ns3::olsr::RoutingProtocol:
Inheritance graph
[legend]
Collaboration diagram for ns3::olsr::RoutingProtocol:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void SetMainInterface (uint32_t interface)
 Set the OLSR main address to the first address on the indicated interface.
void Dump (void)
std::vector< RoutingTableEntryGetRoutingTableEntries () const
std::set< uint32_t > GetInterfaceExclusions () const
void SetInterfaceExclusions (std::set< uint32_t > exceptions)
void AddHostNetworkAssociation (Ipv4Address networkAddr, Ipv4Mask netmask)
 Inject Association to be sent in HNA message.
void SetRoutingTableAssociation (Ptr< Ipv4StaticRouting > routingTable)
 Inject Associations from an Ipv4StaticRouting instance.

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::olsr::RoutingProtocol.

Protected Member Functions

virtual void DoStart (void)

Friends

class OlsrMprTestCase

Detailed Description

OLSR routing protocol for IPv4.


Member Function Documentation

virtual void ns3::olsr::RoutingProtocol::DoStart ( void   )  [protected, virtual]

This method is called only once by Object::Start. If the user calls Object::Start multiple times, DoStart is called only the first time.

Subclasses are expected to override this method and _chain up_ to their parent's implementation once they are done. It is safe to call GetObject and AggregateObject from within this method.

Reimplemented from ns3::Object.

void ns3::olsr::RoutingProtocol::Dump ( void   ) 

Dump the neighbor table, two-hop neighbor table, and routing table to logging output (NS_LOG_DEBUG log level). If logging is disabled, this function does nothing.

std::vector<RoutingTableEntry> ns3::olsr::RoutingProtocol::GetRoutingTableEntries (  )  const

Return the list of routing table entries discovered by OLSR

static TypeId ns3::olsr::RoutingProtocol::GetTypeId ( void   )  [static]

This method returns the TypeId associated to ns3::olsr::RoutingProtocol.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::Ipv4RoutingProtocol/$ns3::olsr::RoutingProtocol
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::olsr::RoutingProtocol

Attributes defined for this type:

  • HelloInterval: HELLO messages emission interval.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 2000000000ns
    • Flags: construct write read
  • TcInterval: TC messages emission interval.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 5000000000ns
    • Flags: construct write read
  • MidInterval: MID messages emission interval. Normally it is equal to TcInterval.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 5000000000ns
    • Flags: construct write read
  • HnaInterval: HNA messages emission interval. Normally it is equal to TcInterval.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 5000000000ns
    • Flags: construct write read
  • Willingness: Willingness of a node to carry and forward traffic for other nodes.
    • Set with class: ns3::EnumValue
    • Underlying type: never|low|default|high|always
    • Initial value: default
    • Flags: construct write read

TraceSources defined for this type:

  • Rx: Receive OLSR packet.
  • Tx: Send OLSR packet.
  • RoutingTableChanged: The OLSR routing table has changed.

Reimplemented from ns3::Ipv4RoutingProtocol.

void ns3::olsr::RoutingProtocol::SetMainInterface ( uint32_t  interface  ) 

Set the OLSR main address to the first address on the indicated interface.

Parameters:
interface IPv4 interface index

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