There are certain principles that apply when considering where to store flow metadata.
Metadata storage principles
- Data should always be stored as close as possible to where it is needed.
- Flow records in the SmartNIC contain only the information needed by the SmartNIC Fast Path.
- Flow records in the application contain any information needed by the application to
ensure:
- Lowest PCI bandwidth, because there is less metadata per packet
- Highest scalability, because memory is less limited in the host than in the SmartNIC
- Highest flexibility, because the application can update flow records without a SmartNIC update
- Highest performance, because the CPUs are being used for tasks they do best
- The SmartNIC can provide a flow ID/PTR for every packet and flow record that is delivered to the application, ensuring the best acceleration for an application.