Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

conf: add dpdk configuration file #4902

Closed
wants to merge 1 commit into from
Closed

conf: add dpdk configuration file #4902

wants to merge 1 commit into from

Conversation

vipinpv85
Copy link

Based on the work https://github.com/vipinpv85/DPDK-Suricata_3.0,
leverage DPDK features to pool, preparse, re-assemble, and flatten
buffers to improve suricata worker thread processing.

Target is to allow, easy integration of features like DPDK port config,
Hardware flow offload, 3 tuple ACL rules for ipv4 and ipv6. With IDS
mode, the matched rule packets are sent to worker and non matched are
dropped by DPDK processing thread. With IPS mode, the packets that
match rules are sent to woker thread and non matched are bypassed to
copy interface.

Current patch adds initial configuration, for DPDK EAL, port setup,
ACL for IPv4 and IPv6 3 tuple.

Make sure these boxes are signed before submitting your Pull Request -- thank you.

Link to redmine ticket:

Describe changes:

PRScript output (if applicable):

Based on the work `https://github.com/vipinpv85/DPDK-Suricata_3.0`,
leverage DPDK features to pool, preparse, re-assemble, and flatten
buffers to improve suricata worker thread processing.

Target is to allow, easy integration of features like DPDK port config,
Hardware flow offload, 3 tuple ACL rules for ipv4 and ipv6. With IDS
mode, the matched rule packets are sent to worker and non matched are
dropped by DPDK processing thread. With IPS mode, the packets that
match rules are sent to woker thread and non matched are bypassed to
copy interface.

Current patch adds initial configuration, for DPDK EAL, port setup,
ACL for IPv4 and IPv6 3 tuple.
@vipinpv85 vipinpv85 requested a review from a team as a code owner April 30, 2020 23:21
@vipinpv85
Copy link
Author

Hi osif-team,

can you help me understand the possible cause for failure in debian10, debian9 and MacOS for file addition?

thanks in advance

@victorjulien
Copy link
Member

Hi osif-team,

can you help me understand the possible cause for failure in debian10, debian9 and MacOS for file addition?

thanks in advance

There is a general CI issue that is not caused by your changes. A newer cbindgen fails to compile with the rust version some of the CI targets use.

@victorjulien
Copy link
Member

How would one use this ini file?

@vipinpv85
Copy link
Author

vipinpv85 commented May 1, 2020

How would one use this ini file?

The ini is configuration parameter file for DPDK EAL and it's components. DPDK processing (SW or HW assisted) can be run in 2 modes of operation

  1. Merged mode (DPDK threads + Suricata threads is process-1)
  2. Independent mode (DPDK threads is process-1 + Suricata threads is process-2)

Note: Benefit of having Independent mode is

  1. less code addition to Suricata.
  2. ability to offload DPDK rules (ACL) and offload as eBPF.
  3. allow packet copy (since eBPF lack clone API).
  4. ability restart suricata or dpdk in crash scenarios or configuration changes

@victorjulien
Copy link
Member

Can you add a user guide section to explain to users how this can be used?

@vipinpv85
Copy link
Author

Can you add a user guide section to explain to users how this can be used?

I will try to create a draft ticket or feature request explaining the possible merge options with DPDK API.

@victorjulien
Copy link
Member

As this needs to be part of a PR that adds actual DPDK support I'm closing this.

@vipinpv85
Copy link
Author

vipinpv85 commented Jun 17, 2020 via email

@victorjulien victorjulien mentioned this pull request Jul 25, 2020
3 tasks
@vipinpv85 vipinpv85 deleted the dpdkworkermode branch July 26, 2020 00:57
victorjulien pushed a commit to victorjulien/suricata that referenced this pull request Dec 14, 2021
jasonish pushed a commit to jasonish/suricata that referenced this pull request Dec 17, 2021
Ticket: OISF#4902.
(cherry picked from commit 87f0447)
victorjulien pushed a commit to victorjulien/suricata that referenced this pull request Jan 11, 2022
Ticket: OISF#4902.
(cherry picked from commit 87f0447)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

3 participants