All packets ingressing the uplink interfaces (Eth 1/1 & Eth 1/2) are subjected to flow table lookup based on their 5-tuples. If there is a match in the flow table:
- The matching flow entry provides:
- session_id
- Used for accounting session statistics.
- policer_id
- Used for bandwidth-based policing of this flow.Note: The session_id is also used for policing.
- nexthop_id
- Used for deriving the port info on which the packet should egress, else the packet is handed to the dp_app so that flows (iflow and / or rflow) and policer entries can be programmed for handling further packets belonging to this session in P4 itself.
Note: In case of collision, the flow_ohash table is used. - 16 million entries are carved for the flow table
- 4 million entries are carved for the flow_ohash table
The above allocation is customizable based on the design with available resources. Details of flow calculations and table occupancy are explained in the Developer Guide.