All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org
Cc: david.marchand@redhat.com,
	Bruce Richardson <bruce.richardson@intel.com>,
	Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
	Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>,
	Narcisa Ana Maria Vasile <navasile@linux.microsoft.com>,
	Dmitry Malloy <dmitrym@microsoft.com>,
	Pallavi Kadam <pallavi.kadam@intel.com>
Subject: [dpdk-dev] [PATCH v4 04/11] eal: move private log functions
Date: Sun, 21 Mar 2021 23:31:08 +0100	[thread overview]
Message-ID: <20210321223116.1340974-5-thomas@monjalon.net> (raw)
In-Reply-To: <20210321223116.1340974-1-thomas@monjalon.net>

Some private log functions had a wrong "rte_" prefix.

All private log functions are moved from eal_private.h
to the new file eal_log.h:
	rte_eal_log_init -> eal_log_init
	rte_log_save_regexp -> eal_log_save_regexp
	rte_log_save_pattern -> eal_log_save_pattern
	eal_log_set_default

The static functions in the file eal_common_log.c are renamed:
	rte_log_save_level -> log_save_level
	rte_log_init -> log_init

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
---
 lib/librte_eal/common/eal_common_log.c     | 18 ++++++++------
 lib/librte_eal/common/eal_common_options.c |  5 ++--
 lib/librte_eal/common/eal_log.h            | 27 ++++++++++++++++++++
 lib/librte_eal/common/eal_private.h        | 29 ----------------------
 lib/librte_eal/linux/eal.c                 |  3 ++-
 lib/librte_eal/linux/eal_log.c             |  4 +--
 lib/librte_eal/windows/eal.c               |  3 ++-
 lib/librte_eal/windows/eal_log.c           |  6 +++--
 8 files changed, 50 insertions(+), 45 deletions(-)
 create mode 100644 lib/librte_eal/common/eal_log.h

diff --git a/lib/librte_eal/common/eal_common_log.c b/lib/librte_eal/common/eal_common_log.c
index c5554badb2..aee7c44c6a 100644
--- a/lib/librte_eal/common/eal_common_log.c
+++ b/lib/librte_eal/common/eal_common_log.c
@@ -15,7 +15,7 @@
 #include <rte_log.h>
 #include <rte_per_lcore.h>
 
-#include "eal_private.h"
+#include "eal_log.h"
 
 struct rte_log_dynamic_type {
 	const char *name;
@@ -178,8 +178,8 @@ rte_log_set_level_regexp(const char *regex, uint32_t level)
  * Save the type string and the loglevel for later dynamic
  * logtypes which may register later.
  */
-static int rte_log_save_level(int priority,
-			      const char *regex, const char *pattern)
+static int
+log_save_level(uint32_t priority, const char *regex, const char *pattern)
 {
 	struct rte_eal_opt_loglevel *opt_ll = NULL;
 
@@ -207,9 +207,10 @@ static int rte_log_save_level(int priority,
 	return -1;
 }
 
-int rte_log_save_regexp(const char *regex, int tmp)
+int
+eal_log_save_regexp(const char *regex, uint32_t level)
 {
-	return rte_log_save_level(tmp, regex, NULL);
+	return log_save_level(level, regex, NULL);
 }
 
 /* set log level based on globbing pattern */
@@ -232,9 +233,10 @@ rte_log_set_level_pattern(const char *pattern, uint32_t level)
 	return 0;
 }
 
-int rte_log_save_pattern(const char *pattern, int priority)
+int
+eal_log_save_pattern(const char *pattern, uint32_t level)
 {
-	return rte_log_save_level(priority, NULL, pattern);
+	return log_save_level(level, NULL, pattern);
 }
 
 /* get the current loglevel for the message being processed */
@@ -376,7 +378,7 @@ static const struct logtype logtype_strings[] = {
 };
 
 /* Logging should be first initializer (before drivers and bus) */
-RTE_INIT_PRIO(rte_log_init, LOG)
+RTE_INIT_PRIO(log_init, LOG)
 {
 	uint32_t i;
 
diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 52fedb81e5..02374ee09e 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -41,6 +41,7 @@
 #include "eal_options.h"
 #include "eal_filesystem.h"
 #include "eal_private.h"
+#include "eal_log.h"
 #ifndef RTE_EXEC_ENV_WINDOWS
 #include "eal_trace.h"
 #endif
@@ -1299,7 +1300,7 @@ eal_parse_log_level(const char *arg)
 				regex, priority);
 			goto fail;
 		}
