A Discrete-Event Network Simulator
API
ns3::olsr Namespace Reference

Namespaces

 anonymous_namespace{olsr-routing-protocol.cc}
 

Classes

struct  Association
 Association. More...
 
struct  AssociationTuple
 An Association Tuple. More...
 
class  Bug780Test
 See Bug 780 More...
 
struct  DuplicateTuple
 A Duplicate Tuple. More...
 
class  HelloRegressionTest
 Trivial (still useful) test of OLSR operation. More...
 
struct  IfaceAssocTuple
 An Interface Association Tuple. More...
 
struct  LinkTuple
 A Link Tuple. More...
 
class  MessageHeader
 This header can store HELP, TC, MID and HNA messages. More...
 
struct  MprSelectorTuple
 An MPR-Selector Tuple. More...
 
struct  NeighborTuple
 A Neighbor Tuple. More...
 
class  OlsrState
 This class encapsulates all data structures needed for maintaining internal state of an OLSR node. More...
 
class  PacketHeader
 The basic layout of any packet in OLSR is as follows (omitting IP and UDP headers): More...
 
class  RoutingProtocol
 OLSR routing protocol for IPv4. More...
 
struct  RoutingTableEntry
 An OLSR's routing table entry. More...
 
class  TcRegressionTest
 Less trivial test of OLSR Topology Control message generation. More...
 
struct  TopologyTuple
 A Topology Tuple. More...
 
struct  TwoHopNeighborTuple
 A 2-hop Tuple. More...
 

Typedefs

typedef std::vector< AssociationAssociations
 Association Set type. More...
 
typedef std::vector< AssociationTupleAssociationSet
 Association Set type. More...
 
typedef std::vector< DuplicateTupleDuplicateSet
 Duplicate Set type. More...
 
typedef std::vector< IfaceAssocTupleIfaceAssocSet
 Interface Association Set type. More...
 
typedef std::vector< LinkTupleLinkSet
 Link Set type. More...
 
typedef std::vector< MessageHeaderMessageList
 
typedef std::vector< MprSelectorTupleMprSelectorSet
 MPR Selector Set type. More...
 
typedef std::set< Ipv4AddressMprSet
 MPR Set type. More...
 
typedef std::vector< NeighborTupleNeighborSet
 Neighbor Set type. More...
 
typedef std::vector< TopologyTupleTopologySet
 Topology Set type. More...
 
typedef std::vector< TwoHopNeighborTupleTwoHopNeighborSet
 2-hop Neighbor Set type. More...
 

Enumerations

enum class  LinkType : uint8_t { UNSPEC_LINK = 0 , ASYM_LINK = 1 , SYM_LINK = 2 , LOST_LINK = 3 }
 OLSR link types. More...
 
enum class  NeighborType : uint8_t { NOT_NEIGH = 0 , SYM_NEIGH = 1 , MPR_NEIGH = 2 }
 OLSR neighbor types. More...
 
enum  Willingness : uint8_t {
  NEVER = 0 , LOW = 1 , DEFAULT = 3 , HIGH = 6 ,
  ALWAYS = 7
}
 Willingness for forwarding packets from other nodes. More...
 

Functions

double EmfToSeconds (uint8_t olsrFormat)
 Converts a number of seconds in the mantissa/exponent format to a decimal number. More...
 
std::ostream & operator<< (std::ostream &os, const Association &tuple)
 
std::ostream & operator<< (std::ostream &os, const AssociationTuple &tuple)
 
std::ostream & operator<< (std::ostream &os, const IfaceAssocTuple &tuple)
 
std::ostream & operator<< (std::ostream &os, const LinkTuple &tuple)
 
std::ostream & operator<< (std::ostream &os, const MessageHeader &message)
 
std::ostream & operator<< (std::ostream &os, const MessageList &messages)
 
std::ostream & operator<< (std::ostream &os, const NeighborTuple &tuple)
 
std::ostream & operator<< (std::ostream &os, const PacketHeader &packet)
 
std::ostream & operator<< (std::ostream &os, const TopologyTuple &tuple)
 
std::ostream & operator<< (std::ostream &os, const TwoHopNeighborTuple &tuple)
 
std::ostream & operator<< (std::ostream &os, LinkType linkType)
 Stream insertion operator for OLSR link type. More...
 
