1. A flow-based network switching system, comprising: a memory having a flow table that includes a plurality of flow match rules; a packet processor coupled to the memory, wherein the packet processor includes: a user-programmable flow-based rule storage that includes a plurality of flow-based rules; a flow-based handler and session manager that is configured to retrieve transport layer metadata that includes a first transport protocol from a first packet, determine that at least one of the plurality of flow match rules from the flow table is associated with the first transport protocol in the transport layer metadata from the first packet, determine that a first flow session is associated with the first packet, and retrieve at least one of the plurality of flow-based rules from the programmable flow-based rule storage using the first transport protocol in the transport layer metadata from the first packet; and a flow-based rule processing engine that is configured to apply the at least one flow-based rule to the first packet.