Index: /branches/reconfiguration/modules/vci_local_crossbar/caba/source/src/vci_local_crossbar.cpp
===================================================================
--- /branches/reconfiguration/modules/vci_local_crossbar/caba/source/src/vci_local_crossbar.cpp	(revision 932)
+++ /branches/reconfiguration/modules/vci_local_crossbar/caba/source/src/vci_local_crossbar.cpp	(revision 933)
@@ -241,13 +241,22 @@
                         pkt_t tmp;
                         tmp.readFrom(*input_port[in]);
-                        if ( (tmp.is_broadcast() and 
-                              r_bc_state[in].read() and 
-                              (r_bc_count[in].read() == out))   or   // broadcast request
-                             (not tmp.is_broadcast() and 
-                              not is_local( tmp ) and 
-                              (out == m_out_size-1))            or   // to global network
-                             (not tmp.is_broadcast() and
-                              is_local( tmp ) and
-                              (out == route( tmp )) ) )              // to local component
+
+                        // broadcast request
+                        bool bc_req = tmp.is_broadcast() and
+                                      r_bc_state[in].read() and (r_bc_count[in].read() == out);
+
+                        // to global request
+                        bool gl_req = not tmp.is_broadcast() and (out == m_out_size-1) and
+                                      not is_local( tmp ) and (in != m_in_size-1);
+
+                        // to local request
+                        bool lc_req = not tmp.is_broadcast() and (out == route( tmp )) and
+                                      is_local( tmp );
+
+                        // to migrated segment request (to local)
+                        bool mg_req = not tmp.is_broadcast() and (out == route( tmp )) and
+                                      not is_local( tmp ) and (in == m_in_size-1);
+
+                        if ( bc_req or gl_req or lc_req or mg_req )
                         {
                             r_allocated[out] = true;
