OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BFD Namespace Reference

Namespaces

 REST
 

Classes

class  Client
 
struct  SessionIndex
 
struct  SessionKey
 
struct  SessionConfig
 
class  Connection
 
class  VersionAndDiagnostic
 
class  Flags
 
class  DetectionTimeMultiplier
 
class  Length
 
class  SenderDiscriminator
 
class  ReceiverDiscriminator
 
class  DesiredMinTxInterval
 
class  RequiredMinRxInterval
 
class  RequiredMinEchoRXInterval
 
class  ControlPacketMessage
 
struct  ControlPacket
 
class  Server
 
struct  BFDRemoteSessionState
 
struct  BFDStats
 
class  Session
 
struct  EvRecvInit
 
struct  EvRecvDown
 
struct  EvRecvUp
 
struct  EvRecvAdminDown
 
struct  EvTimeout
 
struct  BFDStateAware
 
class  StateMachineImpl
 
struct  InitState
 
struct  UpState
 
struct  DownState
 
class  StateMachine
 
class  UDPConnectionManager
 
class  RESTClientSession
 
class  RESTClient
 
class  RESTServer
 

Typedefs

typedef boost::bimap< BFDState,
std::string > 
BFDStateNames
 
typedef uint32_t Discriminator
 
typedef
boost::posix_time::time_duration 
TimeInterval
 
typedef uint32_t ClientId
 
typedef boost::function< void(const
SessionKey &key, const
BFD::BFDState &state)> 
ChangeCb
 
typedef std::set< SessionKeySessions
 

Enumerations

enum  BFDState { kAdminDown, kDown, kInit, kUp }
 
enum  Port { kSingleHop = 3784, kMultiHop = 4784, kSendPortMin = 49152, kSendPortMax = 65535 }
 
enum  AuthType {
  kReserved, kSimplePassword, kKeyedMD5, kMeticulousKeyedMD5,
  kKeyedSHA1, kMeticulousKeyedSHA1
}
 
enum  ResultCode {
  kResultCode_Ok, kResultCode_UnknownSession, kResultCode_Error, kResultCode_InvalidPacket,
  kResultCode_NotImplemented
}
 
enum  Diagnostic {
  kNoDiagnostic, kControlDetectionTimeExpired, kEchoFunctionFailed, kNeighborSignaledSessionDown,
  kForwardingPlaneReset, kPathDown, kConcatenatedPathDown, kAdministrativelyDown,
  kReverseConcatenatedPathDown, kDiagnosticFirstInvalid
}
 

Functions

std::ostream & operator<< (std::ostream &out, BFDState state)
 
boost::optional< BFDStateBFDStateFromString (const std::string &str)
 
std::ostream & operator<< (std::ostream &, enum BFDState)
 
ControlPacketParseControlPacket (const uint8_t *data, size_t size)
 
int EncodeControlPacket (const ControlPacket *msg, uint8_t *data, size_t size)
 
bool operator== (const ControlPacket &p1, const ControlPacket &p2)
 
StateMachineCreateStateMachine (EventManager *evm, Session *session)
 

Variables

static BFDStateNames kBFDStateNames
 
const int kMinimalPacketLength = 24
 
const TimeInterval kIdleTxInterval = boost::posix_time::seconds(1)
 
boost::random::taus88 randomGen
 

Typedef Documentation

typedef boost::bimap<BFDState, std::string> BFD::BFDStateNames

Definition at line 14 of file bfd_common.cc.

typedef boost::function<void(const SessionKey &key, const BFD::BFDState &state)> BFD::ChangeCb

Definition at line 131 of file bfd_common.h.

typedef uint32_t BFD::ClientId

Definition at line 19 of file bfd_common.h.

typedef uint32_t BFD::Discriminator

Definition at line 17 of file bfd_common.h.

typedef std::set<SessionKey> BFD::Sessions

Definition at line 23 of file bfd_server.h.

typedef boost::posix_time::time_duration BFD::TimeInterval

Definition at line 18 of file bfd_common.h.

Enumeration Type Documentation

Enumerator
kReserved 
kSimplePassword 
kKeyedMD5 
kMeticulousKeyedMD5 
kKeyedSHA1 
kMeticulousKeyedSHA1 

Definition at line 32 of file bfd_common.h.

Enumerator
kAdminDown 
kDown 
kInit 
kUp 

Definition at line 21 of file bfd_common.h.

Enumerator
kNoDiagnostic 
kControlDetectionTimeExpired 
kEchoFunctionFailed 
kNeighborSignaledSessionDown 
kForwardingPlaneReset 
kPathDown 
kConcatenatedPathDown 
kAdministrativelyDown 
kReverseConcatenatedPathDown 
kDiagnosticFirstInvalid 

Definition at line 49 of file bfd_common.h.

enum BFD::Port
Enumerator
kSingleHop 
kMultiHop 
kSendPortMin 
kSendPortMax 

Definition at line 25 of file bfd_common.h.

Enumerator
kResultCode_Ok 
kResultCode_UnknownSession 
kResultCode_Error 
kResultCode_InvalidPacket 
kResultCode_NotImplemented 

Definition at line 41 of file bfd_common.h.

Function Documentation

boost::optional< BFDState > BFD::BFDStateFromString ( const std::string &  str)

Definition at line 33 of file bfd_common.cc.

StateMachine * BFD::CreateStateMachine ( EventManager evm,
Session *  session 
)

Definition at line 139 of file bfd_state_machine.cc.

int BFD::EncodeControlPacket ( const ControlPacket *  msg,
uint8_t *  data,
size_t  size 
)

Definition at line 238 of file bfd_control_packet.cc.

Here is the call graph for this function:

std::ostream& BFD::operator<< ( std::ostream &  out,
BFDState  state 
)

Definition at line 23 of file bfd_common.cc.

std::ostream& BFD::operator<< ( std::ostream &  ,
enum  BFDState 
)
bool BFD::operator== ( const ControlPacket &  p1,
const ControlPacket &  p2 
)

Definition at line 243 of file bfd_control_packet.cc.

ControlPacket * BFD::ParseControlPacket ( const uint8_t *  data,
size_t  size 
)

Definition at line 228 of file bfd_control_packet.cc.

Here is the call graph for this function:

Variable Documentation

BFDStateNames BFD::kBFDStateNames
static
Initial value:
=
boost::assign::list_of<BFDStateNames::relation>
(kAdminDown, std::string("AdminDown"))
(kDown, std::string("Down"))
(kInit, std::string("Init"))
(kUp, std::string("Up"))

Definition at line 16 of file bfd_common.cc.

const TimeInterval BFD::kIdleTxInterval = boost::posix_time::seconds(1)

Definition at line 42 of file bfd_common.cc.

const int BFD::kMinimalPacketLength = 24

Definition at line 41 of file bfd_common.cc.

boost::random::taus88 BFD::randomGen

Definition at line 43 of file bfd_common.cc.