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

Interface Class Reference

#include <if.h>

Inheritance diagram for Interface:

InterfaceBasic NotifyHandler Protocol Handler Object InterfaceGhost InterfaceReal InterfaceEthernet InterfaceWireless InterfaceLink16 List of all members.

Public Member Functions

 Interface ()
 Interface ()
 Interface (const L2Proto &l2=L2Proto802_3(), IPAddr_t i=((IPAddr_t) 0x0), Mask_t m=((Mask_t) 0xffffffffl), MACAddr mac=MACAddr::NONE, bool bootstrap=false)
 Interface (const Interface &)
virtual ~Interface ()
virtual bool Send (Packet *, IPAddr_t, int)=0
virtual bool Send (Packet *, const MACAddr &, int)=0
virtual bool Send (Packet *, Word_t)=0
virtual bool Xmit (Packet *, IPAddr_t, int)
virtual void Handle (Event *, Time_t)
virtual void Notify (void *)
virtual void AddARPEntry (IPAddr_t, MACAddr)
void SetIPAddr (IPAddr_t i)
IPAddr GetIPAddr () const
Mask_t GetIPMask () const
void SetMACAddr (const MACAddr &m)
MACAddr GetMACAddr () const
virtual Count_t PeerCount () const =0
virtual IPAddr PeerIP (int) const =0
virtual IPAddr NodePeerIP (Node *) const =0
virtual bool NodeIsPeer (Node *) const =0
virtual Count_t NodePeerIndex (Node *) const =0
NodeGetNode () const
virtual QueueGetQueue () const =0
virtual void SetQueue (const Queue &q)=0
virtual bool QueueDetailed () const =0
virtual L2ProtoGetL2Proto () const =0
virtual void SetL2Proto (const L2Proto &)=0
virtual void AddNotify (NotifyHandler *, void *)=0
virtual void CancelNotify (NotifyHandler *)=0
virtual MACAddr IPToMac (IPAddr_t) const =0
virtual Count_t NeighborCount (Node *) const =0
virtual void Neighbors (NodeWeightVec_t &, bool=false)=0
virtual IPAddr_t DefaultPeer ()=0
virtual bool IsLocalIP (IPAddr_t) const =0
virtual Mult_t TrafficIntensity () const =0
virtual void AddRemoteIP (IPAddr_t, Mask_t, Count_t=0)=0
virtual void HandleLLCSNAP (Packet *, bool)=0
virtual bool IsWireless () const =0
virtual bool IsEthernet () const
virtual bool IsReal () const =0
virtual void RegisterRxEvent (LinkEvent *)
virtual void AddRxEvent (LinkEvent *)
virtual void UseWormContainment (bool b)
virtual bool UseWormContainment ()
virtual void SetWormContainment (WormContainment *)=0
virtual WormContainmentGetWormContainment ()=0
virtual void UseARP (bool)=0
bool FirstBitRx ()
void FirstBitRx (bool is)

Static Public Member Functions

void DefaultUseARP (bool b=true)
void Add (Interface *, MACAddr_t)
InterfaceGetByMac (MACAddr_t)

Public Attributes

LinkpLink
L2ProtopProto
IPAddr_t ip
bool bootstrap

Static Public Attributes

bool recordMacAddresses = false
std::vector< Interface * > macIfVec
bool defaultUseARP = false

Protected Attributes

IPAddr ip
Mask_t mask
MACAddr macAddr
bool down
bool usewormcontainment
bool firstBitRx

Constructor & Destructor Documentation

Interface::Interface  )  [inline]
 

Interface::Interface  ) 
 

Interface::Interface const L2Proto l2 = L2Proto802_3(),
IPAddr_t  i = ((IPAddr_t) 0x0),
Mask_t  m = ((Mask_t) 0xffffffffl),
MACAddr  mac = MACAddr::NONE,
bool  bootstrap = false
 

Interface::Interface const Interface  ) 
 

Interface::~Interface  )  [virtual]
 


Member Function Documentation

void Interface::Add Interface ,
MACAddr_t 
[static]
 

virtual void Interface::AddARPEntry IPAddr_t  ,
MACAddr 
[inline, virtual]
 

virtual void Interface::AddNotify NotifyHandler ,
void * 
[pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual void Interface::AddRemoteIP IPAddr_t  ,
Mask_t  ,
Count_t  = 0
[pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual void Interface::AddRxEvent LinkEvent  )  [inline, virtual]
 

Reimplemented in InterfaceEthernet.

virtual void Interface::CancelNotify NotifyHandler  )  [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual IPAddr_t Interface::DefaultPeer  )  [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

void Interface::DefaultUseARP bool  b = true  )  [static]
 

void Interface::FirstBitRx bool  is  )  [inline]
 

bool Interface::FirstBitRx  )  [inline]
 