std::ostream & operator<< (std::ostream &os, NeighborType neighborType)
 Stream insertion operator for OLSR link type. More...
 
std::ostream & operator<< (std::ostream &os, Willingness willingness)
 Stream insertion operator for OLSR willingness. More...
 
bool operator== (const Association &a, const Association &b)
 
bool operator== (const AssociationTuple &a, const AssociationTuple &b)
 
bool operator== (const DuplicateTuple &a, const DuplicateTuple &b)
 
bool operator== (const IfaceAssocTuple &a, const IfaceAssocTuple &b)
 
bool operator== (const LinkTuple &a, const LinkTuple &b)
 
bool operator== (const MprSelectorTuple &a, const MprSelectorTuple &b)
 
bool operator== (const NeighborTuple &a, const NeighborTuple &b)
 
bool operator== (const TopologyTuple &a, const TopologyTuple &b)
 
bool operator== (const TwoHopNeighborTuple &a, const TwoHopNeighborTuple &b)
 
uint8_t SecondsToEmf (double seconds)
 Converts a decimal number of seconds to the mantissa/exponent format. More...
 

Typedef Documentation

◆ Associations

typedef std::vector<Association> ns3::olsr::Associations

Association Set type.

Definition at line 337 of file olsr-repositories.h.

◆ AssociationSet

Association Set type.

Definition at line 336 of file olsr-repositories.h.

◆ DuplicateSet

Duplicate Set type.

Definition at line 334 of file olsr-repositories.h.

◆ IfaceAssocSet

Interface Association Set type.

Definition at line 335 of file olsr-repositories.h.

◆ LinkSet

typedef std::vector<LinkTuple> ns3::olsr::LinkSet

Link Set type.

Definition at line 330 of file olsr-repositories.h.

◆ MessageList

typedef std::vector<MessageHeader> ns3::olsr::MessageList

Definition at line 703 of file olsr-header.h.

◆ MprSelectorSet

MPR Selector Set type.

Definition at line 329 of file olsr-repositories.h.

◆ MprSet

typedef std::set<Ipv4Address> ns3::olsr::MprSet

MPR Set type.

Definition at line 328 of file olsr-repositories.h.

◆ NeighborSet

typedef std::vector<NeighborTuple> ns3::olsr::NeighborSet

Neighbor Set type.

Definition at line 331 of file olsr-repositories.h.

◆ TopologySet

typedef std::vector<TopologyTuple> ns3::olsr::TopologySet

Topology Set type.

Definition at line 333 of file olsr-repositories.h.

◆ TwoHopNeighborSet

2-hop Neighbor Set type.

Definition at line 332 of file olsr-repositories.h.

Function Documentation

◆ EmfToSeconds()

double ns3::olsr::EmfToSeconds ( uint8_t  olsrFormat)

Converts a number of seconds in the mantissa/exponent format to a decimal number.

Parameters
olsrFormatnumber of seconds in mantissa/exponent format.
Returns
the decimal number of seconds.

Definition at line 92 of file olsr-header.cc.

References OLSR_C.

Referenced by OlsrEmfTestCase::DoRun(), ns3::olsr::MessageHeader::Hello::GetHTime(), ns3::olsr::MessageHeader::GetVTime(), and ns3::olsr::MessageHeader::Hello::Print().

+ Here is the caller graph for this function:

◆ operator<<() [1/13]

std::ostream& ns3::olsr::operator<< ( std::ostream &  os,
const Association tuple 
)
inline

◆ operator<<() [2/13]

std::ostream& ns3::olsr::operator<< ( std::ostream &  os,
const AssociationTuple tuple 
)
inline

◆ operator<<() [3/13]

std::ostream& ns3::olsr::operator<< ( std::ostream &  os,
const IfaceAssocTuple tuple 
)
inline

◆ operator<<() [4/13]

std::ostream& ns3::olsr::operator<< ( std::ostream &  os,
const LinkTuple tuple 
)
inline

◆ operator<<() [5/13]

std::ostream& ns3::olsr::operator<< ( std::ostream &  os,
const MessageHeader message 
)
inline

Definition at line 696 of file olsr-header.h.

References ns3::olsr::MessageHeader::Print().

+ Here is the call graph for this function:

◆ operator<<() [6/13]

