From: Ferruh Yigit <ferruh.yigit@amd.com>
To: Stephen Hemminger <stephen@networkplumber.org>, dev@dpdk.org
Subject: Re: [PATCH v12 04/12] net/tap: validate and setup parameters for BPF RSS
Date: Mon, 20 May 2024 18:47:08 +0100 [thread overview]
Message-ID: <e00f3f03-0126-4808-b9dd-6d961fdf80d2@amd.com> (raw)
In-Reply-To: <20240502213618.11391-5-stephen@networkplumber.org>
On 5/2/2024 10:31 PM, Stephen Hemminger wrote:
> The flow RSS support via BPF was not using the key, or
> hash type parameters. Which is good because they were never
> properly setup.
>
> Fix the setup and validate the flow parameters, the BPF
> side gets fixed later.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>
<...>
> @@ -2095,6 +2112,41 @@ static int rss_add_actions(struct rte_flow *flow, struct pmd_internals *pmd,
> (error, ENOTSUP, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
> "a nonzero RSS encapsulation level is not supported");
>
> + if (rss->queue_num == 0 || rss->queue_num >= TAP_MAX_QUEUES)
> + return rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
> + "invalid number of queues");
> +
> + /* allow RSS key_len 0 in case of NULL (default) RSS key. */
> + if (rss->key_len == 0) {
> + if (rss->key != NULL)
> + return rte_flow_error_set(error, ENOTSUP,
> + RTE_FLOW_ERROR_TYPE_ACTION_CONF,
> + &rss->key_len, "RSS hash key length 0");
> + key_in = rss_hash_default_key;
> + } else {
> + if (rss->key_len != TAP_RSS_HASH_KEY_SIZE)
> + return rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_UNSPECIFIED,
> + NULL, "RSS hash invalid key length");
> + if (rss->key == NULL)
> + return rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_UNSPECIFIED,
> + NULL, "RSS hash key is NULL");
> + key_in = rss->key;
> + }
>
Does it make sense to add above expectations (like if "key_len == 0"
default key used, or 'key_len' expectations, etc..) to the function comment?
<...>
> @@ -2109,8 +2161,11 @@ static int rss_add_actions(struct rte_flow *flow, struct pmd_internals *pmd,
> rss_entry.nb_queues = rss->queue_num;
> for (i = 0; i < rss->queue_num; i++)
> rss_entry.queues[i] = rss->queue[i];
> - rss_entry.hash_fields =
> - (1 << HASH_FIELD_IPV4_L3_L4) | (1 << HASH_FIELD_IPV6_L3_L4);
> +
> + rss_entry.hash_fields = hash_type;
> + rte_convert_rss_key((const uint32_t *)key_in, (uint32_t *)rss_entry.key,
> + TAP_RSS_HASH_KEY_SIZE);
> +
>
Why 'rte_convert_rss_key()' is required? Is this making an assumption on
the CPU architecture?
next prev parent reply other threads:[~2024-05-20 17:47 UTC|newest]
Thread overview: 206+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-30 3:46 [RFC 0/2] net/tap RSS BPF rewrite Stephen Hemminger
2024-01-30 3:46 ` [RFC 1/2] tap: stop "vendoring" linux bpf headers Stephen Hemminger
2024-01-30 3:46 ` [RFC 2/2] tap: rework BPF handling Stephen Hemminger
2024-02-07 22:11 ` [PATCH v2 0/7] net/tap: RSS using BPF overhaul Stephen Hemminger
2024-02-07 22:11 ` [PATCH v2 1/7] net/tap: remove unused RSS hash types Stephen Hemminger
2024-02-07 22:11 ` [PATCH v2 2/7] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-02-07 22:11 ` [PATCH v2 3/7] net/tap: stop "vendoring" linux bpf headers Stephen Hemminger
2024-02-07 22:11 ` [PATCH v2 4/7] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-02-07 22:11 ` [PATCH v2 5/7] net/tap: use libbpf to load new " Stephen Hemminger
2024-02-07 22:11 ` [PATCH v2 6/7] net/tap: remove no longer used files Stephen Hemminger
2024-02-07 22:11 ` [PATCH v2 7/7] MAINTAINERS: add maintainer for TAP device Stephen Hemminger
2024-02-08 7:01 ` Morten Brørup
2024-02-08 17:41 ` [PATCH v3 0/7] net/tap: RSS using BPF overhaul Stephen Hemminger
2024-02-08 17:41 ` [PATCH v3 1/7] net/tap: remove unused RSS hash types Stephen Hemminger
2024-02-08 17:41 ` [PATCH v3 2/7] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-02-08 17:41 ` [PATCH v3 3/7] tap: stop "vendoring" linux bpf headers Stephen Hemminger
2024-02-08 17:41 ` [PATCH v3 4/7] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-02-08 17:41 ` [PATCH v3 5/7] net/tap: use libbpf to load new " Stephen Hemminger
2024-02-08 18:02 ` Stephen Hemminger
2024-02-08 17:41 ` [PATCH v3 6/7] net/tap: remove no longer used files Stephen Hemminger
2024-02-08 17:41 ` [PATCH v3 7/7] MAINTAINERS: add maintainer for TAP device Stephen Hemminger
2024-02-08 19:05 ` [PATCH v4 0/7] net/tap: queue flow action RSS using BPF redo Stephen Hemminger
2024-02-08 19:05 ` [PATCH v4 1/7] net/tap: remove unused RSS hash types Stephen Hemminger
2024-02-08 19:05 ` [PATCH v4 2/7] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-02-08 19:05 ` [PATCH v4 3/7] tap: stop "vendoring" linux bpf headers Stephen Hemminger
2024-02-08 19:05 ` [PATCH v4 4/7] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-02-10 0:54 ` Ferruh Yigit
2024-02-10 2:09 ` Stephen Hemminger
2024-02-28 17:27 ` Ferruh Yigit
2024-02-29 23:39 ` Stephen Hemminger
2024-02-08 19:05 ` [PATCH v4 5/7] net/tap: use libbpf to load new " Stephen Hemminger
2024-02-08 20:39 ` Stephen Hemminger
2024-02-08 19:05 ` [PATCH v4 6/7] net/tap: remove no longer used files Stephen Hemminger
2024-02-08 19:05 ` [PATCH v4 7/7] MAINTAINERS: add maintainer for TAP device Stephen Hemminger
2024-02-12 16:47 ` [PATCH v4 0/7] net/tap: queue flow action RSS using BPF redo Stephen Hemminger
2024-04-02 17:12 ` [PATCH v5 0/8] net/tap: cleanups and fix BPF flow Stephen Hemminger
2024-04-02 17:12 ` [PATCH v5 1/8] net/tap: do not duplicate fd's Stephen Hemminger
2024-04-02 17:12 ` [PATCH v5 2/8] doc: fix the requirements and building of TAP flow Stephen Hemminger
2024-04-02 17:12 ` [PATCH v5 3/8] net/tap: remove unused RSS hash types Stephen Hemminger
2024-04-02 17:12 ` [PATCH v5 4/8] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-04-02 17:12 ` [PATCH v5 5/8] net/tap: stop "vendoring" linux bpf headers Stephen Hemminger
2024-04-02 17:12 ` [PATCH v5 6/8] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-04-02 17:12 ` [PATCH v5 7/8] net/tap: use libbpf to load new " Stephen Hemminger
2024-04-03 11:50 ` Luca Boccassi
2024-04-03 14:53 ` Stephen Hemminger
2024-04-03 15:55 ` Stephen Hemminger
2024-04-03 21:19 ` Luca Boccassi
2024-04-03 23:41 ` Stephen Hemminger
2024-04-04 0:49 ` Luca Boccassi
2024-04-04 15:51 ` Stephen Hemminger
2024-04-04 16:12 ` Luca Boccassi
2024-04-04 15:30 ` Stephen Hemminger
2024-04-04 16:11 ` Luca Boccassi
2024-04-02 17:12 ` [PATCH v5 8/8] net/tap: remove no longer used files Stephen Hemminger
2024-04-02 20:43 ` Stephen Hemminger
2024-04-05 21:14 ` [PATCH v6 0/8] net/tap: cleanup and fix BPF flow support Stephen Hemminger
2024-04-05 21:14 ` [PATCH v6 1/8] net/tap: do not duplicate fd's Stephen Hemminger
2024-04-05 21:14 ` [PATCH v6 2/8] doc: fix the requirements and building of TAP flow Stephen Hemminger
2024-04-05 21:14 ` [PATCH v6 3/8] net/tap: remove unused fields Stephen Hemminger
2024-04-05 21:14 ` [PATCH v6 4/8] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-04-05 21:14 ` [PATCH v6 5/8] net/tap: stop "vendoring" linux bpf headers Stephen Hemminger
2024-04-05 21:14 ` [PATCH v6 6/8] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-04-05 21:14 ` [PATCH v6 7/8] net/tap: use libbpf to load new " Stephen Hemminger
2024-04-05 21:15 ` [PATCH v6 8/8] net/tap: remove no longer used files Stephen Hemminger
2024-04-08 21:18 ` [PATCH v7 0/8] net/tap: cleanups and fix BPF support Stephen Hemminger
2024-04-08 21:18 ` [PATCH v7 1/8] net/tap: do not duplicate fd's Stephen Hemminger
2024-04-08 21:18 ` [PATCH v7 2/8] net/tap: remove unused fields Stephen Hemminger
2024-04-08 21:18 ` [PATCH v7 3/8] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-04-08 21:18 ` [PATCH v7 4/8] net/tap: do not build flow support if header is out of date Stephen Hemminger
2024-04-08 21:18 ` [PATCH v7 5/8] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-04-08 21:18 ` [PATCH v7 6/8] net/tap: use libbpf to load new " Stephen Hemminger
2024-04-08 21:18 ` [PATCH v7 7/8] net/tap: remove no longer used files Stephen Hemminger
2024-04-08 21:18 ` [PATCH v7 8/8] doc: update documentation of TAP PMD Stephen Hemminger
2024-04-09 3:40 ` [PATCH v8 0/8] net/tap: cleanups and fix BPF support Stephen Hemminger
2024-04-09 3:40 ` [PATCH v8 1/8] net/tap: do not duplicate fd's Stephen Hemminger
2024-04-09 3:40 ` [PATCH v8 2/8] net/tap: remove unused fields Stephen Hemminger
2024-04-09 3:40 ` [PATCH v8 3/8] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-04-09 3:40 ` [PATCH v8 4/8] net/tap: do not build flow support if header is out of date Stephen Hemminger
2024-04-09 3:40 ` [PATCH v8 5/8] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-04-09 3:40 ` [PATCH v8 6/8] net/tap: use libbpf to load new " Stephen Hemminger
2024-04-09 3:40 ` [PATCH v8 7/8] net/tap: remove no longer used files Stephen Hemminger
2024-04-09 3:40 ` [PATCH v8 8/8] doc: update documentation of TAP PMD Stephen Hemminger
2024-04-26 15:48 ` [PATCH v9 0/9] net/tap: fix RSS (BPF) support Stephen Hemminger
2024-04-26 15:48 ` [PATCH v9 1/9] net/tap: do not duplicate fd's Stephen Hemminger
2024-05-01 11:13 ` Ferruh Yigit
2024-05-01 23:53 ` Stephen Hemminger
2024-05-02 14:51 ` Ferruh Yigit
2024-05-02 16:22 ` Stephen Hemminger
2024-04-26 15:48 ` [PATCH v9 2/9] net/tap: remove unused fields Stephen Hemminger
2024-04-26 15:48 ` [PATCH v9 3/9] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-04-26 15:48 ` [PATCH v9 4/9] net/tap: do not build flow support if header is out of date Stephen Hemminger
2024-04-26 15:48 ` [PATCH v9 5/9] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-05-01 11:14 ` Ferruh Yigit
2024-04-26 15:48 ` [PATCH v9 6/9] net/tap: use libbpf to load new " Stephen Hemminger
2024-04-26 15:48 ` [PATCH v9 7/9] net/tap: remove no longer used files Stephen Hemminger
2024-04-26 15:48 ` [PATCH v9 8/9] doc: update documentation of TAP PMD Stephen Hemminger
2024-05-01 12:36 ` Ferruh Yigit
2024-04-26 15:48 ` [PATCH v9 9/9] net/tap: simplify the internal structure Stephen Hemminger
2024-05-01 11:18 ` [PATCH v9 0/9] net/tap: fix RSS (BPF) support Ferruh Yigit
2024-05-01 15:41 ` Stephen Hemminger
2024-05-01 16:11 ` [PATCH v10 0/9] net/tap: fix RSS (BPF) flow support Stephen Hemminger
2024-05-01 16:12 ` [PATCH v10 1/9] net/tap: do not duplicate fd's Stephen Hemminger
2024-05-01 16:12 ` [PATCH v10 2/9] net/tap: remove unused fields Stephen Hemminger
2024-05-01 16:12 ` [PATCH v10 3/9] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-05-01 16:12 ` [PATCH v10 4/9] net/tap: do not build flow support if header is out of date Stephen Hemminger
2024-05-01 16:12 ` [PATCH v10 5/9] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-05-01 16:12 ` [PATCH v10 6/9] net/tap: use libbpf to load new " Stephen Hemminger
2024-05-01 16:12 ` [PATCH v10 7/9] net/tap: remove no longer used files Stephen Hemminger
2024-05-01 16:12 ` [PATCH v10 8/9] net/tap: simplify internals Stephen Hemminger
2024-05-01 16:12 ` [PATCH v10 9/9] net/tap: update documentation Stephen Hemminger
2024-05-02 2:49 ` [PATCH v11 0/9] net/tap fix RSS (BPF) flow support Stephen Hemminger
2024-05-02 2:49 ` [PATCH v11 1/9] net/tap: do not duplicate fd's Stephen Hemminger
2024-05-02 2:49 ` [PATCH v11 2/9] net/tap: remove unused fields Stephen Hemminger
2024-05-02 2:49 ` [PATCH v11 3/9] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-05-02 2:49 ` [PATCH v11 4/9] net/tap: do not build flow support if header is out of date Stephen Hemminger
2024-05-02 2:49 ` [PATCH v11 5/9] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-05-02 2:49 ` [PATCH v11 6/9] net/tap: use libbpf to load new " Stephen Hemminger
2024-05-02 2:49 ` [PATCH v11 7/9] net/tap: remove no longer used files Stephen Hemminger
2024-05-02 2:49 ` [PATCH v11 8/9] net/tap: simplify internals Stephen Hemminger
2024-05-02 2:49 ` [PATCH v11 9/9] net/tap: update documentation Stephen Hemminger
2024-05-02 21:31 ` [PATCH v12 00/12] net/tap: RSS and other fixes Stephen Hemminger
2024-05-02 21:31 ` [PATCH v12 01/12] net/tap: fix fd check in flow_isolate Stephen Hemminger
2024-05-20 17:46 ` Ferruh Yigit
2024-05-02 21:31 ` [PATCH v12 02/12] net/tap: do not duplicate fd's Stephen Hemminger
2024-05-20 17:46 ` Ferruh Yigit
2024-05-20 18:16 ` Stephen Hemminger
2024-05-02 21:31 ` [PATCH v12 03/12] net/tap: remove unused fields Stephen Hemminger
2024-05-20 17:46 ` Ferruh Yigit
2024-05-02 21:31 ` [PATCH v12 04/12] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-05-20 17:47 ` Ferruh Yigit [this message]
2024-05-21 2:01 ` Stephen Hemminger
2024-05-21 14:17 ` Ferruh Yigit
2024-05-02 21:31 ` [PATCH v12 05/12] net/tap: do not build flow support if header is out of date Stephen Hemminger
2024-05-20 17:47 ` Ferruh Yigit
2024-05-02 21:31 ` [PATCH v12 06/12] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-05-02 21:31 ` [PATCH v12 07/12] net/tap: use libbpf to load new " Stephen Hemminger
2024-05-20 17:49 ` Ferruh Yigit
2024-05-20 18:18 ` Stephen Hemminger
2024-05-20 21:42 ` Luca Boccassi
2024-05-20 22:08 ` Ferruh Yigit
2024-05-20 22:25 ` Luca Boccassi
2024-05-20 23:20 ` Stephen Hemminger
2024-05-20 22:06 ` Ferruh Yigit
2024-05-21 4:23 ` Patrick Robb
2024-05-21 13:46 ` Ferruh Yigit
2024-05-21 14:33 ` Patrick Robb
2024-05-21 15:06 ` Aaron Conole
2024-05-21 15:41 ` Stephen Hemminger
2024-05-02 21:31 ` [PATCH v12 08/12] net/tap: remove no longer used files Stephen Hemminger
2024-05-20 17:50 ` Ferruh Yigit
2024-05-02 21:31 ` [PATCH v12 09/12] net/tap: simplify internals Stephen Hemminger
2024-05-20 17:51 ` Ferruh Yigit
2024-05-21 15:44 ` Stephen Hemminger
2024-05-22 14:00 ` Ferruh Yigit
2024-05-02 21:31 ` [PATCH v12 10/12] net/tap: remove extraneous newlines Stephen Hemminger
2024-05-20 17:51 ` Ferruh Yigit
2024-05-02 21:31 ` [PATCH v12 11/12] net/tap: do not mark queue full as error Stephen Hemminger
2024-05-20 17:52 ` Ferruh Yigit
2024-05-21 15:46 ` Stephen Hemminger
2024-05-02 21:31 ` [PATCH v12 12/12] net/tap: update documentation Stephen Hemminger
2024-05-20 17:53 ` Ferruh Yigit
2024-05-21 2:39 ` Stephen Hemminger
2024-05-21 2:47 ` [PATCH v13 00/11] net/tap: make RSS work again Stephen Hemminger
2024-05-21 2:47 ` [PATCH v13 01/11] net/tap: fix fd check in flow_isolate Stephen Hemminger
2024-05-21 2:47 ` [PATCH v13 02/11] net/tap: do not duplicate fd's Stephen Hemminger
2024-05-21 2:47 ` [PATCH v13 03/11] net/tap: remove unused fields Stephen Hemminger
2024-05-21 2:47 ` [PATCH v13 04/11] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-05-21 2:47 ` [PATCH v13 05/11] net/tap: do not build flow support if header is out of date Stephen Hemminger
2024-05-21 2:47 ` [PATCH v13 06/11] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-05-21 2:47 ` [PATCH v13 07/11] net/tap: use libbpf to load new " Stephen Hemminger
2024-05-21 2:47 ` [PATCH v13 08/11] net/tap: remove no longer used files Stephen Hemminger
2024-05-21 2:47 ` [PATCH v13 09/11] net/tap: simplify internals Stephen Hemminger
2024-05-21 2:47 ` [PATCH v13 10/11] net/tap: remove extraneous newlines Stephen Hemminger
2024-05-21 2:47 ` [PATCH v13 11/11] net/tap: update documentation Stephen Hemminger
2024-05-21 14:19 ` [PATCH v13 00/11] net/tap: make RSS work again Ferruh Yigit
2024-05-21 14:35 ` Ferruh Yigit
2024-05-21 14:38 ` Ferruh Yigit
2024-05-21 21:23 ` Patrick Robb
2024-05-21 21:26 ` Ferruh Yigit
2024-05-21 17:06 ` [PATCH v14 " Stephen Hemminger
2024-05-21 17:06 ` [PATCH v14 01/11] net/tap: fix fd check in flow_isolate Stephen Hemminger
2024-05-21 17:06 ` [PATCH v14 02/11] net/tap: do not duplicate fd's Stephen Hemminger
2024-05-21 17:06 ` [PATCH v14 03/11] net/tap: remove unused fields Stephen Hemminger
2024-05-21 17:06 ` [PATCH v14 04/11] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-05-21 17:06 ` [PATCH v14 05/11] net/tap: do not build flow support if header is out of date Stephen Hemminger
2024-05-21 17:06 ` [PATCH v14 06/11] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-05-21 17:06 ` [PATCH v14 07/11] net/tap: use libbpf to load new " Stephen Hemminger
2024-05-21 17:06 ` [PATCH v14 08/11] net/tap: remove no longer used files Stephen Hemminger
2024-05-21 17:06 ` [PATCH v14 09/11] net/tap: simplify internals Stephen Hemminger
2024-05-21 17:06 ` [PATCH v14 10/11] net/tap: remove extraneous newlines Stephen Hemminger
2024-05-21 17:06 ` [PATCH v14 11/11] net/tap: update documentation Stephen Hemminger
2024-05-21 20:12 ` [PATCH v15 00/11] net/tap: make RSS work again Stephen Hemminger
2024-05-21 20:12 ` [PATCH v15 01/11] net/tap: fix fd check in flow_isolate Stephen Hemminger
2024-05-21 20:12 ` [PATCH v15 02/11] net/tap: do not duplicate fd's Stephen Hemminger
2024-05-21 20:12 ` [PATCH v15 03/11] net/tap: remove unused fields Stephen Hemminger
2024-05-21 20:12 ` [PATCH v15 04/11] net/tap: validate and setup parameters for BPF RSS Stephen Hemminger
2024-05-21 20:12 ` [PATCH v15 05/11] net/tap: do not build flow support if header is out of date Stephen Hemminger
2024-05-21 20:12 ` [PATCH v15 06/11] net/tap: rewrite the RSS BPF program Stephen Hemminger
2024-05-21 20:12 ` [PATCH v15 07/11] net/tap: use libbpf to load new " Stephen Hemminger
2024-05-28 16:33 ` Cody Cheng
2024-05-21 20:12 ` [PATCH v15 08/11] net/tap: remove no longer used files Stephen Hemminger
2024-05-21 20:12 ` [PATCH v15 09/11] net/tap: simplify internals Stephen Hemminger
2024-05-22 16:15 ` Stephen Hemminger
2024-05-21 20:12 ` [PATCH v15 10/11] net/tap: remove extraneous newlines Stephen Hemminger
2024-05-21 20:12 ` [PATCH v15 11/11] net/tap: update documentation Stephen Hemminger
2024-05-22 15:42 ` [PATCH v15 00/11] net/tap: make RSS work again Ferruh Yigit
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=e00f3f03-0126-4808-b9dd-6d961fdf80d2@amd.com \
--to=ferruh.yigit@amd.com \
--cc=dev@dpdk.org \
--cc=stephen@networkplumber.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).