Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

EIGRP Class Reference

#include <eigrp.h>

Inheritance diagram for EIGRP:

Handler L4Demux Protocol Object List of all members.

Public Types

enum  Status_t { ALIVE, DEAD }
enum  { RETX_LIMIT = 16 }

Public Member Functions

 EIGRP ()
virtual ~EIGRP ()
void AttachNode (Node *)
void Handle (Event *, Time_t)
void DataIndication (Node *, Packet *, IPAddr_t, L3Protocol &, Interface *)
Status_t Status ()
void Alive ()
bool IsAlive ()
void Dead ()
bool IsDead ()
void StartAt (Time_t)
void StopAt (Time_t)
void SetHelloInterval (Time_t t)
void SetReTxInterval (Time_t t)
Time_t GetReTxTimeout ()
void SetLossProbability (Random_t)
void SetLinkDown (Time_t time, IPAddr_t ip)
void SetMetric (Time_t time, IPAddr_t ip, double BW, double delay=-1, double reliability=-1, double load=-1)

Public Attributes

NodemyNode
RandomlossRNG
Random_t lossProb
D_Timer eigrphelloTimer
D_Timer holdTimer
D_Timer activeTimer
routeEntryList_ RoutingTable
topologyEntryList_ TopologyTable
adjacencyEntryList_ AdjacencyTable
QORS_EntryList_ QORSTable
ReplyBufferEntryList_ ReplyBuffer
EIGRPEventhelloEvent
Mesg_Counters Sent_Mesg_Counters
Mesg_Counters Recd_Mesg_Counters

Private Member Functions

void McastUnreliable (EIGRPHeader *)
void McastReliable (EIGRPHeader *, IPAddr_t=0)
void UcastUnreliable (EIGRPHeader *, IPAddr_t)
void UcastReliable (EIGRPHeader *, IPAddr_t)
Metric_t evaluate_best_metric_and_FD (int updateFD, IPAddr_t dest=0)
int FC_check (IPAddr_t dest, Metric_t rep_dist, Metric_t metr, int modifyFD=0)
NeighborGetNeighbor (IPAddr_t ip, Interface *)
IPAddr_t GetIPAddress (Interface *)
void DisplayNeighborTable ()
void InitialExchange (IPAddr_t to, int init)
void buildNeighborList ()
void mCast (EIGRPHeader *e, EMCast_t t, IPAddr_t dontsend)
void mCast (EIGRPHeader *, EMCast_t)
void uCast (EIGRPHeader *, EMCast_t, IPAddr_t, Neighbor *)
void uCast (EIGRPHeader *, EMCast_t, IPAddr_t)
void SendHello ()
AdjacencyEntryFindAdj (IPAddr_t)
AdjacencyEntryAddAdjacency_ScheduleHold (IPAddr_t ip, Interface *if_, int holdTime, double now, int srtt)
void displayroutingtable ()
void displayfibtable ()
void displaytopologytable ()
void displayQORStable ()
void displayadjacencytable ()
void displayreplybuffer ()
void remove_adjacency_from_RT_TT_QORS (IPAddr_t adjac, EIGRP_Timeout_t timeout_type)
void flush_TT ()
void TT_to_RT ()
void addtoQORSTable (IPAddr_t ip)
int checkRSflags (IPAddr_t dest)
void processReplies (int current_state, IPAddr_t dst, EIGRPHeader *reply_mg, int *sendRepl, IPAddr_t *sendReplyTo, EIGRPHeader *update_mg, int *sendUpd)
void UpdateTopologyTable (IPAddr_t dest, int prefix, Metric_t reportedDistance, Metric_t metric, IPAddr_t feas, int appendupdates=0, int appendqueries=0, int changestate=1, int inputevent=(int) RECEIVE_UPDATE, EIGRPHeader *update_mg=NULL, int *sendUpd=0, EIGRPHeader *query_mg=NULL, int *sendQuer=0)
void ModifyRoutingTable (IPAddr_t dest, unsigned long prefix, Metric_t newmetric, IPAddr_t fromwhom)
feasiblesfindSuccessor (IPAddr_t dest, int modifyFD=0, int exclude=0, IPAddr_t excludeFromComputationofSuccessor=0)
void setRSflags (int rs_flag, IPAddr_t dest=0, IPAddr_t adjacency=0)
void setNTRflag (int ntr_flag, IPAddr_t dest, IPAddr_t adjacency)
void determineState (int input_event, int fc_event, IPAddr_t dest=0)
void maintainConsistentState ()
void schedule_active_timer (IPAddr_t dest)
void setMetric (IPAddr_t ip, double BW, double delay=-1, double reliability=-1, double load=-1)
void modify_TT_link_metrics (IPAddr_t your_ip_, int metric_to_this_neighbor, EIGRPInputEvent_t INPUT_EVENT)
void Down ()
void Reset ()
void linkDown (IPAddr_t ip)
void HoldTimeout (int holdTimeout, AdjacencyEntry *a)

