#include <satlink.h>
Inheritance diagram for SatLinkHead:


Public Member Functions | |
| SatLinkHead () | |
| SatPhy * | phy_tx () |
| SatPhy * | phy_rx () |
| SatMac * | mac () |
| SatLL * | satll () |
| Queue * | queue () |
| ErrorModel * | errmodel () |
| SatNode * | node () |
| int | type () |
| int32_t | label () |
| void | insertlink (struct linklist_head *head) |
| LinkHead * | nextlinkhead (void) const |
| NsObject * | target () |
| virtual void | drop (Packet *p) |
| virtual void | recv (Packet *p, const char *s) |
| virtual void | recvOnly (Packet *) |
| virtual void | delay_bind_init_all () |
| virtual int | delay_bind_dispatch (const char *varName, const char *localName, TclObject *tracer) |
| int | isdebug () const |
| virtual void | debug (const char *fmt,...) |
Public Attributes | |
| int | linkup_ |
Protected Member Functions | |
| virtual int | command (int argc, const char *const *argv) |
| LIST_ENTRY (LinkHead) link_entry_ | |
| virtual void | drop (Packet *p, const char *s) |
| void | recv (Packet *, Handler *callback=0) |
| void | send (Packet *p, Handler *h) |
| virtual void | reset () |
| void | handle (Event *) |
Protected Attributes | |
| SatPhy * | phy_tx_ |
| SatPhy * | phy_rx_ |
| SatMac * | mac_ |
| SatLL * | satll_ |
| Queue * | queue_ |
| ErrorModel * | errmodel_ |
| NetworkInterface * | net_if_ |
| Node * | node_ |
| int | type_ |
| NsObject * | target_ |
| NsObject * | drop_ |
| int | debug_ |
|
|
Definition at line 72 of file satlink.cc.
|
|
||||||||||||
|
Reimplemented from LinkHead. Definition at line 76 of file satlink.cc. References LinkHead::command(), errmodel_, LINK_GSL, LINK_GSL_GEO, LINK_GSL_POLAR, LINK_GSL_REPEATER, LINK_ISL_CROSSSEAM, LINK_ISL_INTERPLANE, LINK_ISL_INTRAPLANE, mac_, phy_rx_, phy_tx_, queue_, satll_, and LinkHead::type_.
00077 {
00078 if (argc == 2) {
00079 } else if (argc == 3) {
00080 if (strcmp(argv[1], "set_type") == 0) {
00081 if (strcmp(argv[2], "geo") == 0) {
00082 type_ = LINK_GSL_GEO;
00083 return TCL_OK;
00084 } else if (strcmp(argv[2], "polar") == 0) {
00085 type_ = LINK_GSL_POLAR;
00086 return TCL_OK;
00087 } else if (strcmp(argv[2], "gsl") == 0) {
00088 type_ = LINK_GSL;
00089 return TCL_OK;
00090 } else if (strcmp(argv[2], "gsl-repeater") == 0) {
00091 type_ = LINK_GSL_REPEATER;
00092 return TCL_OK;
00093 } else if (strcmp(argv[2], "interplane") == 0) {
00094 type_ = LINK_ISL_INTERPLANE;
00095 return TCL_OK;
00096 } else if (strcmp(argv[2], "intraplane") == 0) {
00097 type_ = LINK_ISL_INTRAPLANE;
00098 return TCL_OK;
00099 } else if (strcmp(argv[2], "crossseam") == 0) {
00100 type_ = LINK_ISL_CROSSSEAM;
00101 return TCL_OK;
00102 } else {
00103 printf("Unknown link type: %s\n", argv[2]);
00104 exit(1);
00105 }
00106 }
00107 if (strcmp(argv[1], "setll") == 0) {
00108 satll_ = (SatLL*) TclObject::lookup(argv[2]);
00109 if (satll_ == 0)
00110 return TCL_ERROR;
00111 return TCL_OK;
00112 } else if(strcmp(argv[1], "setphytx") == 0) {
00113 phy_tx_ = (SatPhy*) TclObject::lookup(argv[2]);
00114 if (phy_tx_ == 0)
00115 return TCL_ERROR;
00116 return TCL_OK;
00117 } else if(strcmp(argv[1], "setphyrx") == 0) {
00118 phy_rx_ = (SatPhy*) TclObject::lookup(argv[2]);
00119 if (phy_rx_ == 0)
00120 return TCL_ERROR;
00121 return TCL_OK;
00122 } else if(strcmp(argv[1], "setmac") == 0) {
00123 mac_ = (SatMac*) TclObject::lookup(argv[2]);
00124 if (mac_ == 0)
00125 return TCL_ERROR;
00126 return TCL_OK;
00127 } else if(strcmp(argv[1], "setqueue") == 0) {
00128 queue_ = (Queue*) TclObject::lookup(argv[2]);
00129 if (queue_ == 0)
00130 return TCL_ERROR;
00131 return TCL_OK;
00132 } else if(strcmp(argv[1], "seterrmodel") == 0) {
00133 errmodel_ = (ErrorModel*) TclObject::lookup(argv[2]);
00134 if (errmodel_ == 0)
00135 return TCL_ERROR;
00136 return TCL_OK;
00137 }
00138 }
00139 return (LinkHead::command(argc, argv));
00140 }
|
Here is the call graph for this function:

