DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Burakov, Anatoly" <anatoly.burakov@intel.com>
To: Jananee Parthasarathy <jananeex.m.parthasarathy@intel.com>, dev@dpdk.org
Cc: remy.horton@intel.com, reshma.pattan@intel.com,
	Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
Subject: Re: [dpdk-dev] [PATCH v4] test: add sample functions for packet forwarding
Date: Tue, 17 Jul 2018 11:22:23 +0100	[thread overview]
Message-ID: <10b20449-0f25-a9ae-7cff-9e3be1c51838@intel.com> (raw)
In-Reply-To: <1531821650-5506-1-git-send-email-jananeex.m.parthasarathy@intel.com>

On 17-Jul-18 11:00 AM, Jananee Parthasarathy wrote:
> Add sample test functions for packet forwarding.
> These can be used for unit test cases for
> LatencyStats and BitrateStats libraries.
> 
> Signed-off-by: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
> Reviewed-by: Reshma Pattan <reshma.pattan@intel.com>
> Acked-by: Reshma Pattan <reshma.pattan@intel.com>
> ---
> v4: Updated return value as TEST_FAILED instead of -1
> v3: Used same port for tx,rx and removed extra line
> v2: SOCKET0 is removed and NUM_QUEUES is used accordingly
> ---
>   test/test/Makefile                |  1 +
>   test/test/sample_packet_forward.c | 71 +++++++++++++++++++++++++++++++++++++++
>   test/test/sample_packet_forward.h | 21 ++++++++++++
>   3 files changed, 93 insertions(+)
>   create mode 100644 test/test/sample_packet_forward.c
>   create mode 100644 test/test/sample_packet_forward.h
> 
> diff --git a/test/test/Makefile b/test/test/Makefile
> index e6967bab6..8032ce53b 100644
> --- a/test/test/Makefile
> +++ b/test/test/Makefile
> @@ -135,6 +135,7 @@ SRCS-y += test_version.c
>   SRCS-y += test_func_reentrancy.c
>   
>   SRCS-y += test_service_cores.c
> +SRCS-y += sample_packet_forward.c
>   
>   SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline.c
>   SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_num.c
> diff --git a/test/test/sample_packet_forward.c b/test/test/sample_packet_forward.c
> new file mode 100644
> index 000000000..4a13d5001
> --- /dev/null
> +++ b/test/test/sample_packet_forward.c
> @@ -0,0 +1,71 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright(c) 2018 Intel Corporation
> + */
> +
> +#include <string.h>
> +#include <errno.h>
> +#include <time.h>
> +
> +#include <rte_memcpy.h>
> +#include <rte_common.h>
> +#include <rte_eth_ring.h>
> +#include <rte_ethdev.h>
> +
> +#include "sample_packet_forward.h"
> +#include "test.h"
> +#include <rte_mbuf.h>
> +
> +#define NB_MBUF 512
> +
> +static struct rte_mempool *mp;
> +uint16_t portid;
> +
> +/* Sample test to create virtual rings and tx,rx portid from rings */
> +int
> +test_ring_setup(void)
> +{
> +	uint16_t socket_id = rte_socket_id();
> +	struct rte_ring *rxtx[NUM_RINGS];
> +	rxtx[0] = rte_ring_create("R0", RING_SIZE, socket_id,
> +			RING_F_SP_ENQ|RING_F_SC_DEQ);
> +	if (rxtx[0] == NULL) {
> +		printf("%s() line %u: rte_ring_create R0 failed",
> +				__func__, __LINE__);
> +		return TEST_FAILED;
> +	}
> +	portid = rte_eth_from_rings("net_ringa", rxtx, NUM_QUEUES, rxtx,
> +			NUM_QUEUES, socket_id);
> +
> +	return TEST_SUCCESS;

I am probably missing something, but

1) Why are there 256 rings maximum, but only one is used?
2) You're creating these rings - where are you destroying them?
3) Some more comments on why this would be needed would be great as 
well. Right now, it looks like it's ripped out of the middle of a 
patchset - i don't see it being used anywhere.

> +}
> +
> +/* Sample test to forward packets using virtual portids */
> +int
> +test_packet_forward(void)
> +{
> +	struct rte_mbuf *pbuf[NUM_PACKETS];
> +
> +	mp = rte_pktmbuf_pool_create("mbuf_pool", NB_MBUF, 32, 0,
> +			RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());
> +	if (mp == NULL)
> +		return TEST_FAILED;
> +	if (rte_pktmbuf_alloc_bulk(mp, pbuf, NUM_PACKETS) != 0)
> +		printf("%s() line %u: rte_pktmbuf_alloc_bulk failed"
> +				, __func__, __LINE__);
> +	/* send and receive packet and check for stats update */
> +	if (rte_eth_tx_burst(portid, 0, pbuf, NUM_PACKETS) !=
> +			NUM_PACKETS) {
> +		printf("%s() line %u: Error sending packet to"
> +				" port %d\n", __func__, __LINE__,
> +				portid);
> +		return TEST_FAILED;
> +	}
> +	if (rte_eth_rx_burst(portid, 0, pbuf, NUM_PACKETS) !=
> +			NUM_PACKETS) {
> +		printf("%s() line %u: Error receiving packet from"
> +				" port %d\n", __func__, __LINE__,
> +				portid);
> +		return TEST_FAILED;
> +	}
> +	return TEST_SUCCESS;

Same as above.

> +}
> diff --git a/test/test/sample_packet_forward.h b/test/test/sample_packet_forward.h
> new file mode 100644
> index 000000000..a4880316f
> --- /dev/null
> +++ b/test/test/sample_packet_forward.h
> @@ -0,0 +1,21 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright(c) 2018 Intel Corporation
> + */
> +
> +#ifndef _SAMPLE_PACKET_FORWARD_H_
> +#define _SAMPLE_PACKET_FORWARD_H_
> +
> +/* MACROS to support virtual ring creation */
> +#define RING_SIZE 256
> +#define NUM_RINGS 1
> +#define NUM_QUEUES 1
> +
> +#define NUM_PACKETS 10
> +
> +/* Sample test to create virtual rings and tx,rx portid from rings */
> +int test_ring_setup(void);
> +
> +/* Sample test to forward packet using virtual port id */
> +int test_packet_forward(void);
> +
> +#endif /* _SAMPLE_PACKET_FORWARD_H_ */
> 


