diff --git a/configs/ruby/Ruby.py b/configs/ruby/Ruby.py
index ffa5a02..ffe9610 100644
--- a/configs/ruby/Ruby.py
+++ b/configs/ruby/Ruby.py
@@ -157,7 +157,7 @@ def create_system(options, full_system, system, piobus = None, dma_ports = [],
     # Create the network object
     (network, IntLinkClass, ExtLinkClass, RouterClass, InterfaceClass) = \
         Network.create_network(options, ruby)
-    ruby.network = network
+    ruby.network = network # This is where network is assigned.
 
     protocol = buildEnv['PROTOCOL']
     exec("from . import %s" % protocol)
@@ -202,6 +202,11 @@ def create_system(options, full_system, system, piobus = None, dma_ports = [],
             if buildEnv['TARGET_ISA'] == "x86":
                 cpu_seq.pio_slave_port = piobus.master
 
+    # Assign the network to sequencers here.
+    for cpu_seq in cpu_sequencers:
+        cpu_seq.network = network
+    ########################################
+
     ruby.number_of_virtual_networks = ruby.network.number_of_virtual_networks
     ruby._cpu_ports = cpu_sequencers
     ruby.num_of_sequencers = len(cpu_sequencers)
diff --git a/src/mem/ruby/system/Sequencer.cc b/src/mem/ruby/system/Sequencer.cc
index d6830d9..656b5af 100644
--- a/src/mem/ruby/system/Sequencer.cc
+++ b/src/mem/ruby/system/Sequencer.cc
@@ -42,6 +42,8 @@
 #include "mem/ruby/profiler/Profiler.hh"
 #include "mem/ruby/slicc_interface/RubyRequest.hh"
 #include "mem/ruby/system/RubySystem.hh"
+#include "mem/ruby/network/Network.hh"
+#include "mem/ruby/network/garnet2.0/GarnetNetwork.hh"
 #include "sim/system.hh"
 
 using namespace std;
@@ -74,6 +76,7 @@ Sequencer::Sequencer(const Params *p)
     assert(m_inst_cache_hit_latency > 0);
 
     m_runningGarnetStandalone = p->garnet_standalone;
+    m_garnet_network = p->network;
 }
 
 Sequencer::~Sequencer()
@@ -113,6 +116,7 @@ Sequencer::wakeup()
         if (current_time - request->issue_time < m_deadlock_threshold)
             continue;
 
+        m_garnet_network->print_topology();
         panic("Possible Deadlock detected. Aborting!\n"
               "version: %d request.paddr: 0x%x m_writeRequestTable: %d "
               "current time: %u issue_time: %d difference: %d\n", m_version,
diff --git a/src/mem/ruby/system/Sequencer.hh b/src/mem/ruby/system/Sequencer.hh
index 4a5b9ea..731ac2c 100644
--- a/src/mem/ruby/system/Sequencer.hh
+++ b/src/mem/ruby/system/Sequencer.hh
@@ -38,6 +38,7 @@
 #include "mem/ruby/common/Address.hh"
 #include "mem/ruby/structures/CacheMemory.hh"
 #include "mem/ruby/system/RubyPort.hh"
+//#include "mem/ruby/network/garnet2.0/GarnetNetwork.hh"
 #include "params/RubySequencer.hh"
 
 struct SequencerRequest
@@ -148,6 +149,9 @@ class Sequencer : public RubyPort
     Stats::Counter getIncompleteTimes(const MachineType t) const
     { return m_IncompleteTimes[t]; }
 
+
+  GarnetNetwork* m_garnet_network;
+
   private:
     void issueRequest(PacketPtr pkt, RubyRequestType secondary_type,
                       RubyRequestType primary_type);
diff --git a/src/mem/ruby/system/Sequencer.py b/src/mem/ruby/system/Sequencer.py
index 3546043..85f45c9 100644
--- a/src/mem/ruby/system/Sequencer.py
+++ b/src/mem/ruby/system/Sequencer.py
@@ -30,6 +30,7 @@
 from m5.params import *
 from m5.proxy import *
 from m5.objects.MemObject import MemObject
+from m5.objects.GarnetNetwork import GarnetNetwork
 
 class RubyPort(MemObject):
    type = 'RubyPort'
@@ -77,6 +78,11 @@ class RubySequencer(RubyPort):
    # id used by protocols that support multiple sequencers per controller
    # 99 is the dummy default value
    coreid = Param.Int(99, "CorePair core id")
+   # network = param.Network
+   # param.<name of class>
+   # param.GarnetNetwork
+   network = Param.GarnetNetwork(NULL, "default value of the network")
+
 
 class DMASequencer(RubyPort):
    type = 'DMASequencer'