Private Attributes

NeighborMap_t neighbors
Interfacenextif
Time_t reTxTimeout
Time_t helloTimeout
Status_t status
EIGRPEventpHelloEvent
MsgSeq_t nextSeq
bool neighborsKnown

Static Private Attributes

IPAddr_t m_nextip

Member Enumeration Documentation

anonymous enum
 

Enumeration values:
RETX_LIMIT 

enum EIGRP::Status_t
 

Enumeration values:
ALIVE 
DEAD 


Constructor & Destructor Documentation

EIGRP::EIGRP  ) 
 

EIGRP::~EIGRP  )  [virtual]
 


Member Function Documentation

AdjacencyEntry * EIGRP::AddAdjacency_ScheduleHold IPAddr_t  ip,
Interface if_,
int  holdTime,
double  now,
int  srtt
[private]
 

void EIGRP::addtoQORSTable IPAddr_t  ip  )  [private]
 

void EIGRP::Alive  )  [inline]
 

void EIGRP::AttachNode Node  ) 
 

void EIGRP::buildNeighborList  )  [private]
 

int EIGRP::checkRSflags IPAddr_t  dest  )  [private]
 

void EIGRP::DataIndication Node ,
Packet ,
IPAddr_t  ,
L3Protocol ,
Interface
[virtual]
 

Implements L4Demux.

void EIGRP::Dead  )  [inline]
 

void EIGRP::determineState int  input_event,
int  fc_event,
IPAddr_t  dest = 0
[private]
 

void EIGRP::displayadjacencytable  )  [private]
 

void EIGRP::displayfibtable  )  [private]
 

void EIGRP::DisplayNeighborTable  )  [private]
 

void EIGRP::displayQORStable  )  [private]
 

void EIGRP::displayreplybuffer  )  [private]
 

void EIGRP::displayroutingtable  )  [private]
 

void EIGRP::displaytopologytable  )  [private]
 

void EIGRP::Down  )  [private]
 

Metric_t EIGRP::evaluate_best_metric_and_FD int  updateFD,
IPAddr_t  dest = 0
[private]
 

int EIGRP::FC_check IPAddr_t  dest,
Metric_t  rep_dist,
Metric_t  metr,
int  modifyFD = 0
[private]
 

AdjacencyEntry * EIGRP::FindAdj IPAddr_t   )  [private]
 

struct feasibles * EIGRP::findSuccessor IPAddr_t  dest,
int  modifyFD = 0,
int  exclude = 0,
IPAddr_t  excludeFromComputationofSuccessor = 0
[private]
 

void EIGRP::flush_TT  )  [private]
 

IPAddr_t EIGRP::GetIPAddress Interface  )  [private]
 

Neighbor * EIGRP::GetNeighbor IPAddr_t  ip,
Interface
[private]
 

Time_t EIGRP::GetReTxTimeout  )  [inline]
 

void EIGRP::Handle Event ,
Time_t 
[virtual]
 

Implements Handler.

void EIGRP::HoldTimeout int  holdTimeout,
AdjacencyEntry a
[private]
 

void EIGRP::InitialExchange IPAddr_t  to,
int  init
[private]
 

bool EIGRP::IsAlive  )  [inline]
 

bool EIGRP::IsDead  )  [inline]
 

void EIGRP::linkDown IPAddr_t  ip  )  [private]
 

void EIGRP::maintainConsistentState  )  [private]
 

void EIGRP::mCast EIGRPHeader ,
EMCast_t 
[private]
 

void EIGRP::mCast EIGRPHeader e,
EMCast_t  t,
IPAddr_t  dontsend
[private]
 

void EIGRP::McastReliable EIGRPHeader ,
IPAddr_t  = 0
[private]
 

void EIGRP::McastUnreliable EIGRPHeader  )  [private]
 

void EIGRP::modify_TT_link_metrics IPAddr_t  your_ip_,
int  metric_to_this_neighbor,
EIGRPInputEvent_t  INPUT_EVENT
[private]
 