-- 
Thanks,
Anatoly

  reply	other threads:[~2018-07-17 10:22 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-06 17:07 [dpdk-dev] [PATCH] " Jananee Parthasarathy
2018-07-10  9:53 ` Pattan, Reshma
2018-07-12  8:53 ` [dpdk-dev] [PATCH v2] " Jananee Parthasarathy
2018-07-12 16:00   ` Pattan, Reshma
2018-07-16 16:00   ` [dpdk-dev] [PATCH v3] test: " Jananee Parthasarathy
2018-07-17  8:15     ` Pattan, Reshma
2018-07-17 10:00     ` [dpdk-dev] [PATCH v4] " Jananee Parthasarathy
2018-07-17 10:22       ` Burakov, Anatoly [this message]
2018-07-24 10:54       ` [dpdk-dev] [PATCH v5 0/4] add unit tests for bitrate, latency and pdump libraries Naga Suresh Somarowthu
2018-07-24 10:54         ` [dpdk-dev] [PATCH v5 1/4] test: add ring pmd based packet rx/tx for UT Naga Suresh Somarowthu
2018-07-24 11:21           ` Burakov, Anatoly
2018-07-24 10:54         ` [dpdk-dev] [PATCH v5 2/4] test: add unit tests for bitrate library Naga Suresh Somarowthu
2018-07-24 10:54         ` [dpdk-dev] [PATCH v5 3/4] test: add unit tests for latencystats library Naga Suresh Somarowthu
2018-07-24 10:54         ` [dpdk-dev] [PATCH v5 4/4] test: add unit test for pdump library Naga Suresh Somarowthu
2018-07-24 12:27           ` Burakov, Anatoly
2018-07-25 17:05         ` [dpdk-dev] [PATCH v6 0/4] add unit tests for bitrate, latency and pdump libraries Naga Suresh Somarowthu
2018-07-25 17:05           ` [dpdk-dev] [PATCH v6 1/4] test: add ring pmd based packet rx/tx for UT Naga Suresh Somarowthu
2018-07-26  9:59             ` Burakov, Anatoly
2018-07-25 17:05           ` [dpdk-dev] [PATCH v6 2/4] test: add unit tests for bitrate library Naga Suresh Somarowthu
2018-07-25 17:05           ` [dpdk-dev] [PATCH v6 3/4] test: add unit tests for latencystats library Naga Suresh Somarowthu
2018-07-25 17:06           ` [dpdk-dev] [PATCH v6 4/4] test: add unit test for pdump library Naga Suresh Somarowthu
2018-07-26 10:02             ` Burakov, Anatoly
2018-07-26 12:50           ` [dpdk-dev] [PATCH v7 0/4] add unit tests for bitrate, latency and pdump libraries Naga Suresh Somarowthu
2018-07-26 12:50             ` [dpdk-dev] [PATCH v7 1/4] test: add ring pmd based packet rx/tx for UT Naga Suresh Somarowthu
2018-07-26 16:43               ` Pattan, Reshma
2018-07-27  7:40                 ` Burakov, Anatoly
2018-07-26 12:50             ` [dpdk-dev] [PATCH v7 2/4] test: add unit tests for bitrate library Naga Suresh Somarowthu
2018-07-26 12:50             ` [dpdk-dev] [PATCH v7 3/4] test: add unit tests for latencystats library Naga Suresh Somarowthu
2018-07-26 12:50             ` [dpdk-dev] [PATCH v7 4/4] test: add unit test for pdump library Naga Suresh Somarowthu
2018-07-26 16:04             ` [dpdk-dev] [PATCH v7 0/4] add unit tests for bitrate, latency and pdump libraries Pattan, Reshma
2018-07-27 14:26             ` [dpdk-dev] [PATCH v8 " Naga Suresh Somarowthu
2018-07-27 14:26               ` [dpdk-dev] [PATCH v8 1/4] test: add helper functions for tests using ring-PMD Rx/Tx Naga Suresh Somarowthu
2018-07-27 14:26               ` [dpdk-dev] [PATCH v8 2/4] test: add unit tests for bitrate library Naga Suresh Somarowthu
2018-07-27 14:26               ` [dpdk-dev] [PATCH v8 3/4] test: add unit tests for latencystats library Naga Suresh Somarowthu
2018-07-27 14:26               ` [dpdk-dev] [PATCH v8 4/4] test: add unit test for pdump library Naga Suresh Somarowthu
2018-07-31 14:57               ` [dpdk-dev] [PATCH v8 0/4] add unit tests for bitrate, latency and pdump libraries Thomas Monjalon
2018-07-31 16:43                 ` Pattan, Reshma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=10b20449-0f25-a9ae-7cff-9e3be1c51838@intel.com \
    --to=anatoly.burakov@intel.com \
    --cc=dev@dpdk.org \
    --cc=jananeex.m.parthasarathy@intel.com \
    --cc=remy.horton@intel.com \
    --cc=reshma.pattan@intel.com \
    --cc=tallurix.chaitanya.babu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).