[dpdk-dev] ip_pipeline: enable promiscuous mode configuration

Message ID 1441630662-15658-1-git-send-email-jasvinder.singh@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Jasvinder Singh Sept. 7, 2015, 12:57 p.m. UTC
  This patch allows parser to read promisc entry from
the LINK section defined in configuration file. It
is an optional parameter: if present, value should
be read (yes/no, on/off), else the value is the
default value (i.e. 1 = promiscuous mode on)

Example of config file:
[LINK0]
promisc = no; optional parameter, default value is “yes”

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
---
 examples/ip_pipeline/config_parse.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
  

Comments

Cristian Dumitrescu Sept. 7, 2015, 1:29 p.m. UTC | #1
> -----Original Message-----

> From: Singh, Jasvinder

> Sent: Monday, September 7, 2015 3:58 PM

> To: dev@dpdk.org

> Cc: Dumitrescu, Cristian

> Subject: [PATCH] ip_pipeline: enable promiscuous mode configuration

> 

> This patch allows parser to read promisc entry from

> the LINK section defined in configuration file. It

> is an optional parameter: if present, value should

> be read (yes/no, on/off), else the value is the

> default value (i.e. 1 = promiscuous mode on)

> 

> Example of config file:

> [LINK0]

> promisc = no; optional parameter, default value is “yes”

> 

> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>

> ---


Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
  
Thomas Monjalon Dec. 7, 2015, 12:32 a.m. UTC | #2
> > This patch allows parser to read promisc entry from
> > the LINK section defined in configuration file. It
> > is an optional parameter: if present, value should
> > be read (yes/no, on/off), else the value is the
> > default value (i.e. 1 = promiscuous mode on)
> > 
> > Example of config file:
> > [LINK0]
> > promisc = no; optional parameter, default value is “yes”
> > 
> > Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
> 
> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

Applied, thanks
  

Patch

diff --git a/examples/ip_pipeline/config_parse.c b/examples/ip_pipeline/config_parse.c
index c9b78f9..e40c4f2 100644
--- a/examples/ip_pipeline/config_parse.c
+++ b/examples/ip_pipeline/config_parse.c
@@ -1240,7 +1240,13 @@  parse_link(struct app_params *app,
 		struct rte_cfgfile_entry *ent = &entries[i];
 
 		ret = -ESRCH;
-		if (strcmp(ent->name, "arp_q") == 0)
+		if (strcmp(ent->name, "promisc") == 0) {
+			ret = parser_read_arg_bool(ent->value);
+			if (ret >= 0) {
+				param->promisc = ret;
+				ret = 0;
+			}
+		} else if (strcmp(ent->name, "arp_q") == 0)
 			ret = parser_read_uint32(&param->arp_q,
 				ent->value);
 		else if (strcmp(ent->name, "tcp_syn_q") == 0)
@@ -1991,6 +1997,7 @@  save_links_params(struct app_params *app, FILE *f)
 
 		fprintf(f, "[%s]\n", p->name);
 		fprintf(f, "; %s = %" PRIu32 "\n", "pmd_id", p->pmd_id);
+		fprintf(f, "%s = %s\n", "promisc", p->promisc ? "yes" : "no");
 		fprintf(f, "%s = %" PRIu32 "\n", "arp_q", p->arp_q);
 		fprintf(f, "%s = %" PRIu32 "\n", "tcp_syn_local_q",
 			p->tcp_syn_local_q);