DPDK usage discussions
 help / color / mirror / Atom feed
From: Dominik <dokibyte@gmail.com>
To: users@dpdk.org
Subject: Technically feasible? | rx packet distribution -> duplications | E810/E823
Date: Thu, 6 Feb 2025 16:11:11 +0100	[thread overview]
Message-ID: <CAB2KjfOHhwd73t34Kt3Yqzsv8Qkpt70KEXE9y1erCm4q7GzkYQ@mail.gmail.com> (raw)

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

             reply	other threads:[~2025-02-10  7:55 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-06 15:11 Dominik [this message]
2025-02-21  9:16 ` Dominik Kies

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAB2KjfOHhwd73t34Kt3Yqzsv8Qkpt70KEXE9y1erCm4q7GzkYQ@mail.gmail.com \
    --to=dokibyte@gmail.com \
    --cc=users@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).