|
||||||||||||
|
Definition at line 102 of file object.cc. References NsObject::debug_.
00103 {
00104 if (!debug_)
00105 return;
00106 va_list ap;
00107 va_start(ap, fmt);
00108 vprintf(fmt, ap);
00109 }
|
|
||||||||||||||||
|
Reimplemented in BayFullTcpAgent, Agent, MPLSAddressClassifier, LDPAgent, FullTcpAgent, SackFullTcpAgent, RFC793eduTcpAgent, TcpSink, TcpAgent, and VegasTcpAgent. Definition at line 63 of file object.cc. References NsObject::debug_. Referenced by MPLSAddressClassifier::delay_bind_dispatch(), and Agent::delay_bind_dispatch().
00064 {
00065 if (delay_bind_bool(varName, localName, "debug_", &debug_, tracer))
00066 return TCL_OK;
00067 return TclObject::delay_bind_dispatch(varName, localName, tracer);
00068 }
|
|
|
Reimplemented in BayFullTcpAgent, Agent, MPLSAddressClassifier, LDPAgent, FullTcpAgent, SackFullTcpAgent, RFC793eduTcpAgent, TcpSink, TcpAgent, and VegasTcpAgent. Definition at line 57 of file object.cc. Referenced by MPLSAddressClassifier::delay_bind_init_all(), and Agent::delay_bind_init_all().
00058 {
00059 delay_bind_init_one("debug_");
00060 }
|
|
||||||||||||
|
Definition at line 114 of file connector.cc. References Connector::drop_, Packet::free(), and NsObject::recv().
00115 {
00116 if (drop_ != 0)
00117 drop_->recv(p, s);
00118 else
00119 Packet::free(p);
00120 }
|
Here is the call graph for this function:

|
Here is the call graph for this function:

|
|
Definition at line 208 of file satlink.h. References errmodel_.
00208 { return errmodel_; }
|
|
|
Implements Handler. Reimplemented in LinkDelay, LL, AckRecons, and Snoop. Definition at line 91 of file object.cc. References NsObject::recv().
|
Here is the call graph for this function:

|
|
Definition at line 91 of file node.h. References LIST_INSERT_HEAD. Referenced by Node::command().
00091 {
00092 LIST_INSERT_HEAD(head, this, link_entry_);
00093 }
|
|
|
Definition at line 61 of file object.h. References NsObject::debug_.
00061 { return debug_; }
|
|
|
Definition at line 60 of file node.cc. References int32_t, NetworkInterface::intf_label(), and LinkHead::net_if_. Referenced by Node::intf_to_target().
00061 {
00062 if (net_if_)
00063 return net_if_->intf_label();
00064 printf("Configuration error: Network Interface missing\n");
00065 exit(1);
00066 // Make msvc happy
00067 return 0;
00068 }
|
Here is the call graph for this function:

|
|
|
|
|
Definition at line 205 of file satlink.h. References mac_.
00205 { return mac_; }
|
|
|
Definition at line 94 of file node.h. Referenced by SatRouteObject::compute_topology(), SatNode::dumpSats(), LinkHandoffMgr::get_peer_next_linkhead(), SatLinkHandoffMgr::handoff(), TermLinkHandoffMgr::handoff(), and Node::intf_to_target().
00094 { return link_entry_.le_next; }
|
|
|
Reimplemented from LinkHead. Definition at line 210 of file satlink.h. References LinkHead::node_. Referenced by LinkHandoffMgr::get_peer_linkhead(), and SatLinkHandoffMgr::handoff().
|
|
|
Definition at line 204 of file satlink.h. References phy_rx_. Referenced by LinkHandoffMgr::get_peer_next_linkhead(), SatLinkHandoffMgr::handoff(), and TermLinkHandoffMgr::handoff().
00204 { return phy_rx_; }
|
|
|
Definition at line 203 of file satlink.h. References phy_tx_. Referenced by SatRouteObject::compute_topology(), SatChannel::find_peer_mac_addr(), LinkHandoffMgr::get_peer(), LinkHandoffMgr::get_peer_linkhead(), LinkHandoffMgr::get_peer_next_linkhead(), SatLinkHandoffMgr::handoff(), and TermLinkHandoffMgr::handoff().
00203 { return phy_tx_; }
|
|
|
Definition at line 207 of file satlink.h. References queue_. Referenced by SatRouteObject::insert_link().
00207 { return queue_; }
|
|
||||||||||||
|
Reimplemented in CMUTrace. Definition at line 96 of file object.cc. References Packet::free().
00097 {
00098 Packet::free(p);
00099 }
|
Here is the call graph for this function:

