User Manual, Developers Guide and API Documentation

ip::Routing Class Reference

Implementation of IPv4 routing functionality. More...

#include <Routing.hpp>

Inheritance diagram for ip::Routing:

Inheritance graph
[legend]
Collaboration diagram for ip::Routing:

Collaboration graph
[legend]

List of all members.

Public Member Functions

void addRoute (const wns::service::nl::Address &netAddress, const wns::service::nl::Address &gateway, const wns::service::nl::Address &netMask, std::string dllName)
void onFUNCreated ()
 Find my friends. This is currently the UpperConvergence to get the AddressingCommand that is used for routing.
void printRoutingTable (const wns::service::nl::Address &highlight=Routing::defaultGateway) const
void processIncoming (const wns::ldk::CompoundPtr &)
 Process compounds on uplink.
void processOutgoing (const wns::ldk::CompoundPtr &)
 Process compounds on downlink.
 Routing (wns::ldk::fun::FUN *fun, const wns::pyconfig::View &_pyco)
 Routing functionality takes the component and a pyconfig::View for initialization.
void setDLLs (container::DataLinkContainer dlc)
virtual ~Routing ()
 Component's destructor.

Protected Member Functions

wns::pyconfig::View getConfig ()
 Returns the configuration for this component.

Private Types

typedef wns::service::nl::Address Address
typedef
wns::service::dll::UnicastDataTransmission 
DLLDataTransmission

Private Member Functions

bool forwardViaRoutingTable (const wns::ldk::CompoundPtr &c)
 Try to forward pdu via routing table.

Private Attributes

container::DataLinkContainer dlls
wns::ldk::CommandReaderInterfaceipHeaderReader
wns::logger::Logger log
 The logger for this component.
wns::pyconfig::View pyco
 Configuration for this component.
container::RoutingTable rt
 Routing table. Packets with destination address in unknown ip ranges are sent to next hops due to information preconfigured in routing table.

Static Private Attributes

static wns::service::nl::Address defaultGateway


Detailed Description

Configuration Class:
ip.Component.Routing

Definition at line 54 of file Routing.hpp.


Member Typedef Documentation

Definition at line 62 of file Routing.hpp.

Definition at line 63 of file Routing.hpp.


Constructor & Destructor Documentation

ip::Routing::Routing ( wns::ldk::fun::FUN fun,
const wns::pyconfig::View _pyco 
)

Parameters:
[in] _component The corresponding component
[in] _pyco Configuration for this component.

virtual ip::Routing::~Routing (  )  [virtual]


Member Function Documentation

void ip::Routing::addRoute ( const wns::service::nl::Address netAddress,
const wns::service::nl::Address gateway,
const wns::service::nl::Address netMask,
std::string  dllName 
)

bool ip::Routing::forwardViaRoutingTable ( const wns::ldk::CompoundPtr c  )  [private]

Returns:
Returns true if pdu could be forwarded, false otherwise.

wns::pyconfig::View ip::Routing::getConfig (  )  [protected]

void ip::Routing::onFUNCreated (  )  [virtual]

Reimplemented from wns::ldk::FunctionalUnit.

void ip::Routing::printRoutingTable ( const wns::service::nl::Address highlight = Routing::defaultGateway  )  const

void ip::Routing::processIncoming ( const wns::ldk::CompoundPtr compound  )  [virtual]

Override this method to handle incoming compounds.

Implements wns::ldk::ProcessorInterface.

void ip::Routing::processOutgoing ( const wns::ldk::CompoundPtr  )  [virtual]

Override this method to handle outgoing compounds.

Implements wns::ldk::ProcessorInterface.

void ip::Routing::setDLLs ( container::DataLinkContainer  dlc  ) 


Member Data Documentation

Definition at line 105 of file Routing.hpp.

Definition at line 133 of file Routing.hpp.

Definition at line 107 of file Routing.hpp.

Definition at line 131 of file Routing.hpp.

Definition at line 126 of file Routing.hpp.

Definition at line 121 of file Routing.hpp.


The documentation for this class was generated from the following file:

Generated on Sat May 26 03:32:31 2012 for openWNS by  doxygen 1.5.5