DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] ipsec_secgw: added cmdline option for jumbo frames and switched to the new offload API.
@ 2017-10-18 11:55 Radu Nicolau
  2017-10-19 12:33 ` De Lara Guarch, Pablo
  2017-10-19 15:26 ` [dpdk-dev] [PATCH v2] examples/ipsec_secgw: support jumbo frames Radu Nicolau
  0 siblings, 2 replies; 13+ messages in thread
From: Radu Nicolau @ 2017-10-18 11:55 UTC (permalink / raw)
  To: dev; +Cc: sergio.gonzalez.monroy, Radu Nicolau

Signed-off-by: Radu Nicolau <radu.nicolau@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.
+
 *   ``--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
@@ -161,6 +161,7 @@ static int32_t numa_on = 1; /**< NUMA is enabled by default. */
 static uint32_t nb_lcores;
 static uint32_t single_sa;
 static uint32_t single_sa_idx;
+static uint32_t frame_size;
 
 struct lcore_rx_queue {
 	uint16_t port_id;
@@ -204,11 +205,9 @@ static struct rte_eth_conf port_conf = {
 		.mq_mode	= ETH_MQ_RX_RSS,
 		.max_rx_pkt_len = ETHER_MAX_LEN,
 		.split_hdr_size = 0,
-		.header_split   = 0, /**< Header Split disabled */
-		.hw_ip_checksum = 1, /**< IP checksum offload enabled */
-		.hw_vlan_filter = 0, /**< VLAN filtering disabled */
-		.jumbo_frame    = 0, /**< Jumbo Frame Support disabled */
-		.hw_strip_crc   = 1, /**< CRC stripped by hardware */
+		.offloads = DEV_RX_OFFLOAD_CHECKSUM |
+			    DEV_RX_OFFLOAD_CRC_STRIP,
+		.ignore_offload_bitfield = 1,
 	},
 	.rx_adv_conf = {
 		.rss_conf = {
@@ -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");
+					frame_size = 9000;
+				} else {
+					frame_size = size;
+				}
+			}
+			printf("Enabled jumbo frames size %d\n", frame_size);
 		case 0:
 			if (parse_args_long_options(lgopts, option_index)) {
 				print_usage(prgname);
@@ -1359,6 +1369,11 @@ port_init(uint16_t portid)
 	printf("Creating queues: nb_rx_queue=%d nb_tx_queue=%u...\n",
 			nb_rx_queue, nb_tx_queue);
 
+	if (frame_size) {
+		port_conf.rxmode.max_rx_pkt_len = frame_size;
+		port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;
+	}
+
 	ret = rte_eth_dev_configure(portid, nb_rx_queue, nb_tx_queue,
 			&port_conf);
 	if (ret < 0)
@@ -1423,11 +1438,14 @@ static void
 pool_init(struct socket_ctx *ctx, int32_t socket_id, uint32_t nb_mbuf)
 {
 	char s[64];
+	uint32_t buff_size = frame_size ? (frame_size + RTE_PKTMBUF_HEADROOM) :
+			RTE_MBUF_DEFAULT_BUF_SIZE;
+
 
 	snprintf(s, sizeof(s), "mbuf_pool_%d", socket_id);
 	ctx->mbuf_pool = rte_pktmbuf_pool_create(s, nb_mbuf,
 			MEMPOOL_CACHE_SIZE, ipsec_metadata_size(),
-			RTE_MBUF_DEFAULT_BUF_SIZE,
+			buff_size,
 			socket_id);
 	if (ctx->mbuf_pool == NULL)
 		rte_exit(EXIT_FAILURE, "Cannot init mbuf pool on socket %d\n",
-- 
2.7.5

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [dpdk-dev] [PATCH] ipsec_secgw: added cmdline option for jumbo frames and switched to the new offload API.
  2017-10-18 11:55 [dpdk-dev] [PATCH] ipsec_secgw: added cmdline option for jumbo frames and switched to the new offload API Radu Nicolau
@ 2017-10-19 12:33 ` De Lara Guarch, Pablo
  2017-10-19 15:26 ` [dpdk-dev] [PATCH v2] examples/ipsec_secgw: support jumbo frames Radu Nicolau
  1 sibling, 0 replies; 13+ messages in thread
From: De Lara Guarch, Pablo @ 2017-10-19 12:33 UTC (permalink / raw)
  To: Nicolau, Radu, dev; +Cc: Gonzalez Monroy, Sergio, Nicolau, Radu

Hi Radu,

> -----Original Message-----
> From: dev [mailto:dev-bounces@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.monroy@intel.com>;
> Nicolau, Radu <radu.nicolau@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@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);

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [dpdk-dev] [PATCH v2] examples/ipsec_secgw: support jumbo frames
  2017-10-18 11:55 [dpdk-dev] [PATCH] ipsec_secgw: added cmdline option for jumbo frames and switched to the new offload API Radu Nicolau
  2017-10-19 12:33 ` De Lara Guarch, Pablo
@ 2017-10-19 15:26 ` Radu Nicolau
  2017-10-19 15:40   ` De Lara Guarch, Pablo
  2017-10-19 15:58   ` [dpdk-dev] [PATCH v3] " Radu Nicolau
  1 sibling, 2 replies; 13+ messages in thread
From: Radu Nicolau @ 2017-10-19 15:26 UTC (permalink / raw)
  To: dev; +Cc: sergio.gonzalez.monroy, pablo.de.lara.guarch, Radu Nicolau

Added cmdline option for jumbo frames.
Switched port initialization to the new offload API.

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
---
v2: updated commit message

 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.
+
 *   ``--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
@@ -161,6 +161,7 @@ static int32_t numa_on = 1; /**< NUMA is enabled by default. */
 static uint32_t nb_lcores;
 static uint32_t single_sa;
 static uint32_t single_sa_idx;
+static uint32_t frame_size;
 
 struct lcore_rx_queue {
 	uint16_t port_id;
@@ -204,11 +205,9 @@ static struct rte_eth_conf port_conf = {
 		.mq_mode	= ETH_MQ_RX_RSS,
 		.max_rx_pkt_len = ETHER_MAX_LEN,
 		.split_hdr_size = 0,
-		.header_split   = 0, /**< Header Split disabled */
-		.hw_ip_checksum = 1, /**< IP checksum offload enabled */
-		.hw_vlan_filter = 0, /**< VLAN filtering disabled */
-		.jumbo_frame    = 0, /**< Jumbo Frame Support disabled */
-		.hw_strip_crc   = 1, /**< CRC stripped by hardware */
+		.offloads = DEV_RX_OFFLOAD_CHECKSUM |
+			    DEV_RX_OFFLOAD_CRC_STRIP,
+		.ignore_offload_bitfield = 1,
 	},
 	.rx_adv_conf = {
 		.rss_conf = {
@@ -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");
+					frame_size = 9000;
+				} else {
+					frame_size = size;
+				}
+			}
+			printf("Enabled jumbo frames size %d\n", frame_size);
 		case 0:
 			if (parse_args_long_options(lgopts, option_index)) {
 				print_usage(prgname);
@@ -1359,6 +1369,11 @@ port_init(uint16_t portid)
 	printf("Creating queues: nb_rx_queue=%d nb_tx_queue=%u...\n",
 			nb_rx_queue, nb_tx_queue);
 
+	if (frame_size) {
+		port_conf.rxmode.max_rx_pkt_len = frame_size;
+		port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;
+	}
+
 	ret = rte_eth_dev_configure(portid, nb_rx_queue, nb_tx_queue,
 			&port_conf);
 	if (ret < 0)
@@ -1423,11 +1438,14 @@ static void
 pool_init(struct socket_ctx *ctx, int32_t socket_id, uint32_t nb_mbuf)
 {
 	char s[64];
+	uint32_t buff_size = frame_size ? (frame_size + RTE_PKTMBUF_HEADROOM) :
+			RTE_MBUF_DEFAULT_BUF_SIZE;
+
 
 	snprintf(s, sizeof(s), "mbuf_pool_%d", socket_id);
 	ctx->mbuf_pool = rte_pktmbuf_pool_create(s, nb_mbuf,
 			MEMPOOL_CACHE_SIZE, ipsec_metadata_size(),
-			RTE_MBUF_DEFAULT_BUF_SIZE,
+			buff_size,
 			socket_id);
 	if (ctx->mbuf_pool == NULL)
 		rte_exit(EXIT_FAILURE, "Cannot init mbuf pool on socket %d\n",
-- 
2.7.5

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [dpdk-dev] [PATCH v2] examples/ipsec_secgw: support jumbo frames
  2017-10-19 15:26 ` [dpdk-dev] [PATCH v2] examples/ipsec_secgw: support jumbo frames Radu Nicolau
@ 2017-10-19 15:40   ` De Lara Guarch, Pablo
  2017-10-19 15:42     ` Nicolau, Radu
  2017-10-19 15:58   ` [dpdk-dev] [PATCH v3] " Radu Nicolau
  1 sibling, 1 reply; 13+ messages in thread
From: De Lara Guarch, Pablo @ 2017-10-19 15:40 UTC (permalink / raw)
  To: Nicolau, Radu, dev; +Cc: Gonzalez Monroy, Sergio

Hi Radu,

> -----Original Message-----
> From: Nicolau, Radu
> Sent: Thursday, October 19, 2017 4:26 PM
> To: dev@dpdk.org
> Cc: Gonzalez Monroy, Sergio <sergio.gonzalez.monroy@intel.com>; De Lara
> Guarch, Pablo <pablo.de.lara.guarch@intel.com>; Nicolau, Radu
> <radu.nicolau@intel.com>
> Subject: [PATCH v2] examples/ipsec_secgw: support jumbo frames
> 
> Added cmdline option for jumbo frames.
> Switched port initialization to the new offload API.
> 
> Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>

I think you missed the other comments that I had in your v1.

Pablo

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [dpdk-dev] [PATCH v2] examples/ipsec_secgw: support jumbo frames
  2017-10-19 15:40   ` De Lara Guarch, Pablo
@ 2017-10-19 15:42     ` Nicolau, Radu
  0 siblings, 0 replies; 13+ messages in thread
From: Nicolau, Radu @ 2017-10-19 15:42 UTC (permalink / raw)
  To: De Lara Guarch, Pablo, dev; +Cc: Gonzalez Monroy, Sergio

Hi,
I did, sorry :)
Working on them now.

> -----Original Message-----
> From: De Lara Guarch, Pablo
> Sent: Thursday, October 19, 2017 4:40 PM
> To: Nicolau, Radu <radu.nicolau@intel.com>; dev@dpdk.org
> Cc: Gonzalez Monroy, Sergio <sergio.gonzalez.monroy@intel.com>
> Subject: RE: [PATCH v2] examples/ipsec_secgw: support jumbo frames
> 
> Hi Radu,
> 
> > -----Original Message-----
> > From: Nicolau, Radu
> > Sent: Thursday, October 19, 2017 4:26 PM
> > To: dev@dpdk.org
> > Cc: Gonzalez Monroy, Sergio <sergio.gonzalez.monroy@intel.com>; De
> > Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; Nicolau, Radu
> > <radu.nicolau@intel.com>
> > Subject: [PATCH v2] examples/ipsec_secgw: support jumbo frames
> >
> > Added cmdline option for jumbo frames.
> > Switched port initialization to the new offload API.
> >
> > Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
> 
> I think you missed the other comments that I had in your v1.
> 
> Pablo

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [dpdk-dev] [PATCH v3] examples/ipsec_secgw: support jumbo frames
  2017-10-19 15:26 ` [dpdk-dev] [PATCH v2] examples/ipsec_secgw: support jumbo frames Radu Nicolau
  2017-10-19 15:40   ` De Lara Guarch, Pablo
@ 2017-10-19 15:58   ` Radu Nicolau
  2017-10-19 16:15     ` Aviad Yehezkel
                       ` (2 more replies)
  1 sibling, 3 replies; 13+ messages in thread
From: Radu Nicolau @ 2017-10-19 15:58 UTC (permalink / raw)
  To: dev; +Cc: sergio.gonzalez.monroy, pablo.de.lara.guarch, Radu Nicolau

Added cmdline option for jumbo frames.
Switched port initialization to the new offload API.

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
---
v2: updated commit message
v3: addressed feedback

 doc/guides/sample_app_ug/ipsec_secgw.rst |  6 +++++-
 examples/ipsec-secgw/ipsec-secgw.c       | 35 +++++++++++++++++++++++++-------
 2 files changed, 33 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..a292859 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 an invalid value is provided as FRAMESIZE
+    then the default value 9000 is used.
+
 *   ``--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..a6cb342 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -161,6 +161,7 @@ static int32_t numa_on = 1; /**< NUMA is enabled by default. */
 static uint32_t nb_lcores;
 static uint32_t single_sa;
 static uint32_t single_sa_idx;
+static uint32_t frame_size;
 
 struct lcore_rx_queue {
 	uint16_t port_id;
@@ -204,11 +205,9 @@ static struct rte_eth_conf port_conf = {
 		.mq_mode	= ETH_MQ_RX_RSS,
 		.max_rx_pkt_len = ETHER_MAX_LEN,
 		.split_hdr_size = 0,
-		.header_split   = 0, /**< Header Split disabled */
-		.hw_ip_checksum = 1, /**< IP checksum offload enabled */
-		.hw_vlan_filter = 0, /**< VLAN filtering disabled */
-		.jumbo_frame    = 0, /**< Jumbo Frame Support disabled */
-		.hw_strip_crc   = 1, /**< CRC stripped by hardware */
+		.offloads = DEV_RX_OFFLOAD_CHECKSUM |
+			    DEV_RX_OFFLOAD_CRC_STRIP,
+		.ignore_offload_bitfield = 1,
 	},
 	.rx_adv_conf = {
 		.rss_conf = {
@@ -845,6 +844,7 @@ print_usage(const char *prgname)
 		"  -p PORTMASK: hexadecimal bitmask of ports to configure\n"
 		"  -P : enable promiscuous mode\n"
 		"  -u PORTMASK: hexadecimal bitmask of unprotected ports\n"
+		"  -j FRAMESIZE: jumbo frame maximum size\n"
 		"  --"OPTION_CONFIG": (port,queue,lcore): "
 		"rx queues configuration\n"
 		"  --single-sa SAIDX: use single SA index for outbound, "
@@ -983,7 +983,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 +1022,19 @@ parse_args(int32_t argc, char **argv)
 			}
 			f_present = 1;
 			break;
+		case 'j':
+			{
+				int32_t size = parse_decimal(optarg);
+				if (size <= 1518) {
+					printf("Invalid jumbo frame size\n"
+					    "Using default value 9000\n");
+					frame_size = 9000;
+				} else {
+					frame_size = size;
+				}
+			}
+			printf("Enabled jumbo frames size %u\n", frame_size);
+			break;
 		case 0:
 			if (parse_args_long_options(lgopts, option_index)) {
 				print_usage(prgname);
@@ -1359,6 +1372,11 @@ port_init(uint16_t portid)
 	printf("Creating queues: nb_rx_queue=%d nb_tx_queue=%u...\n",
 			nb_rx_queue, nb_tx_queue);
 
+	if (frame_size) {
+		port_conf.rxmode.max_rx_pkt_len = frame_size;
+		port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;
+	}
+
 	ret = rte_eth_dev_configure(portid, nb_rx_queue, nb_tx_queue,
 			&port_conf);
 	if (ret < 0)
@@ -1423,11 +1441,14 @@ static void
 pool_init(struct socket_ctx *ctx, int32_t socket_id, uint32_t nb_mbuf)
 {
 	char s[64];
+	uint32_t buff_size = frame_size ? (frame_size + RTE_PKTMBUF_HEADROOM) :
+			RTE_MBUF_DEFAULT_BUF_SIZE;
+
 
 	snprintf(s, sizeof(s), "mbuf_pool_%d", socket_id);
 	ctx->mbuf_pool = rte_pktmbuf_pool_create(s, nb_mbuf,
 			MEMPOOL_CACHE_SIZE, ipsec_metadata_size(),
-			RTE_MBUF_DEFAULT_BUF_SIZE,
+			buff_size,
 			socket_id);
 	if (ctx->mbuf_pool == NULL)
 		rte_exit(EXIT_FAILURE, "Cannot init mbuf pool on socket %d\n",
-- 
2.7.5

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [dpdk-dev] [PATCH v3] examples/ipsec_secgw: support jumbo frames
  2017-10-19 15:58   ` [dpdk-dev] [PATCH v3] " Radu Nicolau
@ 2017-10-19 16:15     ` Aviad Yehezkel
  2017-10-20  9:28     ` [dpdk-dev] [PATCH v4] examples/ipsec_secgw: added jumbo frames support Radu Nicolau
  2017-10-20  9:30     ` [dpdk-dev] [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload API Radu Nicolau
  2 siblings, 0 replies; 13+ messages in thread
From: Aviad Yehezkel @ 2017-10-19 16:15 UTC (permalink / raw)
  To: Radu Nicolau, dev; +Cc: sergio.gonzalez.monroy, pablo.de.lara.guarch



On 10/19/2017 6:58 PM, Radu Nicolau wrote:
> Added cmdline option for jumbo frames.
> Switched port initialization to the new offload API.
>
> Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
> ---
> v2: updated commit message
> v3: addressed feedback
>
>   doc/guides/sample_app_ug/ipsec_secgw.rst |  6 +++++-
>   examples/ipsec-secgw/ipsec-secgw.c       | 35 +++++++++++++++++++++++++-------
>   2 files changed, 33 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..a292859 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 an invalid value is provided as FRAMESIZE
> +    then the default value 9000 is used.
> +
>   *   ``--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..a6cb342 100644
> --- a/examples/ipsec-secgw/ipsec-secgw.c
> +++ b/examples/ipsec-secgw/ipsec-secgw.c
> @@ -161,6 +161,7 @@ static int32_t numa_on = 1; /**< NUMA is enabled by default. */
>   static uint32_t nb_lcores;
>   static uint32_t single_sa;
>   static uint32_t single_sa_idx;
> +static uint32_t frame_size;
>   
>   struct lcore_rx_queue {
>   	uint16_t port_id;
> @@ -204,11 +205,9 @@ static struct rte_eth_conf port_conf = {
>   		.mq_mode	= ETH_MQ_RX_RSS,
>   		.max_rx_pkt_len = ETHER_MAX_LEN,
>   		.split_hdr_size = 0,
> -		.header_split   = 0, /**< Header Split disabled */
> -		.hw_ip_checksum = 1, /**< IP checksum offload enabled */
> -		.hw_vlan_filter = 0, /**< VLAN filtering disabled */
> -		.jumbo_frame    = 0, /**< Jumbo Frame Support disabled */
> -		.hw_strip_crc   = 1, /**< CRC stripped by hardware */
> +		.offloads = DEV_RX_OFFLOAD_CHECKSUM |
> +			    DEV_RX_OFFLOAD_CRC_STRIP,
> +		.ignore_offload_bitfield = 1,
>   	},
IMO change the port_conf struct should be a different patch.

Thanks!
>   	.rx_adv_conf = {
>   		.rss_conf = {
> @@ -845,6 +844,7 @@ print_usage(const char *prgname)
>   		"  -p PORTMASK: hexadecimal bitmask of ports to configure\n"
>   		"  -P : enable promiscuous mode\n"
>   		"  -u PORTMASK: hexadecimal bitmask of unprotected ports\n"
> +		"  -j FRAMESIZE: jumbo frame maximum size\n"
>   		"  --"OPTION_CONFIG": (port,queue,lcore): "
>   		"rx queues configuration\n"
>   		"  --single-sa SAIDX: use single SA index for outbound, "
> @@ -983,7 +983,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 +1022,19 @@ parse_args(int32_t argc, char **argv)
>   			}
>   			f_present = 1;
>   			break;
> +		case 'j':
> +			{
> +				int32_t size = parse_decimal(optarg);
> +				if (size <= 1518) {
> +					printf("Invalid jumbo frame size\n"
> +					    "Using default value 9000\n");
> +					frame_size = 9000;
> +				} else {
> +					frame_size = size;
> +				}
> +			}
> +			printf("Enabled jumbo frames size %u\n", frame_size);
> +			break;
>   		case 0:
>   			if (parse_args_long_options(lgopts, option_index)) {
>   				print_usage(prgname);
> @@ -1359,6 +1372,11 @@ port_init(uint16_t portid)
>   	printf("Creating queues: nb_rx_queue=%d nb_tx_queue=%u...\n",
>   			nb_rx_queue, nb_tx_queue);
>   
> +	if (frame_size) {
> +		port_conf.rxmode.max_rx_pkt_len = frame_size;
> +		port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;
> +	}
> +
>   	ret = rte_eth_dev_configure(portid, nb_rx_queue, nb_tx_queue,
>   			&port_conf);
>   	if (ret < 0)
> @@ -1423,11 +1441,14 @@ static void
>   pool_init(struct socket_ctx *ctx, int32_t socket_id, uint32_t nb_mbuf)
>   {
>   	char s[64];
> +	uint32_t buff_size = frame_size ? (frame_size + RTE_PKTMBUF_HEADROOM) :
> +			RTE_MBUF_DEFAULT_BUF_SIZE;
> +
>   
>   	snprintf(s, sizeof(s), "mbuf_pool_%d", socket_id);
>   	ctx->mbuf_pool = rte_pktmbuf_pool_create(s, nb_mbuf,
>   			MEMPOOL_CACHE_SIZE, ipsec_metadata_size(),
> -			RTE_MBUF_DEFAULT_BUF_SIZE,
> +			buff_size,
>   			socket_id);
>   	if (ctx->mbuf_pool == NULL)
>   		rte_exit(EXIT_FAILURE, "Cannot init mbuf pool on socket %d\n",

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [dpdk-dev] [PATCH v4] examples/ipsec_secgw: added jumbo frames support
  2017-10-19 15:58   ` [dpdk-dev] [PATCH v3] " Radu Nicolau
  2017-10-19 16:15     ` Aviad Yehezkel
@ 2017-10-20  9:28     ` Radu Nicolau
  2017-10-20  9:30     ` [dpdk-dev] [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload API Radu Nicolau
  2 siblings, 0 replies; 13+ messages in thread
From: Radu Nicolau @ 2017-10-20  9:28 UTC (permalink / raw)
  To: dev; +Cc: sergio.gonzalez.monroy, pablo.de.lara.guarch, aviadye, Radu Nicolau

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
---
v2: updated commit message
v3: addressed feedback
v4: split in 2 patches

 doc/guides/sample_app_ug/ipsec_secgw.rst |  6 +++++-
 examples/ipsec-secgw/ipsec-secgw.c       | 31 +++++++++++++++++++++++++++++--
 2 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index b675cba..a292859 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 an invalid value is provided as FRAMESIZE
+    then the default value 9000 is used.
+
 *   ``--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 37274e8..39f81cb 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -161,6 +161,7 @@ static int32_t numa_on = 1; /**< NUMA is enabled by default. */
 static uint32_t nb_lcores;
 static uint32_t single_sa;
 static uint32_t single_sa_idx;
+static uint32_t frame_size;
 
 struct lcore_rx_queue {
 	uint16_t port_id;
@@ -843,6 +844,7 @@ print_usage(const char *prgname)
 		"  -p PORTMASK: hexadecimal bitmask of ports to configure\n"
 		"  -P : enable promiscuous mode\n"
 		"  -u PORTMASK: hexadecimal bitmask of unprotected ports\n"
+		"  -j FRAMESIZE: jumbo frame maximum size\n"
 		"  --"OPTION_CONFIG": (port,queue,lcore): "
 		"rx queues configuration\n"
 		"  --single-sa SAIDX: use single SA index for outbound, "
@@ -981,7 +983,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) {
@@ -1020,6 +1022,23 @@ parse_args(int32_t argc, char **argv)
 			}
 			f_present = 1;
 			break;
+		case 'j':
+			{
+				int32_t size = parse_decimal(optarg);
+				if (size <= 1518) {
+					printf("Invalid jumbo frame size\n");
+					if (size < 0) {
+						print_usage(prgname);
+						return -1;
+					}
+					printf("Using default value 9000\n");
+					frame_size = 9000;
+				} else {
+					frame_size = size;
+				}
+			}
+			printf("Enabled jumbo frames size %u\n", frame_size);
+			break;
 		case 0:
 			if (parse_args_long_options(lgopts, option_index)) {
 				print_usage(prgname);
@@ -1357,6 +1376,11 @@ port_init(uint16_t portid)
 	printf("Creating queues: nb_rx_queue=%d nb_tx_queue=%u...\n",
 			nb_rx_queue, nb_tx_queue);
 
+	if (frame_size) {
+		port_conf.rxmode.max_rx_pkt_len = frame_size;
+		port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;
+	}
+
 	ret = rte_eth_dev_configure(portid, nb_rx_queue, nb_tx_queue,
 			&port_conf);
 	if (ret < 0)
@@ -1421,11 +1445,14 @@ static void
 pool_init(struct socket_ctx *ctx, int32_t socket_id, uint32_t nb_mbuf)
 {
 	char s[64];
+	uint32_t buff_size = frame_size ? (frame_size + RTE_PKTMBUF_HEADROOM) :
+			RTE_MBUF_DEFAULT_BUF_SIZE;
+
 
 	snprintf(s, sizeof(s), "mbuf_pool_%d", socket_id);
 	ctx->mbuf_pool = rte_pktmbuf_pool_create(s, nb_mbuf,
 			MEMPOOL_CACHE_SIZE, ipsec_metadata_size(),
-			RTE_MBUF_DEFAULT_BUF_SIZE,
+			buff_size,
 			socket_id);
 	if (ctx->mbuf_pool == NULL)
 		rte_exit(EXIT_FAILURE, "Cannot init mbuf pool on socket %d\n",
-- 
2.7.5

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [dpdk-dev] [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload API
  2017-10-19 15:58   ` [dpdk-dev] [PATCH v3] " Radu Nicolau
  2017-10-19 16:15     ` Aviad Yehezkel
  2017-10-20  9:28     ` [dpdk-dev] [PATCH v4] examples/ipsec_secgw: added jumbo frames support Radu Nicolau
@ 2017-10-20  9:30     ` Radu Nicolau
  2017-10-20  9:30       ` [dpdk-dev] [PATCH v4 2/2] examples/ipsec_secgw: added jumbo frames support Radu Nicolau
                         ` (2 more replies)
  2 siblings, 3 replies; 13+ messages in thread
From: Radu Nicolau @ 2017-10-20  9:30 UTC (permalink / raw)
  To: dev; +Cc: sergio.gonzalez.monroy, pablo.de.lara.guarch, aviadye, Radu Nicolau

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
---
v2: updated commit message
v3: addressed feedback
v4: split in 2 patches

 examples/ipsec-secgw/ipsec-secgw.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index d451b3d..37274e8 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -204,11 +204,9 @@ static struct rte_eth_conf port_conf = {
 		.mq_mode	= ETH_MQ_RX_RSS,
 		.max_rx_pkt_len = ETHER_MAX_LEN,
 		.split_hdr_size = 0,
-		.header_split   = 0, /**< Header Split disabled */
-		.hw_ip_checksum = 1, /**< IP checksum offload enabled */
-		.hw_vlan_filter = 0, /**< VLAN filtering disabled */
-		.jumbo_frame    = 0, /**< Jumbo Frame Support disabled */
-		.hw_strip_crc   = 1, /**< CRC stripped by hardware */
+		.offloads = DEV_RX_OFFLOAD_CHECKSUM |
+			    DEV_RX_OFFLOAD_CRC_STRIP,
+		.ignore_offload_bitfield = 1,
 	},
 	.rx_adv_conf = {
 		.rss_conf = {
-- 
2.7.5

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [dpdk-dev] [PATCH v4 2/2] examples/ipsec_secgw: added jumbo frames support
  2017-10-20  9:30     ` [dpdk-dev] [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload API Radu Nicolau
@ 2017-10-20  9:30       ` Radu Nicolau
  2017-10-20 10:28         ` De Lara Guarch, Pablo
  2017-10-20 10:27       ` [dpdk-dev] [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload API De Lara Guarch, Pablo
  2017-10-20 15:52       ` De Lara Guarch, Pablo
  2 siblings, 1 reply; 13+ messages in thread
From: Radu Nicolau @ 2017-10-20  9:30 UTC (permalink / raw)
  To: dev; +Cc: sergio.gonzalez.monroy, pablo.de.lara.guarch, aviadye, Radu Nicolau

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
---
 doc/guides/sample_app_ug/ipsec_secgw.rst |  6 +++++-
 examples/ipsec-secgw/ipsec-secgw.c       | 31 +++++++++++++++++++++++++++++--
 2 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index b675cba..a292859 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 an invalid value is provided as FRAMESIZE
+    then the default value 9000 is used.
+
 *   ``--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 37274e8..39f81cb 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -161,6 +161,7 @@ static int32_t numa_on = 1; /**< NUMA is enabled by default. */
 static uint32_t nb_lcores;
 static uint32_t single_sa;
 static uint32_t single_sa_idx;
+static uint32_t frame_size;
 
 struct lcore_rx_queue {
 	uint16_t port_id;
@@ -843,6 +844,7 @@ print_usage(const char *prgname)
 		"  -p PORTMASK: hexadecimal bitmask of ports to configure\n"
 		"  -P : enable promiscuous mode\n"
 		"  -u PORTMASK: hexadecimal bitmask of unprotected ports\n"
+		"  -j FRAMESIZE: jumbo frame maximum size\n"
 		"  --"OPTION_CONFIG": (port,queue,lcore): "
 		"rx queues configuration\n"
 		"  --single-sa SAIDX: use single SA index for outbound, "
@@ -981,7 +983,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) {
@@ -1020,6 +1022,23 @@ parse_args(int32_t argc, char **argv)
 			}
 			f_present = 1;
 			break;
+		case 'j':
+			{
+				int32_t size = parse_decimal(optarg);
+				if (size <= 1518) {
+					printf("Invalid jumbo frame size\n");
+					if (size < 0) {
+						print_usage(prgname);
+						return -1;
+					}
+					printf("Using default value 9000\n");
+					frame_size = 9000;
+				} else {
+					frame_size = size;
+				}
+			}
+			printf("Enabled jumbo frames size %u\n", frame_size);
+			break;
 		case 0:
 			if (parse_args_long_options(lgopts, option_index)) {
 				print_usage(prgname);
@@ -1357,6 +1376,11 @@ port_init(uint16_t portid)
 	printf("Creating queues: nb_rx_queue=%d nb_tx_queue=%u...\n",
 			nb_rx_queue, nb_tx_queue);
 
+	if (frame_size) {
+		port_conf.rxmode.max_rx_pkt_len = frame_size;
+		port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;
+	}
+
 	ret = rte_eth_dev_configure(portid, nb_rx_queue, nb_tx_queue,
 			&port_conf);
 	if (ret < 0)
@@ -1421,11 +1445,14 @@ static void
 pool_init(struct socket_ctx *ctx, int32_t socket_id, uint32_t nb_mbuf)
 {
 	char s[64];
+	uint32_t buff_size = frame_size ? (frame_size + RTE_PKTMBUF_HEADROOM) :
+			RTE_MBUF_DEFAULT_BUF_SIZE;
+
 
 	snprintf(s, sizeof(s), "mbuf_pool_%d", socket_id);
 	ctx->mbuf_pool = rte_pktmbuf_pool_create(s, nb_mbuf,
 			MEMPOOL_CACHE_SIZE, ipsec_metadata_size(),
-			RTE_MBUF_DEFAULT_BUF_SIZE,
+			buff_size,
 			socket_id);
 	if (ctx->mbuf_pool == NULL)
 		rte_exit(EXIT_FAILURE, "Cannot init mbuf pool on socket %d\n",
-- 
2.7.5

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [dpdk-dev] [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload API
  2017-10-20  9:30     ` [dpdk-dev] [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload API Radu Nicolau
  2017-10-20  9:30       ` [dpdk-dev] [PATCH v4 2/2] examples/ipsec_secgw: added jumbo frames support Radu Nicolau
@ 2017-10-20 10:27       ` De Lara Guarch, Pablo
  2017-10-20 15:52       ` De Lara Guarch, Pablo
  2 siblings, 0 replies; 13+ messages in thread
From: De Lara Guarch, Pablo @ 2017-10-20 10:27 UTC (permalink / raw)
  To: Nicolau, Radu, dev; +Cc: Gonzalez Monroy, Sergio, aviadye



> -----Original Message-----
> From: Nicolau, Radu
> Sent: Friday, October 20, 2017 10:30 AM
> To: dev@dpdk.org
> Cc: Gonzalez Monroy, Sergio <sergio.gonzalez.monroy@intel.com>; De Lara
> Guarch, Pablo <pablo.de.lara.guarch@intel.com>;
> aviadye@dev.mellanox.co.il; Nicolau, Radu <radu.nicolau@intel.com>
> Subject: [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload
> API
> 
> Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>

Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [dpdk-dev] [PATCH v4 2/2] examples/ipsec_secgw: added jumbo frames support
  2017-10-20  9:30       ` [dpdk-dev] [PATCH v4 2/2] examples/ipsec_secgw: added jumbo frames support Radu Nicolau
@ 2017-10-20 10:28         ` De Lara Guarch, Pablo
  0 siblings, 0 replies; 13+ messages in thread
From: De Lara Guarch, Pablo @ 2017-10-20 10:28 UTC (permalink / raw)
  To: Nicolau, Radu, dev; +Cc: Gonzalez Monroy, Sergio, aviadye, Nicolau, Radu



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Radu Nicolau
> Sent: Friday, October 20, 2017 10:30 AM
> To: dev@dpdk.org
> Cc: Gonzalez Monroy, Sergio <sergio.gonzalez.monroy@intel.com>; De Lara
> Guarch, Pablo <pablo.de.lara.guarch@intel.com>;
> aviadye@dev.mellanox.co.il; Nicolau, Radu <radu.nicolau@intel.com>
> Subject: [dpdk-dev] [PATCH v4 2/2] examples/ipsec_secgw: added jumbo
> frames support
> 
> Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>

Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [dpdk-dev] [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload API
  2017-10-20  9:30     ` [dpdk-dev] [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload API Radu Nicolau
  2017-10-20  9:30       ` [dpdk-dev] [PATCH v4 2/2] examples/ipsec_secgw: added jumbo frames support Radu Nicolau
  2017-10-20 10:27       ` [dpdk-dev] [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload API De Lara Guarch, Pablo
@ 2017-10-20 15:52       ` De Lara Guarch, Pablo
  2 siblings, 0 replies; 13+ messages in thread
From: De Lara Guarch, Pablo @ 2017-10-20 15:52 UTC (permalink / raw)
  To: Nicolau, Radu, dev; +Cc: Gonzalez Monroy, Sergio, aviadye



> -----Original Message-----
> From: Nicolau, Radu
> Sent: Friday, October 20, 2017 10:30 AM
> To: dev@dpdk.org
> Cc: Gonzalez Monroy, Sergio <sergio.gonzalez.monroy@intel.com>; De Lara
> Guarch, Pablo <pablo.de.lara.guarch@intel.com>;
> aviadye@dev.mellanox.co.il; Nicolau, Radu <radu.nicolau@intel.com>
> Subject: [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload
> API
> 
> Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>

Series applied to dpdk-next-crypto.
Thanks,
Pablo

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-10-20 15:52 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-18 11:55 [dpdk-dev] [PATCH] ipsec_secgw: added cmdline option for jumbo frames and switched to the new offload API Radu Nicolau
2017-10-19 12:33 ` De Lara Guarch, Pablo
2017-10-19 15:26 ` [dpdk-dev] [PATCH v2] examples/ipsec_secgw: support jumbo frames Radu Nicolau
2017-10-19 15:40   ` De Lara Guarch, Pablo
2017-10-19 15:42     ` Nicolau, Radu
2017-10-19 15:58   ` [dpdk-dev] [PATCH v3] " Radu Nicolau
2017-10-19 16:15     ` Aviad Yehezkel
2017-10-20  9:28     ` [dpdk-dev] [PATCH v4] examples/ipsec_secgw: added jumbo frames support Radu Nicolau
2017-10-20  9:30     ` [dpdk-dev] [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload API Radu Nicolau
2017-10-20  9:30       ` [dpdk-dev] [PATCH v4 2/2] examples/ipsec_secgw: added jumbo frames support Radu Nicolau
2017-10-20 10:28         ` De Lara Guarch, Pablo
2017-10-20 10:27       ` [dpdk-dev] [PATCH v4 1/2] examples/ipsec_secgw: switched to new offload API De Lara Guarch, Pablo
2017-10-20 15:52       ` De Lara Guarch, Pablo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).