The invention provides an FPGA (
Field Programmable Gate Array)-based data plane state programmable
system and a switch. The FPGA-based data plane state programmable
system comprises a multi-stage matching action table
assembly line, the
assembly line comprises a plurality of ordered matching action table modules which are used for realizing different data plane
processing and forwarding algorithms according to read configuration instructions in combination with a flow state matching table and a condition
branch matching table; the matching action table module comprises a key value extraction module used for forming a to-be-matched key value; the
stream state query module is used for obtaining
stream address information through matching of the key value to be matched and reading corresponding
stream state information; the packet header vector transmitting
queue is used for dynamically scheduling packet header vector out-of-order transmission according to a flow state address and a dependency relationship by taking the flow state address in the flow state information as an identifier; the action module is used for determining a data plane
processing and forwarding
algorithm for
processing according to the configuration instruction and updating flow state information and table state information; and the packet header vector reordering cache module is used for storing the packet header vectors which are executed completely and submitting the out-of-order packet header vectors in sequence.