std::ostream& ns3::olsr::operator<< ( std::ostream &  os,
const MessageList messages 
)
inline

Definition at line 705 of file olsr-header.h.

◆ operator<<() [7/13]

std::ostream& ns3::olsr::operator<< ( std::ostream &  os,
const NeighborTuple tuple 
)
inline

◆ operator<<() [8/13]

std::ostream& ns3::olsr::operator<< ( std::ostream &  os,
const PacketHeader packet 
)
inline

Definition at line 689 of file olsr-header.h.

References ns3::olsr::PacketHeader::Print().

+ Here is the call graph for this function:

◆ operator<<() [9/13]

std::ostream& ns3::olsr::operator<< ( std::ostream &  os,
const TopologyTuple tuple 
)
inline

◆ operator<<() [10/13]

std::ostream& ns3::olsr::operator<< ( std::ostream &  os,
const TwoHopNeighborTuple tuple 
)
inline

◆ operator<<() [11/13]

std::ostream& ns3::olsr::operator<< ( std::ostream &  os,
LinkType  linkType 
)
inline

Stream insertion operator for OLSR link type.

Parameters
osOutput stream.
linkTypeOLSR link type.
Returns
A reference to the output stream.

Definition at line 137 of file olsr-routing-protocol.cc.

References ASYM_LINK, LOST_LINK, SYM_LINK, and UNSPEC_LINK.

◆ operator<<() [12/13]

std::ostream& ns3::olsr::operator<< ( std::ostream &  os,
NeighborType  neighborType 
)
inline

Stream insertion operator for OLSR link type.

Parameters
osOutput stream.
neighborTypeOLSR neighbor type.
Returns
A reference to the output stream.

Definition at line 175 of file olsr-routing-protocol.cc.

References MPR_NEIGH, NOT_NEIGH, and SYM_NEIGH.

◆ operator<<() [13/13]

std::ostream& ns3::olsr::operator<< ( std::ostream &  os,
Willingness  willingness 
)
inline

Stream insertion operator for OLSR willingness.

Parameters
osOutput stream.
willingnessWillingness.
Returns
A reference to the output stream.

Definition at line 62 of file olsr-repositories.h.

References ALWAYS, DEFAULT, HIGH, LOW, and NEVER.

◆ operator==() [1/9]

bool ns3::olsr::operator== ( const Association a,
const Association b 
)
inline

◆ operator==() [2/9]

bool ns3::olsr::operator== ( const AssociationTuple a,
const AssociationTuple b 
)
inline

◆ operator==() [3/9]

bool ns3::olsr::operator== ( const DuplicateTuple a,
const DuplicateTuple b 
)
inline

◆ operator==() [4/9]

bool ns3::olsr::operator== ( const IfaceAssocTuple a,
const IfaceAssocTuple b 
)
inline

◆ operator==() [5/9]

bool ns3::olsr::operator== ( const LinkTuple a,
const LinkTuple b 
)
inline

◆ operator==() [6/9]

bool ns3::olsr::operator== ( const MprSelectorTuple a,
const MprSelectorTuple b 
)
inline

Definition at line 217 of file olsr-repositories.h.

References ns3::olsr::MprSelectorTuple::mainAddr.

◆ operator==() [7/9]

bool ns3::olsr::operator== ( const NeighborTuple a,
const NeighborTuple b 
)
inline

◆ operator==() [8/9]

bool ns3::olsr::operator== ( const TopologyTuple a,
const TopologyTuple b 
)
inline

◆ operator==() [9/9]

bool ns3::olsr::operator== ( const TwoHopNeighborTuple a,
const TwoHopNeighborTuple b 
)
inline

◆ SecondsToEmf()

uint8_t ns3::olsr::SecondsToEmf ( double  seconds)

Converts a decimal number of seconds to the mantissa/exponent format.

Parameters
secondsdecimal number of seconds we want to convert.
Returns
the number of seconds in mantissa/exponent format.

Definition at line 49 of file olsr-header.cc.

References NS_ASSERT, NS_ASSERT_MSG, and OLSR_C.

Referenced by OlsrEmfTestCase::DoRun(), ns3::olsr::MessageHeader::Hello::SetHTime(), and ns3::olsr::MessageHeader::SetVTime().

+ Here is the caller graph for this function: