Technically feasible? | rx packet distribution -> duplications | E810/E823
Dominik
dokibyte at gmail.com
Thu Feb 6 16:11:11 CET 2025
Hello everybody
I am currently working on a project to implement the following use
cases with high performance.
The main workload should be offloaded to the hardware to achieve
optimal performance.
## Environment
Kernel: 6.8.12
DPDK: 24.11.1
NIC: Intel 810 / Intel E823
## Use Case / Requirements
- Ingress packet distribution to different software endpoints (queues)
- Utilization of hardware timestamp offloading
- A single packet in multiple queues
- Implementation of filters in hardware
### Examples:
1)
RX -> Queue-01 [TCP only]
-> Queue-02 [UDP only]
2)
RX -> Queue-01 [all packets]
-> Queue-02 [TCP only]
-> Queue-03 [src.mac == xx.xx…]
2)
RX -> Queue-01 [all packets]
-> Queue-02 [TCP only]
-> Queue-03 [src.mac == xx.xx…]
-> Queue-04 [vlanid == ##]
3)
RX -> Queue-01 [all packets]
-> Queue-02 [TCP && vlanid == ##]
## Ideas / Notes/ Issues
- Filtering by desired parameters with rte-flow tested
- Using the desired queue is also functional
- Many combinations have been tested successfully
- A packet in multiple queues
- Issue:
- DPDK does not allow multiple destinations in rte-flow
- Thus, no throughput, packet duplication
- Idea:
- HW port mirroring to a virtual port and using this port for
further operations
- Code in the ice driver partially prepared ?!
## Questions
1) Is this approach feasible with E810/E823 hardware (regardless of
current software implementations)?
2) If yes, would port mirroring be a suitable method, or is there a
better approach for this use case?
2a) With the current implementation
2b) With potential adjustments/extensions
3) In the case of port mirroring:
3a) Is the hardware timestamp preserved?
3b) Can additional filters be applied on the VF?
Best regards,
Dominik
More information about the users
mailing list