|
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 |
| Node * | myNode |
| Random * | lossRNG |
| Random_t | lossProb |
| D_Timer | eigrphelloTimer |
| D_Timer | holdTimer |
| D_Timer | activeTimer |
| routeEntryList_ | RoutingTable |
| topologyEntryList_ | TopologyTable |
| adjacencyEntryList_ | AdjacencyTable |
| QORS_EntryList_ | QORSTable |
| ReplyBufferEntryList_ | ReplyBuffer |
| EIGRPEvent * | helloEvent |
| 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) |
| Neighbor * | GetNeighbor (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 () |
| AdjacencyEntry * | FindAdj (IPAddr_t) |
| AdjacencyEntry * | AddAdjacency_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) |
| feasibles * | findSuccessor (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 |
| Interface * | nextif |
| Time_t | reTxTimeout |
| Time_t | helloTimeout |
| Status_t | status |
| EIGRPEvent * | pHelloEvent |
| MsgSeq_t | nextSeq |
| bool | neighborsKnown |
Static Private Attributes |
| IPAddr_t | m_nextip |