SST/macro
Classes | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
sstmac::hw::sdn_router Class Reference

The sdn_router class Router encapsulating the special routing computations that must occur on a fat tree topology. More...

#include <sdn_router.h>

Inheritance diagram for sstmac::hw::sdn_router:
Inheritance graph
Collaboration diagram for sstmac::hw::sdn_router:
Collaboration graph

Classes

struct  Match_Fields
 

Public Types

typedef void * Action
 
typedef std::pair< Match_Fields, std::vector< Action > > Entry
 
typedef std::vector< EntrySDN_Table
 

Public Member Functions

virtual ~sdn_router ()
 
 sdn_router ()
 
virtual std::string to_string () const
 
void add_entry (const int table_id, const Match_Fields &match, const std::vector< Action > &actions)
 
void add_entry (const int table_id, const Entry &entry)
 
virtual void route (packet *pkt)
 
- Public Member Functions inherited from sstmac::hw::structured_router
virtual ~structured_router ()
 
virtual void set_topology (topology *top)
 set_topology Set the topology to be used for route computations. More...
 
virtual void set_switch (network_switch *sw)
 set_switch Set the parent switch using this router to perform route computations More...
 
void minimal_route_to_node (node_id node_addr, structured_routable::path &path)
 
void minimal_routes_to_node (node_id node_addr, structured_routable::path &current_path, structured_routable::path_set &paths)
 minimal_routes_to_node Special version of routing function that computes all possible minimal paths. More...
 
virtual void minimal_route_to_switch (switch_id sw_addr, structured_routable::path &path)
 
virtual void productive_paths_to_switch (switch_id dst, structured_routable::path_set &paths)
 

Protected Member Functions

 sdn_router (routing::algorithm_t algo)
 
- Protected Member Functions inherited from sstmac::hw::structured_router
 structured_router (routing::algorithm_t algo)
 

Private Member Functions

Match_Fieldsget_packet_metadata (packet *pkt) const
 

Private Attributes

std::vector< SDN_Tabletables
 

Additional Inherited Members

- Protected Attributes inherited from sstmac::hw::structured_router
structured_topologyregtop_
 

Detailed Description

The sdn_router class Router encapsulating the special routing computations that must occur on a fat tree topology.

Definition at line 28 of file sdn_router.h.

Member Typedef Documentation

Definition at line 56 of file sdn_router.h.

typedef std::pair<Match_Fields, std::vector <Action> > sstmac::hw::sdn_router::Entry

Definition at line 57 of file sdn_router.h.

Definition at line 58 of file sdn_router.h.

Constructor & Destructor Documentation

virtual sstmac::hw::sdn_router::~sdn_router ( )
virtual
sstmac::hw::sdn_router::sdn_router ( )
inline

Definition at line 34 of file sdn_router.h.

sstmac::hw::sdn_router::sdn_router ( routing::algorithm_t  algo)
inlineprotected

Definition at line 82 of file sdn_router.h.

Member Function Documentation

void sstmac::hw::sdn_router::add_entry ( const int  table_id,
const Match_Fields match,
const std::vector< Action > &  actions 
)
void sstmac::hw::sdn_router::add_entry ( const int  table_id,
const Entry entry 
)
Match_Fields* sstmac::hw::sdn_router::get_packet_metadata ( packet pkt) const
private
virtual void sstmac::hw::sdn_router::route ( packet pkt)
virtual
virtual std::string sstmac::hw::sdn_router::to_string ( ) const
inlinevirtual

Definition at line 39 of file sdn_router.h.

Member Data Documentation

std::vector<SDN_Table> sstmac::hw::sdn_router::tables
private

Definition at line 86 of file sdn_router.h.


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