1. A method, in a data processing system, for differentiating between different traffic types comprising: generating a first mapping data structure that, for each single-root virtual hierarchy in a plurality of single-root virtual hierarchies of the data processing system, associates each traffic class in a plurality of traffic classes with a corresponding priority group in a plurality of priority groups and a corresponding virtual channel in a plurality of virtual channels; generating a second mapping data structure that maps each virtual channel in the plurality of virtual channels to a corresponding virtual link in a plurality of virtual links of the data processing system; and routing traffic of a particular priority group from a single-root virtual hierarchy of the plurality of single root virtual hierarchies to a particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure, wherein each combination of a single-root virtual hierarchy of the plurality of single-root virtual hierarchy and virtual channel is mapped to a different virtual link in the plurality of virtual links, wherein routing traffic from the single-root virtual hierarchy to the particular virtual link in the plurality of the virtual links based on the first mapping data structure and second mapping data structure comprises: determining a traffic class associated with the traffic; performing a lookup operation in the first mapping data structure to identify a virtual channel corresponding to the particular priority group of the traffic, the priority group of the traffic corresponding to a combination of the single-root virtual hierarchy and the traffic class of the traffic; performing a lookup operation in the second mapping data structure to identify a virtual link associated with the virtual channel and single-root virtual hierarchy of the traffic; and routing the traffic to the identified virtual link.