config: add port directions and per-router delay in topology.
[gem5.git] / src / mem / ruby / network / Topology.hh
index 7e0b12c63253cb8acb069ea2bf8d6d81471ad3d3..1a5f4b19d41825681010b62866bf78852edc48bb 100644 (file)
@@ -52,11 +52,14 @@ class NetDest;
 class Network;
 
 typedef std::vector<std::vector<int> > Matrix;
+typedef std::string PortDirection;
 
 struct LinkEntry
 {
     BasicLink *link;
     LinkDirection direction;
+    PortDirection src_outport_dirn;
+    PortDirection dst_inport_dirn;
 };
 
 typedef std::map<std::pair<SwitchID, SwitchID>, LinkEntry> LinkMap;
@@ -72,7 +75,9 @@ class Topology
     void print(std::ostream& out) const { out << "[Topology]"; }
 
   private:
-    void addLink(SwitchID src, SwitchID dest, BasicLink* link);
+    void addLink(SwitchID src, SwitchID dest, BasicLink* link,
+                 PortDirection src_outport_dirn = "",
+                 PortDirection dest_inport_dirn = "");
     void makeLink(Network *net, SwitchID src, SwitchID dest,
                   const NetDest& routing_table_entry);