Hi Radu, > -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Radu Nicolau > Sent: Wednesday, October 18, 2017 12:55 PM > To: dev@dpdk.org > Cc: Gonzalez Monroy, Sergio <sergio.gonzalez.mon...@intel.com>; > Nicolau, Radu <radu.nico...@intel.com> > Subject: [dpdk-dev] [PATCH] ipsec_secgw: added cmdline option for jumbo > frames and switched to the new offload API. >
The commit title is too long and partially incorrect (run check-git-log.sh script to detect this). It should start with "examples/ipsec_secgw: " and I think part of it should go into the message. I think something like: "examples/ipsec_secgw: support jumbo frames" would be better and then adding the command line option and using the new API should go into the message. Also, add the new parameter in "print_usage()" function. > Signed-off-by: Radu Nicolau <radu.nico...@intel.com> > --- > doc/guides/sample_app_ug/ipsec_secgw.rst | 6 +++++- > examples/ipsec-secgw/ipsec-secgw.c | 32 > +++++++++++++++++++++++++------- > 2 files changed, 30 insertions(+), 8 deletions(-) > > diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst > b/doc/guides/sample_app_ug/ipsec_secgw.rst > index b675cba..dd9bad2 100644 > --- a/doc/guides/sample_app_ug/ipsec_secgw.rst > +++ b/doc/guides/sample_app_ug/ipsec_secgw.rst > @@ -119,7 +119,7 @@ The application has a number of command line > options:: > > > ./build/ipsec-secgw [EAL options] -- > - -p PORTMASK -P -u PORTMASK > + -p PORTMASK -P -u PORTMASK -j FRAMESIZE > --config (port,queue,lcore)[,(port,queue,lcore] > --single-sa SAIDX > -f CONFIG_FILE_PATH @@ -135,6 +135,10 @@ Where: > > * ``-u PORTMASK``: hexadecimal bitmask of unprotected ports > > +* ``-j FRAMESIZE``: *optional*. Enables jumbo frames with the maximum > size > + specified as FRAMESIZE. If FRAMESIZE is missing or invalid a default > value > + of 9000 is used. When running the app with just "-j", it says: option requires an argument -- 'j' So, FRAMESIZE is mandatory, right? > + > * ``--config (port,queue,lcore)[,(port,queue,lcore)]``: determines which > queues > from which ports are mapped to which cores. > > diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec- > secgw/ipsec-secgw.c > index d451b3d..a7e4bd1 100644 > --- a/examples/ipsec-secgw/ipsec-secgw.c > +++ b/examples/ipsec-secgw/ipsec-secgw.c ... > @@ -983,7 +982,7 @@ parse_args(int32_t argc, char **argv) > > argvopt = argv; > > - while ((opt = getopt_long(argc, argvopt, "p:Pu:f:", > + while ((opt = getopt_long(argc, argvopt, "p:Pu:f:j:", > lgopts, &option_index)) != EOF) { > > switch (opt) { > @@ -1022,6 +1021,17 @@ parse_args(int32_t argc, char **argv) > } > f_present = 1; > break; > + case 'j': > + { > + int32_t size = parse_decimal(optarg); > + if (size <= 0) { > + printf("Invalid jumbo frame size\n"); Since you are not exiting the app due to this invalid size, and your defaulting to 9000 instead, I would add a notification to the user that Frame size is defaulting to 9000. > + frame_size = 9000; > + } else { > + frame_size = size; > + } Should it check for a minimum (1518?) or a maximum size? > + } > + printf("Enabled jumbo frames size %d\n", > frame_size); Use %u instead of %d, as it is an unsigned int variable. > case 0: > if (parse_args_long_options(lgopts, option_index)) { > print_usage(prgname);