Abstract:
An Island-Based Network Flow Processor (IB-NFP) receives packets of many flows, and classifies each packet as belonging to one of a plurality of ordering contexts. As packets of an ordering context flow through the IB-NFP they are distributed to a set of Worker Processors (WPs). Each packet is processed by one WP, but multiple WPs are typically operating on packets of the ordering context at the same time. The ordering system handles releasing packets from the WPs to set of Output Processors (OP) in the correct order, even though WPs may complete their processing in an out-of-order fashion. One OP is responsible for generating “transmit commands” for packets of the ordering context. This OP generates a transmit command in the correct format as required by the particular egress destination circuit through which the packet will exit the IB-NFP. This architecture reduces code space, and facilitates good usage of processing resources.