With the team we have been working for some time on updating the vnet flows and 
dpdk driver backend to support fast flow rules insertion/deletion from the 
datapath.
The end goal being two updates of SFDP:
- Upon reception of the first packet of a session, we create two flow rules 
(one for the forward flow, one for the reverse) that will be marking matching 
packet with the session id.
  - We then skip session lookup in software thanks to that
- Upon policy defined rules we also want to insert flow rules to directly 
forward traffic to an egress port without the packets being received in software
  -That requires adding support for hardware aging flows

A summary of some of the patches we have for now in gerrit:
- 45246: replace the hash table per vnet flow with a single hw interface index. 
A hash table lookup/set takes too many cycles. I tried also to replace it 
directly in the vnet flow by a vec of driver private data per hw_if_index but 
the cost of the allocation when an index does not exists it really high and 
kill performances. (I have the numbers and benchmarking code if you want to 
take a look).
- 45247: let the backend driver set/unset hw_if_index per flow: as it is use to 
determine if a flow is correctly installed the driver should be the owner of 
the field.
- 45248: optimize the vnet_flow_t structure to fit in less cacheline and have a 
pointer to generic pattern. Futher optimizations would be great. (with my 
benchmarking unittest I was able to increase by 33% the number of flows enabled)
- 45000: the flow templating and async API vnet flow infrastructure.
- 45578: buffer-like per-thread-cache to allow multiple workers to operate at 
the vnet flow level.
- 45098: implement the templating and async API for DPDK
- 45539: buffer-like per-thread-cache to allow multiple workers to operate at 
the dpdk flow level. flow_entries and flow_lookup_entries are be biggest 
blocker there.
- 45152: default jump rule to flow table 1 to avoid the cost of table 0 which hs
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#27015): https://lists.fd.io/g/vpp-dev/message/27015
Mute This Topic: https://lists.fd.io/mt/119226657/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/14379924/21656/631435203/xyzzy 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to