Abstract: A network packet switching engine is described. The switching engine generates a priority to be associated with a packet of data. The switching engine receives a packet of data. Based on information in the packet (e.g., source address, destination address, tag priority, receive port) and other information (e.g., candidate priorities, a set of flags, and a priority table), the switching engine determines a priority for the packet.