[dpdk-dev] [PATCH] ipsec_secgw: added cmdline option for jumbo frames and switched to the new offload API.
De Lara Guarch, Pablo
pablo.de.lara.guarch at intel.com
Thu Oct 19 14:33:11 CEST 2017
Hi Radu,
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Radu Nicolau
> Sent: Wednesday, October 18, 2017 12:55 PM
> To: dev at dpdk.org
> Cc: Gonzalez Monroy, Sergio <sergio.gonzalez.monroy at intel.com>;
> Nicolau, Radu <radu.nicolau at 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.nicolau at 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);
More information about the dev
mailing list