void EIGRP::ModifyRoutingTable IPAddr_t  dest,
unsigned long  prefix,
Metric_t  newmetric,
IPAddr_t  fromwhom
[private]
 

void EIGRP::processReplies int  current_state,
IPAddr_t  dst,
EIGRPHeader reply_mg,
int *  sendRepl,
IPAddr_t sendReplyTo,
EIGRPHeader update_mg,
int *  sendUpd
[private]
 

void EIGRP::remove_adjacency_from_RT_TT_QORS IPAddr_t  adjac,
EIGRP_Timeout_t  timeout_type
[private]
 

void EIGRP::Reset  )  [private]
 

void EIGRP::schedule_active_timer IPAddr_t  dest  )  [private]
 

void EIGRP::SendHello  )  [private]
 

void EIGRP::SetHelloInterval Time_t  t  )  [inline]
 

void EIGRP::SetLinkDown Time_t  time,
IPAddr_t  ip
 

void EIGRP::SetLossProbability Random_t   ) 
 

void EIGRP::setMetric IPAddr_t  ip,
double  BW,
double  delay = -1,
double  reliability = -1,
double  load = -1
[private]
 

void EIGRP::SetMetric Time_t  time,
IPAddr_t  ip,
double  BW,
double  delay = -1,
double  reliability = -1,
double  load = -1
 

void EIGRP::setNTRflag int  ntr_flag,
IPAddr_t  dest,
IPAddr_t  adjacency
[private]
 

void EIGRP::SetReTxInterval Time_t  t  )  [inline]
 

void EIGRP::setRSflags int  rs_flag,
IPAddr_t  dest = 0,
IPAddr_t  adjacency = 0
[private]
 

void EIGRP::StartAt Time_t   ) 
 

Status_t EIGRP::Status  )  [inline]
 

void EIGRP::StopAt Time_t   ) 
 

void EIGRP::TT_to_RT  )  [private]
 

void EIGRP::uCast EIGRPHeader ,
EMCast_t  ,
IPAddr_t 
[private]
 

void EIGRP::uCast EIGRPHeader ,
EMCast_t  ,
IPAddr_t  ,
Neighbor
[private]
 

void EIGRP::UcastReliable EIGRPHeader ,
IPAddr_t 
[private]
 

void EIGRP::UcastUnreliable EIGRPHeader ,
IPAddr_t 
[private]
 

void EIGRP::UpdateTopologyTable IPAddr_t  dest,
int  prefix,
Metric_t  reportedDistance,
Metric_t  metric,
IPAddr_t  feas,
int  appendupdates = 0,
int  appendqueries = 0,
int  changestate = 1,
int  inputevent = (int) RECEIVE_UPDATE,
EIGRPHeader update_mg = NULL,
int *  sendUpd = 0,
EIGRPHeader query_mg = NULL,
int *  sendQuer = 0
[private]
 


Member Data Documentation

D_Timer EIGRP::activeTimer
 

adjacencyEntryList_ EIGRP::AdjacencyTable
 

D_Timer EIGRP::eigrphelloTimer
 

EIGRPEvent* EIGRP::helloEvent
 

Time_t EIGRP::helloTimeout [private]
 

D_Timer EIGRP::holdTimer
 

Random_t EIGRP::lossProb
 

Random* EIGRP::lossRNG
 

IPAddr_t EIGRP::m_nextip [static, private]
 

Node* EIGRP::myNode
 

NeighborMap_t EIGRP::neighbors [private]
 

bool EIGRP::neighborsKnown [private]
 

Interface* EIGRP::nextif [private]
 

MsgSeq_t EIGRP::nextSeq [private]
 

EIGRPEvent* EIGRP::pHelloEvent [private]
 

QORS_EntryList_ EIGRP::QORSTable
 

Mesg_Counters EIGRP::Recd_Mesg_Counters
 

ReplyBufferEntryList_ EIGRP::ReplyBuffer
 

Time_t EIGRP::reTxTimeout [private]
 

routeEntryList_ EIGRP::RoutingTable
 

Mesg_Counters EIGRP::Sent_Mesg_Counters
 

Status_t EIGRP::status [private]
 

topologyEntryList_ EIGRP::TopologyTable
 


The documentation for this class was generated from the following files:
Generated on Wed Aug 27 16:17:25 2008 for Georgia Tech Network Simulator (GTNetS) by  doxygen 1.3.9.1