-		if (rte_log_save_regexp(regex, priority) < 0)
+		if (eal_log_save_regexp(regex, priority) < 0)
 			goto fail;
 	} else if (pattern) {
 		if (rte_log_set_level_pattern(pattern, priority) < 0) {
@@ -1307,7 +1308,7 @@ eal_parse_log_level(const char *arg)
 				pattern, priority);
 			goto fail;
 		}
-		if (rte_log_save_pattern(pattern, priority) < 0)
+		if (eal_log_save_pattern(pattern, priority) < 0)
 			goto fail;
 	} else {
 		rte_log_set_global_level(priority);
diff --git a/lib/librte_eal/common/eal_log.h b/lib/librte_eal/common/eal_log.h
new file mode 100644
index 0000000000..684650a17b
--- /dev/null
+++ b/lib/librte_eal/common/eal_log.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright 2021 Mellanox Technologies, Ltd
+ */
+
+#ifndef EAL_LOG_H
+#define EAL_LOG_H
+
+#include <stdio.h>
+#include <stdint.h>
+
+/*
+ * Initialize the default log stream.
+ */
+int eal_log_init(const char *id, int facility);
+
+/*
+ * Determine where log data is written when no call to rte_openlog_stream.
+ */
+void eal_log_set_default(FILE *default_log);
+
+/*
+ * Save a log option for later.
+ */
+int eal_log_save_regexp(const char *regexp, uint32_t level);
+int eal_log_save_pattern(const char *pattern, uint32_t level);
+
+#endif /* EAL_LOG_H */
diff --git a/lib/librte_eal/common/eal_private.h b/lib/librte_eal/common/eal_private.h
index b8a0d20021..e3512111d9 100644
--- a/lib/librte_eal/common/eal_private.h
+++ b/lib/librte_eal/common/eal_private.h
@@ -79,19 +79,6 @@ struct rte_config *rte_eal_get_configuration(void);
  */
 int rte_eal_memzone_init(void);
 
-/**
- * Common log initialization function (private to eal).  Determines
- * where log data is written when no call to rte_openlog_stream is
- * in effect.
- *
- * @param default_log
- *   The default log stream to be used.
- * @return
- *   - 0 on success
- *   - Negative on error
- */
-void eal_log_set_default(FILE *default_log);
-
 /**
  * Fill configuration with number of physical and logical processors
  *
@@ -143,22 +130,6 @@ int rte_eal_memory_init(void);
  */
 int rte_eal_timer_init(void);
 
-/**
- * Init the default log stream
- *
- * This function is private to EAL.
- *
- * @return
- *   0 on success, negative on error
- */
-int rte_eal_log_init(const char *id, int facility);
-
-/**
- * Save the log regexp for later
- */
-int rte_log_save_regexp(const char *type, int priority);
-int rte_log_save_pattern(const char *pattern, int priority);
-
 /**
  * Init tail queues for non-EAL library structures. This is to allow
  * the rings, mempools, etc. lists to be shared among multiple processes
diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c
index c8ea590a05..1e7264f1a2 100644
--- a/lib/librte_eal/linux/eal.c
+++ b/lib/librte_eal/linux/eal.c
@@ -58,6 +58,7 @@
 #include "eal_hugepages.h"
 #include "eal_memcfg.h"
 #include "eal_trace.h"
+#include "eal_log.h"
 #include "eal_options.h"
 #include "eal_vfio.h"
 #include "hotplug_mp.h"
@@ -1160,7 +1161,7 @@ rte_eal_init(int argc, char **argv)
 #endif
 	}
 
-	if (rte_eal_log_init(logid, internal_conf->syslog_facility) < 0) {
+	if (eal_log_init(logid, internal_conf->syslog_facility) < 0) {
 		rte_eal_init_alert("Cannot init logging.");
 		rte_errno = ENOMEM;
 		__atomic_store_n(&run_once, 0, __ATOMIC_RELAXED);
diff --git a/lib/librte_eal/linux/eal_log.c b/lib/librte_eal/linux/eal_log.c
index 2095df74c5..c0aa1007c4 100644
--- a/lib/librte_eal/linux/eal_log.c
+++ b/lib/librte_eal/linux/eal_log.c
@@ -17,7 +17,7 @@
 #include <rte_spinlock.h>
 #include <rte_log.h>
 
-#include "eal_private.h"
+#include "eal_log.h"
 
 /*
  * default log function
@@ -46,7 +46,7 @@ static cookie_io_functions_t console_log_func = {
  * once memzones are available.
  */
 int
-rte_eal_log_init(const char *id, int facility)
+eal_log_init(const char *id, int facility)
 {
 	FILE *log_stream;
 
diff --git a/lib/librte_eal/windows/eal.c b/lib/librte_eal/windows/eal.c
index 4dd2fc1403..5bca3ace1c 100644
--- a/lib/librte_eal/windows/eal.c
+++ b/lib/librte_eal/windows/eal.c
@@ -22,6 +22,7 @@
 
 #include "eal_hugepages.h"
 #include "eal_trace.h"
+#include "eal_log.h"
 #include "eal_windows.h"
 
 #define MEMSIZE_IF_NO_HUGE_PAGE (64ULL * 1024ULL * 1024ULL)
@@ -265,7 +266,7 @@ rte_eal_init(int argc, char **argv)
 		eal_get_internal_configuration();
 	int ret;
 
-	rte_eal_log_init(NULL, 0);
+	eal_log_init(NULL, 0);
 
 	eal_log_level_parse(argc, argv);
 
diff --git a/lib/librte_eal/windows/eal_log.c b/lib/librte_eal/windows/eal_log.c
index 875981f139..d4ea47f1c8 100644
--- a/lib/librte_eal/windows/eal_log.c
+++ b/lib/librte_eal/windows/eal_log.c
@@ -2,11 +2,13 @@
  * Copyright(c) 2017-2018 Intel Corporation
  */
 
-#include "eal_private.h"
+#include <rte_common.h>
+#include <rte_log.h>
+#include "eal_log.h"
 
 /* set the log to default function, called during eal init process. */
 int
-rte_eal_log_init(__rte_unused const char *id, __rte_unused int facility)
+eal_log_init(__rte_unused const char *id, __rte_unused int facility)
 {
 	rte_openlog_stream(stderr);
 
-- 
2.30.1


  parent reply	other threads:[~2021-03-21 22:32 UTC|newest]

Thread overview: 132+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-09 23:31 [dpdk-dev] [PATCH 00/11] improve options help Thomas Monjalon
2021-03-09 23:31 ` [dpdk-dev] [PATCH 01/11] eal: explain argv behaviour during init Thomas Monjalon
2021-03-09 23:31 ` [dpdk-dev] [PATCH 02/11] eal: improve options usage text Thomas Monjalon
2021-03-09 23:31 ` [dpdk-dev] [PATCH 03/11] eal: use macros for help option Thomas Monjalon
2021-03-09 23:31 ` [dpdk-dev] [PATCH 04/11] eal: move private log functions Thomas Monjalon
2021-03-09 23:31 ` [dpdk-dev] [PATCH 05/11] eal: introduce maximum log level macro Thomas Monjalon
2021-03-10 12:46   ` Thomas Monjalon
2021-03-09 23:31 ` [dpdk-dev] [PATCH 06/11] eal: catch invalid log level number Thomas Monjalon
2021-03-10 12:19   ` Bruce Richardson
2021-03-10 12:33     ` Thomas Monjalon
2021-03-10 13:26       ` Bruce Richardson
2021-03-10 13:35         ` Thomas Monjalon
2021-03-10 16:35           ` Morten Brørup
2021-03-10 16:52           ` Bruce Richardson
2021-03-10 15:16     ` Stephen Hemminger
2021-03-09 23:31 ` [dpdk-dev] [PATCH 07/11] eal: add log level help Thomas Monjalon
2023-06-29 16:22   ` Stephen Hemminger
2021-03-09 23:31 ` [dpdk-dev] [PATCH 08/11] app: fix exit messages Thomas Monjalon
2021-03-10  7:10   ` Ori Kam
2021-03-10  9:23   ` Wisam Monther
2021-03-09 23:31 ` [dpdk-dev] [PATCH 09/11] app: hook in EAL usage help Thomas Monjalon
2021-03-10  9:25   ` Wisam Monther
2021-03-09 23:31 ` [dpdk-dev] [PATCH 10/11] app/regex: fix usage text Thomas Monjalon
2021-03-10  7:08   ` Ori Kam
2021-03-09 23:31 ` [dpdk-dev] [PATCH 11/11] app/testpmd: " Thomas Monjalon
2021-03-12 19:09   ` Ajit Khaparde
2021-03-10  0:45 ` [dpdk-dev] [PATCH 00/11] improve options help Stephen Hemminger
2021-03-10 13:28 ` [dpdk-dev] [PATCH v2 " Thomas Monjalon
2021-03-10 13:28   ` [dpdk-dev] [PATCH v2 01/11] eal: explain argv behaviour during init Thomas Monjalon
2023-06-30 16:23     ` Stephen Hemminger
2021-03-10 13:28   ` [dpdk-dev] [PATCH v2 02/11] eal: improve options usage text Thomas Monjalon
2021-03-10 13:28   ` [dpdk-dev] [PATCH v2 03/11] eal: use macros for help option Thomas Monjalon
2021-03-10 13:28   ` [dpdk-dev] [PATCH v2 04/11] eal: move private log functions Thomas Monjalon
2021-03-10 13:28   ` [dpdk-dev] [PATCH v2 05/11] eal: introduce maximum log level macro Thomas Monjalon
2021-03-10 13:28   ` [dpdk-dev] [PATCH v2 06/11] eal: catch invalid log level number Thomas Monjalon
2021-03-10 13:28   ` [dpdk-dev] [PATCH v2 07/11] eal: add log level help Thomas Monjalon
2021-03-10 13:28   ` [dpdk-dev] [PATCH v2 08/11] app: fix exit messages Thomas Monjalon
2021-03-10 13:28   ` [dpdk-dev] [PATCH v2 09/11] app: hook in EAL usage help Thomas Monjalon
2021-03-10 13:28   ` [dpdk-dev] [PATCH v2 10/11] app/regex: fix usage text Thomas Monjalon
2021-03-10 13:28   ` [dpdk-dev] [PATCH v2 11/11] app/testpmd: " Thomas Monjalon
2021-03-12 18:17 ` [dpdk-dev] [PATCH v3 00/11] improve options help Thomas Monjalon
2021-03-12 18:17   ` [dpdk-dev] [PATCH v3 01/11] eal: explain argv behaviour during init Thomas Monjalon
2021-03-12 18:17   ` [dpdk-dev] [PATCH v3 02/11] eal: improve options usage text Thomas Monjalon
2021-03-12 18:17   ` [dpdk-dev] [PATCH v3 03/11] eal: use macros for help option Thomas Monjalon
2021-03-12 18:17   ` [dpdk-dev] [PATCH v3 04/11] eal: move private log functions Thomas Monjalon
2021-03-12 18:17   ` [dpdk-dev] [PATCH v3 05/11] eal: introduce maximum log level macro Thomas Monjalon
2021-03-12 18:17   ` [dpdk-dev] [PATCH v3 06/11] eal: catch invalid log level number Thomas Monjalon
2021-03-12 18:17   ` [dpdk-dev] [PATCH v3 07/11] eal: add log level help Thomas Monjalon
2021-03-15 10:19     ` Kinsella, Ray
2021-03-15 10:31       ` Bruce Richardson
2021-03-15 10:42         ` Kinsella, Ray
2021-03-15 10:52           ` Thomas Monjalon
2021-03-15 15:59             ` Stephen Hemminger
2021-03-15 17:01               ` Kinsella, Ray
2021-03-12 18:17   ` [dpdk-dev] [PATCH v3 08/11] app: fix exit messages Thomas Monjalon
2021-03-12 18:17   ` [dpdk-dev] [PATCH v3 09/11] app: hook in EAL usage help Thomas Monjalon
2021-03-12 18:17   ` [dpdk-dev] [PATCH v3 10/11] app/regex: fix usage text Thomas Monjalon
2021-03-12 18:17   ` [dpdk-dev] [PATCH v3 11/11] app/testpmd: " Thomas Monjalon
2021-03-19  8:59     ` Li, Xiaoyun
2021-03-19  9:29       ` Thomas Monjalon
2021-03-15  9:40   ` [dpdk-dev] [PATCH v3 00/11] improve options help Bruce Richardson
2021-03-15 10:47     ` Andrew Rybchenko
2021-03-21 22:31 ` [dpdk-dev] [PATCH v4 " Thomas Monjalon
2021-03-21 22:31   ` [dpdk-dev] [PATCH v4 01/11] eal: explain argv behaviour during init Thomas Monjalon
2021-03-21 22:31   ` [dpdk-dev] [PATCH v4 02/11] eal: improve options usage text Thomas Monjalon
2021-03-21 22:31   ` [dpdk-dev] [PATCH v4 03/11] eal: use macros for help option Thomas Monjalon
2021-03-21 22:31   ` Thomas Monjalon [this message]
2021-03-21 22:31   ` [dpdk-dev] [PATCH v4 05/11] eal: introduce maximum log level macro Thomas Monjalon
2021-03-21 22:31   ` [dpdk-dev] [PATCH v4 06/11] eal: catch invalid log level number Thomas Monjalon
2021-03-21 22:31   ` [dpdk-dev] [PATCH v4 07/11] eal: add log level help Thomas Monjalon
2021-03-23 13:37     ` David Marchand
2021-03-23 15:10       ` Thomas Monjalon
2021-03-23 18:18         ` David Marchand
2021-03-23 18:41           ` Thomas Monjalon
2021-03-24 13:41             ` David Marchand
2021-03-21 22:31   ` [dpdk-dev] [PATCH v4 08/11] app: fix exit messages Thomas Monjalon
2021-03-21 22:31   ` [dpdk-dev] [PATCH v4 09/11] app: hook in EAL usage help Thomas Monjalon
2021-03-21 22:31   ` [dpdk-dev] [PATCH v4 10/11] app/regex: fix usage text Thomas Monjalon
2021-03-21 22:31   ` [dpdk-dev] [PATCH v4 11/11] app/testpmd: " Thomas Monjalon
2021-03-22  1:45     ` Li, Xiaoyun
2021-03-22  8:27     ` Jens Freimann
2021-03-22  9:05       ` Bing Zhao
2021-03-24 15:03   ` [dpdk-dev] [PATCH v4 00/11] improve options help David Marchand
2021-03-24 16:55     ` Thomas Monjalon
2021-04-05 19:29 ` [dpdk-dev] [PATCH v5 0/4] log level enhancements Thomas Monjalon
2021-04-05 19:29   ` [dpdk-dev] [PATCH v5 1/4] log: move private functions Thomas Monjalon
2021-04-06 11:28     ` David Marchand
2021-04-06 12:08       ` Thomas Monjalon
2021-04-05 19:29   ` [dpdk-dev] [PATCH v5 2/4] log: introduce macro for maximum level Thomas Monjalon
2021-04-05 19:29   ` [dpdk-dev] [PATCH v5 3/4] log: catch invalid level option number Thomas Monjalon
2021-04-05 19:30   ` [dpdk-dev] [PATCH v5 4/4] log: add option argument help Thomas Monjalon
2021-04-06 13:11   ` [dpdk-dev] [PATCH v6 0/4] log level enhancements Thomas Monjalon
2021-04-06 13:11     ` [dpdk-dev] [PATCH v6 1/4] log: move private functions Thomas Monjalon
2021-04-06 13:11     ` [dpdk-dev] [PATCH v6 2/4] log: introduce macro for maximum level Thomas Monjalon
2021-04-06 14:32       ` David Marchand
2021-04-06 13:11     ` [dpdk-dev] [PATCH v6 3/4] log: catch invalid level option number Thomas Monjalon
2021-04-06 14:35       ` David Marchand
2021-04-06 13:11     ` [dpdk-dev] [PATCH v6 4/4] log: add option argument help Thomas Monjalon
2021-04-06 14:28       ` David Marchand
2021-04-06 14:58         ` Thomas Monjalon
2021-04-06 16:04       ` Thomas Monjalon
2021-04-06 16:35         ` David Marchand
2021-04-08 16:47   ` [dpdk-dev] [PATCH v7 0/4] log level enhancements Thomas Monjalon
2021-04-08 16:47     ` [dpdk-dev] [PATCH v7 1/4] log: move private functions Thomas Monjalon
2021-04-08 16:47     ` [dpdk-dev] [PATCH v7 2/4] log: introduce macro for maximum level Thomas Monjalon
2021-04-08 16:47     ` [dpdk-dev] [PATCH v7 3/4] log: catch invalid level option number Thomas Monjalon
2021-04-08 16:47     ` [dpdk-dev] [PATCH v7 4/4] log: add option argument help Thomas Monjalon
2021-04-09  9:31       ` David Marchand
2021-04-13 16:55       ` Kinsella, Ray
2021-04-09 10:55     ` [dpdk-dev] [PATCH v7 0/4] log level enhancements David Marchand
2021-04-05 19:33 ` [dpdk-dev] [PATCH v5 0/3] cleanup exit and usage messages in apps Thomas Monjalon
2021-04-05 19:33   ` [dpdk-dev] [PATCH v5 1/3] app: fix exit messages Thomas Monjalon
2021-04-05 19:33   ` [dpdk-dev] [PATCH v5 2/3] app/regex: fix usage text Thomas Monjalon
2021-04-05 19:33   ` [dpdk-dev] [PATCH v5 3/3] app/testpmd: " Thomas Monjalon
2021-04-09 12:31   ` [dpdk-dev] [PATCH v5 0/3] cleanup exit and usage messages in apps David Marchand
2021-04-05 19:39 ` [dpdk-dev] [PATCH v5 0/4] improve options help Thomas Monjalon
2021-04-05 19:39   ` [dpdk-dev] [PATCH v5 1/4] eal: explain argv behaviour during init Thomas Monjalon
2023-07-05 16:51     ` Stephen Hemminger
2021-04-05 19:39   ` [dpdk-dev] [PATCH v5 2/4] eal: improve options usage text Thomas Monjalon
2023-07-06 18:45     ` Stephen Hemminger
2024-03-18 22:11     ` Stephen Hemminger
2021-04-05 19:39   ` [dpdk-dev] [PATCH v5 3/4] eal: use macros for help option Thomas Monjalon
2023-07-05 16:52     ` Stephen Hemminger
2021-04-05 19:39   ` [dpdk-dev] [PATCH v5 4/4] app: hook in EAL usage help Thomas Monjalon
2021-04-06 13:32     ` Jerin Jacob
2021-04-06 14:05       ` Thomas Monjalon
2021-04-06 14:13         ` Jerin Jacob
2024-04-29 16:24     ` Stephen Hemminger
2023-06-29 16:27   ` [dpdk-dev] [PATCH v5 0/4] improve options help Stephen Hemminger
2023-07-06  8:29     ` Thomas Monjalon
2023-07-06 14:44       ` Stephen Hemminger
2023-07-06 15:53         ` Thomas Monjalon

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=20210321223116.1340974-5-thomas@monjalon.net \
    --to=thomas@monjalon.net \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=dmitrym@microsoft.com \
    --cc=navasile@linux.microsoft.com \
    --cc=pallavi.kadam@intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.