Performance in custom pipeline model

The performance of a custom pipeline model is based on factors such as table type, number of lookups, packet size, OpenFlow instruction type, and stream type.

Table Type

The following parameters impact the performance:
  • A miss is more expensive on a HASH versus a TCAM table type.

  • A hit is more expensive on a TCAM versus a HASH table type.

Number of lookups

The performance is reduced when a packet has to do more table lookups, before it egresses the pipeline.

Packet size

The packet size has a major impact on the performance. There is a limit on the number of concurrent packets the custom pipeline can service at a time. Thus, if the packet size is larger, the throughput in terms of bps is better.

Packets are dropped at the ingress, if the custom pipeline is busy servicing too many packets. You can check the RX discards on the ingress port to obtain such data.

OpenFlow instruction type

Flows with APPLY instruction yield low performance because of immediate action on the packet against the WRITE instruction, which accumulates all actions at the end of the pipeline.

Stream type

The traffic generated from the same source lowers the performance when compared to a more distributed stream.