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 at intel.com>
---
 examples/ip_pipeline/config_parse.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

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);
-- 
2.1.0

Reply via email to