From: "Tu, Lijuan" <lijuan.tu@intel.com>
To: "Chen, Zhaoyan" <zhaoyan.chen@intel.com>, "dts@dpdk.org" <dts@dpdk.org>
Cc: "Chen, Zhaoyan" <zhaoyan.chen@intel.com>
Subject: Re: [dts] [PATCH V1] Add ABI negative test case
Date: Fri, 13 Mar 2020 06:33:10 +0000 [thread overview]
Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20E0BBEC7A7@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <20200309045901.175399-1-zhaoyan.chen@intel.com>
Applied, thanks
> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Chen, Zhaoyan
> Sent: Monday, March 9, 2020 12:59 PM
> To: dts@dpdk.org
> Cc: Chen, Zhaoyan <zhaoyan.chen@intel.com>
> Subject: [dts] [PATCH V1] Add ABI negative test case
>
> Add ABI negative test case for checking ABI test suite.
>
> ---
> test_plans/ABI_stable_test.rst | 150 +++++++++++++++++++++++++++++++++
> 1 file changed, 150 insertions(+)
>
> diff --git a/test_plans/ABI_stable_test.rst b/test_plans/ABI_stable_test.rst
> index bc8deb4..ab2fd7e 100644
> --- a/test_plans/ABI_stable_test.rst
> +++ b/test_plans/ABI_stable_test.rst
> @@ -148,3 +148,153 @@ Execute Test Suites
> +-------------------------------+------------------------+
> | l3fwd | performance |
> +-------------------------------+------------------------+
> +
> +
> +Negative Test Case
> +==================
> +
> +Prepare 1 patch file, 0001-rte_tx_burst_t_add-one-argument-at-the-
> end.patch ::
> +
> + From 56eb4b14c2344fddc9f8ee1c6b5cf9ef4999ee80 Mon Sep 17 00:00:00
> + 2001
> + From: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
> + Date: Thu, 30 Jan 2020 17:19:19 +0000
> + Subject: [PATCH] eth_tx_burst_t add one argument at the end
> +
> + compile with:
> + meson configure
> + -Ddisable_drivers=net/af_packet,net/ark,net/atlantic,net/avp,net/axgbe
> + ,net/bond,net/bnx2x,net/bnxt,net/cxgbe,net/dpaa,net/dpaa2,net/e1000,n
> e
> + t/ena,net/enetc,net/enic,net/fm10k,net/i40e,net/hinic,net/hns3,net/iav
> + f,net/ice,net/kni,net/liquidio,net/memif,net/netvsc,net/nfp,net/null,n
> + et/octeontx,net/octeontx2,net/pcap,net/pfe,net/qede,net/sfc,net/softni
> + c,net/tap,net/thunderx,net/vdev_netvsc,net/vhost,net/virtio,net/vmxnet
> +
> 3,common/cpt,common/dpaax,common/iavf,common/octeontx2,bus/dpaa,
> bus/fs
> +
> lmc,bus/ifpga,bus/vmbus,mempool/bucket,mempool/dpaa,mempool/dpaa
> 2,memp
> +
> ool/octeontx2,mempool/stack,raw/dpaa2_cmdif,raw/dpaa2_qdma,raw/ioat
> ,ra
> +
> w/ntb,raw/octeontx2_dma,raw/octeontx2_ep,raw/skeleton,crypto/caam_jr,
> c
> + rypto/ccp,crypto/dpaa_sec,crypto/dpaa2_sec,crypto/nitrox,crypto/null_c
> + rypto,crypto/octeontx_crypto,crypto/octeontx2_crypto,crypto/openssl,cr
> + ypto/crypto_scheduler,crypto/virtio_crypto,vdpa/ifc,event/dpaa,event/d
> +
> paa2,event/octeontx2,event/opdl,event/skeleton,event/sw,event/dsw,even
> +
> t/octeontx,baseband/null,baseband/turbo_sw,baseband/fpga_lte_fec,net/f
> + ailsafe
> +
> + Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
> + ---
> + drivers/net/ixgbe/ixgbe_ethdev.h | 4 ++--
> + drivers/net/ixgbe/ixgbe_rxtx.c | 10 +++++-----
> + drivers/net/ixgbe/ixgbe_vf_representor.c | 2 +-
> + lib/librte_ethdev/rte_ethdev.h | 2 +-
> + lib/librte_ethdev/rte_ethdev_core.h | 2 +-
> + 5 files changed, 10 insertions(+), 10 deletions(-)
> +
> + diff --git a/drivers/net/ixgbe/ixgbe_ethdev.h
> + b/drivers/net/ixgbe/ixgbe_ethdev.h
> + index e1cd8fd16..f5fce74fc 100644
> + --- a/drivers/net/ixgbe/ixgbe_ethdev.h
> + +++ b/drivers/net/ixgbe/ixgbe_ethdev.h
> + @@ -642,10 +642,10 @@ uint16_t ixgbe_recv_pkts_lro_bulk_alloc(void
> *rx_queue,
> + struct rte_mbuf **rx_pkts, uint16_t nb_pkts);
> +
> + uint16_t ixgbe_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
> + - uint16_t nb_pkts);
> + + uint16_t nb_pkts, uint32_t dummy);
> +
> + uint16_t ixgbe_xmit_pkts_simple(void *tx_queue, struct rte_mbuf
> **tx_pkts,
> + - uint16_t nb_pkts);
> + + uint16_t nb_pkts, uint32_t dummy);
> +
> + uint16_t ixgbe_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
> + uint16_t nb_pkts);
> + diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c
> + b/drivers/net/ixgbe/ixgbe_rxtx.c index 7b398f1a1..198be146a 100644
> + --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> + +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> + @@ -315,10 +315,10 @@ tx_xmit_pkts(void *tx_queue, struct rte_mbuf
> + **tx_pkts,
> +
> + uint16_t
> + ixgbe_xmit_pkts_simple(void *tx_queue, struct rte_mbuf **tx_pkts,
> + - uint16_t nb_pkts)
> + + uint16_t nb_pkts, uint32_t dummy)
> + {
> + uint16_t nb_tx;
> + -
> + + dummy += 1;
> + /* Try to transmit at least chunks of TX_MAX_BURST pkts */
> + if (likely(nb_pkts <= RTE_PMD_IXGBE_TX_MAX_BURST))
> + return tx_xmit_pkts(tx_queue, tx_pkts, nb_pkts); @@ -341,7
> + +341,7 @@ ixgbe_xmit_pkts_simple(void *tx_queue, struct rte_mbuf
> + **tx_pkts,
> +
> + static uint16_t
> + ixgbe_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
> + - uint16_t nb_pkts)
> + + uint16_t nb_pkts, __rte_unused uint32_t dummy)
> + {
> + uint16_t nb_tx = 0;
> + struct ixgbe_tx_queue *txq = (struct ixgbe_tx_queue *)tx_queue; @@
> + -622,7 +622,7 @@ ixgbe_xmit_cleanup(struct ixgbe_tx_queue *txq)
> +
> + uint16_t
> + ixgbe_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
> + - uint16_t nb_pkts)
> + + uint16_t nb_pkts, uint32_t dummy)
> + {
> + struct ixgbe_tx_queue *txq;
> + struct ixgbe_tx_entry *sw_ring;
> + @@ -648,7 +648,7 @@ ixgbe_xmit_pkts(void *tx_queue, struct rte_mbuf
> + **tx_pkts, #ifdef RTE_LIBRTE_SECURITY
> + uint8_t use_ipsec;
> + #endif
> + -
> + + dummy += 1;
> + tx_offload.data[0] = 0;
> + tx_offload.data[1] = 0;
> + txq = tx_queue;
> + diff --git a/drivers/net/ixgbe/ixgbe_vf_representor.c
> + b/drivers/net/ixgbe/ixgbe_vf_representor.c
> + index dbbef294a..47b41992d 100644
> + --- a/drivers/net/ixgbe/ixgbe_vf_representor.c
> + +++ b/drivers/net/ixgbe/ixgbe_vf_representor.c
> + @@ -164,7 +164,7 @@ ixgbe_vf_representor_rx_burst(__rte_unused void
> + *rx_queue,
> +
> + static uint16_t
> + ixgbe_vf_representor_tx_burst(__rte_unused void *tx_queue,
> + - __rte_unused struct rte_mbuf **tx_pkts, __rte_unused uint16_t
> nb_pkts)
> + + __rte_unused struct rte_mbuf **tx_pkts, __rte_unused uint16_t
> nb_pkts, __rte_unused uint32_t dummy)
> + {
> + return 0;
> + }
> + diff --git a/lib/librte_ethdev/rte_ethdev.h
> + b/lib/librte_ethdev/rte_ethdev.h index d1a593ad1..ba6c36155 100644
> + --- a/lib/librte_ethdev/rte_ethdev.h
> + +++ b/lib/librte_ethdev/rte_ethdev.h
> + @@ -4663,7 +4663,7 @@ rte_eth_tx_burst(uint16_t port_id, uint16_t
> queue_id,
> + }
> + #endif
> +
> + - return (*dev->tx_pkt_burst)(dev->data->tx_queues[queue_id],
> tx_pkts, nb_pkts);
> + + return (*dev->tx_pkt_burst)(dev->data->tx_queues[queue_id],
> tx_pkts, nb_pkts, 5);
> + }
> +
> + /**
> + diff --git a/lib/librte_ethdev/rte_ethdev_core.h
> + b/lib/librte_ethdev/rte_ethdev_core.h
> + index 7bf97e24e..8a173574c 100644
> + --- a/lib/librte_ethdev/rte_ethdev_core.h
> + +++ b/lib/librte_ethdev/rte_ethdev_core.h
> + @@ -344,7 +344,7 @@ typedef uint16_t (*eth_rx_burst_t)(void *rxq,
> +
> + typedef uint16_t (*eth_tx_burst_t)(void *txq,
> + struct rte_mbuf **tx_pkts,
> + - uint16_t nb_pkts);
> + + uint16_t nb_pkts, uint32_t dummy);
> + /**< @internal Send output packets on a transmit queue of an Ethernet
> + device. */
> +
> + typedef uint16_t (*eth_tx_prep_t)(void *txq,
> + --
> + 2.17.2
> +
> +
> +Apply negative patch to rte_eth_dev structure and ixgbe pmd driver,
> +inject 4 bytes in tx_burst.
> +::
> +
> + git apply 0001-rte_tx_burst_t_add-one-argument-at-the-end.patch
> +
> +Build shared libraries, (just enable i40e pmd for testing)::
> +
> + meson configure
> + -Ddisable_drivers=net/af_packet,net/ark,net/atlantic,net/avp,net/axgbe
> + ,net/bond,net/bnx2x,net/bnxt,net/cxgbe,net/dpaa,net/dpaa2,net/e1000,n
> e
> + t/ena,net/enetc,net/enic,net/fm10k,net/hinic,net/hns3,net/iavf,net/ice
> + ,net/kni,net/liquidio,net/memif,net/netvsc,net/nfp,net/null,net/octeon
> + tx,net/octeontx2,net/pcap,net/pfe,net/qede,net/sfc,net/softnic,net/tap
> + ,net/thunderx,net/vdev_netvsc,net/vhost,net/virtio,net/vmxnet3,common
> /
> +
> cpt,common/dpaax,common/iavf,common/octeontx2,bus/dpaa,bus/fslmc,b
> us/i
> +
> fpga,bus/vmbus,mempool/bucket,mempool/dpaa,mempool/dpaa2,mempo
> ol/octeo
> +
> ntx2,mempool/stack,raw/dpaa2_cmdif,raw/dpaa2_qdma,raw/ioat,raw/ntb,
> raw
> +
> /octeontx2_dma,raw/octeontx2_ep,raw/skeleton,crypto/caam_jr,crypto/ccp
> + ,crypto/dpaa_sec,crypto/dpaa2_sec,crypto/nitrox,crypto/null_crypto,cry
> + pto/octeontx_crypto,crypto/octeontx2_crypto,crypto/openssl,crypto/cryp
> + to_scheduler,crypto/virtio_crypto,vdpa/ifc,event/dpaa,event/dpaa2,even
> + t/octeontx2,event/opdl,event/skeleton,event/sw,event/dsw,event/octeont
> + x,baseband/null,baseband/turbo_sw,baseband/fpga_lte_fec,net/failsafe
> + meson --werror -Dexamples=all --buildtype=debugoptimized
> + --default-library=shared ./devtools/.. ./build-gcc-shared ninja -C
> + ./build-gcc-shared
> +
> +Run testpmd application refer to Common Test steps with ixgbe pmd NIC.::
> +
> + testpmd -c 0xf -n 4 -d <dpdk_2002> -w 18:00.0 -- -i
> +
> +Test txonly::
> +
> + set fwd txonly
> + start
> +
> +Expect there is no error happended
> --
> 2.22.0
prev parent reply other threads:[~2020-03-13 6:33 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-09 4:59 Chen, Zhaoyan
2020-03-13 6:33 ` Tu, Lijuan [this message]
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=8CE3E05A3F976642AAB0F4675D0AD20E0BBEC7A7@SHSMSX101.ccr.corp.intel.com \
--to=lijuan.tu@intel.com \
--cc=dts@dpdk.org \
--cc=zhaoyan.chen@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).