Interface * Interface::GetByMac MACAddr_t   )  [static]
 

IPAddr Interface::GetIPAddr  )  const [inline]
 

Mask_t Interface::GetIPMask  )  const [inline]
 

virtual L2Proto* Interface::GetL2Proto  )  const [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

MACAddr Interface::GetMACAddr  )  const [inline]
 

Node* Interface::GetNode  )  const [inline]
 

Reimplemented from InterfaceBasic.

virtual Queue* Interface::GetQueue  )  const [pure virtual]
 

Implements InterfaceBasic.

Implemented in InterfaceGhost, and InterfaceReal.

virtual WormContainment* Interface::GetWormContainment  )  [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

void Interface::Handle Event ,
Time_t 
[virtual]
 

Implements Handler.

Reimplemented in InterfaceEthernet, InterfaceGhost, InterfaceLink16, and InterfaceReal.

virtual void Interface::HandleLLCSNAP Packet ,
bool 
[pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual MACAddr Interface::IPToMac IPAddr_t   )  const [pure virtual]
 

Implemented in InterfaceGhost, InterfaceReal, and InterfaceWireless.

virtual bool Interface::IsEthernet  )  const [inline, virtual]
 

Reimplemented in InterfaceEthernet, InterfaceGhost, and InterfaceReal.

virtual bool Interface::IsLocalIP IPAddr_t   )  const [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual bool Interface::IsReal  )  const [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual bool Interface::IsWireless  )  const [pure virtual]
 

Implemented in InterfaceGhost, InterfaceReal, and InterfaceWireless.

virtual Count_t Interface::NeighborCount Node  )  const [pure virtual]
 

Implemented in InterfaceGhost, InterfaceReal, and InterfaceWireless.

virtual void Interface::Neighbors NodeWeightVec_t ,
bool  = false
[pure virtual]
 

Implements InterfaceBasic.

Implemented in InterfaceGhost, and InterfaceReal.

virtual bool Interface::NodeIsPeer Node  )  const [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual Count_t Interface::NodePeerIndex Node  )  const [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual IPAddr Interface::NodePeerIP Node  )  const [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

void Interface::Notify void *   )  [virtual]
 

Implements NotifyHandler.

Reimplemented in InterfaceEthernet, InterfaceGhost, InterfaceReal, and InterfaceWireless.

virtual Count_t Interface::PeerCount  )  const [pure virtual]
 

Implemented in InterfaceGhost, InterfaceReal, and InterfaceWireless.

virtual IPAddr Interface::PeerIP int   )  const [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual bool Interface::QueueDetailed  )  const [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual void Interface::RegisterRxEvent LinkEvent  )  [inline, virtual]
 

Reimplemented in InterfaceEthernet.

virtual bool Interface::Send Packet ,
Word_t 
[pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual bool Interface::Send Packet ,
const MACAddr ,
int 
[pure virtual]
 

Implemented in InterfaceEthernet, InterfaceGhost, and InterfaceReal.

virtual bool Interface::Send Packet ,
IPAddr_t  ,
int 
[pure virtual]
 

Implemented in InterfaceGhost, InterfaceLink16, and InterfaceReal.

void Interface::SetIPAddr IPAddr_t  i  )  [inline]
 

virtual void Interface::SetL2Proto const L2Proto  )  [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

void Interface::SetMACAddr const MACAddr m  ) 
 

virtual void Interface::SetQueue const Queue q  )  [pure virtual]
 

Implements InterfaceBasic.

Implemented in InterfaceGhost, and InterfaceReal.

virtual void Interface::SetWormContainment WormContainment  )  [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual Mult_t Interface::TrafficIntensity  )  const [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual void Interface::UseARP bool   )  [pure virtual]
 

Implemented in InterfaceGhost, and InterfaceReal.

virtual bool Interface::UseWormContainment  )  [inline, virtual]
 

virtual void Interface::UseWormContainment bool  b  )  [inline, virtual]
 

virtual bool Interface::Xmit Packet ,
IPAddr_t  ,
int 
[inline, virtual]
 

Reimplemented in InterfaceReal.


Member Data Documentation

bool Interface::bootstrap
 

Reimplemented in InterfaceWireless.

bool Interface::defaultUseARP = false [static]
 

bool Interface::down [protected]
 

Reimplemented from InterfaceBasic.

bool Interface::firstBitRx [protected]
 

IPAddr Interface::ip [protected]
 

IPAddr_t Interface::ip
 

MACAddr Interface::macAddr [protected]
 

vector< Interface * > Interface::macIfVec [static]
 

Mask_t Interface::mask [protected]
 

Link* Interface::pLink
 

Reimplemented from InterfaceBasic.

L2Proto* Interface::pProto
 

bool Interface::recordMacAddresses = false [static]
 

bool Interface::usewormcontainment [protected]
 


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