DPDK patches and discussions
 help / color / mirror / Atom feed
From: Sowmini Varadhan <sowmini05@gmail.com>
To: sowmini05@gmail.com, dev@dpdk.org
Subject: [dpdk-dev] [PATCH RFC 0/2] TCP flow classification using 4-tuple and flags
Date: Sun, 12 Jan 2020 23:08:37 +0000	[thread overview]
Message-ID: <cover.1578787797.git.sowmini.varadhan@microsoft.com> (raw)

An interesting class of problems is  TCP flow tracking 
and classification based on TCP state, which  requires 
the ability to classify TCP flows on more packet properties 
than just the 4-tuple

This patch-set investigates the set of changes needed in the 
examples/flow_classify.c needed to achieve  one instance of
this class of problems by adding hooks to filter/classify 
on both the 4-tuple and tcp flags.

Patch 1 extends examples/flow_classify.c to allow constraints
on tcp flags. Patch 2 extends the ACL handling in  
librte_flow_classify to include keys on the properties in 
addition to the tcp 4-tuple.

Note that one particular part of this patch-set where feedback
is requested is in allocate_acl_ipv4_tcp_5tuple_rule():
we need to add a key for the 8 bit flags, but the multibit
trie lookup moves in steps of 4 bytes, so it took some hackery
to figure out what byte-ordering was expected, and there were
no documentation/examples to provide guidelines. Comments/suggestions
would be particularly helpful.

Sowmini Varadhan (2):
  Hooks to allow the setting of filters on tcp flags
  Allow the flow_classify example to add an ACL table for tcp.

 examples/flow_classify/flow_classify.c        | 113 ++++++++++++++++--
 examples/flow_classify/ipv4_rules_file.txt    |  22 ++--
 lib/librte_flow_classify/rte_flow_classify.c  |  84 +++++++++++++
 lib/librte_flow_classify/rte_flow_classify.h  |  19 +++
 .../rte_flow_classify_parse.c                 |   8 +-
 5 files changed, 221 insertions(+), 25 deletions(-)

-- 
2.20.1


             reply	other threads:[~2020-01-12 23:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-12 23:08 Sowmini Varadhan [this message]
2020-01-12 23:08 ` [dpdk-dev] [PATCH RFC 1/2] Hooks to allow the setting of filters on tcp flags Sowmini Varadhan
2020-01-12 23:08 ` [dpdk-dev] [PATCH RFC 2/2] Allow the flow_classify example to add an ACL table for tcp Sowmini Varadhan

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=cover.1578787797.git.sowmini.varadhan@microsoft.com \
    --to=sowmini05@gmail.com \
    --cc=dev@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).