|
||||||||||||
Here is the call graph for this function:

|
|
Reimplemented in Agent, and Trace. Definition at line 56 of file object.h. Referenced by Trace::recvOnly().
00056 {};
|
|
|
Reimplemented in BayFullTcpAgent, HashClassifier, IvsSource, dsREDQueue, DiffusionRate, SinkAgent, DiffusionAgent, FloodingAgent, OmniMcastAgent, LinkDelay, CBQueue, DropTail, ErrorModel, PIQueue, Queue< T >, RedPDQueue, REDQueue, REMQueue, RIOQueue, Snoop, FackTcpAgent, FullTcpAgent, SackFullTcpAgent, RFC793eduTcpAgent, Sack1TcpAgent, TcpSink, DelAckSink, TcpAgent, VegasTcpAgent, toraAgent, and Queue< T >. Definition at line 70 of file object.cc. Referenced by NsObject::command().
00071 {
00072 }
|
|
|
Definition at line 206 of file satlink.h. References satll_.
00206 { return satll_; }
|
|
||||||||||||
|
Reimplemented in Agent, and LinkDelay. Definition at line 54 of file connector.h. References NsObject::recv(), and Connector::target_. Referenced by SessionTTLChecker::recv(), TTLChecker::recv(), DequeTrace::recv(), Trace::recv(), TraceIpMac::recv(), TraceIp::recv(), SatDequeTrace::recv(), SALink::recv(), SnoopQueueEDrop::recv(), SnoopQueueTagger::recv(), SnoopQueueDrop::recv(), SnoopQueueOut::recv(), SnoopQueueIn::recv(), PktCounter::recv(), NetworkInterface::recv(), MeasureMod::recv(), Filter::recv(), Connector::recv(), CMUTrace::recv(), CBQClass::recv(), and AddSR::recv().
|
Here is the call graph for this function:

|
|
Definition at line 48 of file connector.h. References Connector::target_. Referenced by JoBS::assignRateDropsADC(), FQ::deque(), QSAgent::recv(), and MIPMHAgent::reg().
00048 { return target_; }
|
|
|
Definition at line 86 of file node.h. References LinkHead::type_. Referenced by SatRouteObject::compute_topology(), SatNode::dumpSats(), SatChannel::find_peer_mac_addr(), LinkHandoffMgr::get_peer_next_linkhead(), SatLinkHandoffMgr::handoff(), and TermLinkHandoffMgr::handoff().
00086 { return type_; }
|
|
|
Reimplemented in FECModel, FloodAgent, and LandmarkAgent. Definition at line 66 of file object.h. Referenced by REDQueue::command(), RedPDQueue::command(), PushbackQueue::command(), NsObject::debug(), NsObject::delay_bind_dispatch(), RedPDQueue::enque(), PushbackQueue::enque(), NsObject::isdebug(), NsObject::NsObject(), TfrcAgent::recv(), PushbackQueue::reportDrop(), and REDQueue::reset(). |
|
|
Definition at line 57 of file connector.h. Referenced by Connector::command(), Connector::drop(), and ErrorModel::recv(). |
|
|
Definition at line 219 of file satlink.h. Referenced by command(), and errmodel(). |
|
|
Definition at line 209 of file satlink.h. Referenced by SatRouteObject::compute_topology(), SatNode::dumpSats(), SatLinkHandoffMgr::handoff(), and TermLinkHandoffMgr::handoff(). |
|
|
|
|
|
Definition at line 98 of file node.h. Referenced by LinkHead::command(), and LinkHead::label(). |
|
|
Definition at line 99 of file node.h. Referenced by LinkHead::command(), node(), and LinkHead::node(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 100 of file node.h. Referenced by command(), and LinkHead::type(). |
1.3.3