Patent ID: 7840703

Claim:
A method, in a data processing system, of dynamically routing data through the data processing system, the method comprising: receiving data at a first processor within a set of processors that is to be transmitted to a destination processor, wherein the data includes address information; performing a lookup operation in one or more routing table data structures based on the address information to identify one or more candidate paths through which the data is routed to the destination processor; determining if any of the one or more candidate paths are not able to be used to route the data to the destination processor based on a setting of at least one identifier in at least one field of one or more entries of the one or more routing table data structures corresponding to the identified one or more candidate paths, wherein the at least one identifier is at least one of a no-direct identifier or a no-indirect identifier; selecting a path from the identified one or more candidate paths for routing of the data to the destination processor based on a setting of the at least one identifier in the one or more entries corresponding to the one or more candidate paths and whether a candidate path corresponding to an entry is to be used for direct or indirect routing of the data to the destination processor; and transmitting the data from the first processor along the selected path toward the destination processor, wherein if a candidate path is to be used for direct routing of data to the destination processor, and a no-direct identifier in an entry of the one or more routing table data structures corresponding to the candidate path is set to indicate that direct routing of data across the candidate path is prohibited, then the candidate path is not considered for selection as the selected path to be used to transmit the data from the first processor to the destination processor.