test suite reviews and discussions
 help / color / mirror / Atom feed
From: Yaqi Tang <yaqi.tang@intel.com>
To: dts@dpdk.org
Cc: Yaqi Tang <yaqi.tang@intel.com>
Subject: [PATCH V1 2/3] test_plans/mev_cpfl_hairpin_queue: mev cpfl support hairpin queue
Date: Sun, 16 Jul 2023 13:44:15 +0000	[thread overview]
Message-ID: <20230716134416.3220611-3-yaqi.tang@intel.com> (raw)
In-Reply-To: <20230716134416.3220611-1-yaqi.tang@intel.com>

Enabling Port2Port forwarding as hairpin queue implementation in dpdk cpfl PMD.

Signed-off-by: Yaqi Tang <yaqi.tang@intel.com>
---
 .../mev_cpfl_hairpin_queue_test_plan.rst      | 84 +++++++++++++++++++
 1 file changed, 84 insertions(+)
 create mode 100644 test_plans/mev_cpfl_hairpin_queue_test_plan.rst

diff --git a/test_plans/mev_cpfl_hairpin_queue_test_plan.rst b/test_plans/mev_cpfl_hairpin_queue_test_plan.rst
new file mode 100644
index 00000000..62044776
--- /dev/null
+++ b/test_plans/mev_cpfl_hairpin_queue_test_plan.rst
@@ -0,0 +1,84 @@
+==============================
+MEV CPFL Support Hairpin Queue
+==============================
+
+Description
+===========
+Enabling Port2Port forwarding as hairpin queue implementation in dpdk cpfl PMD.
+launch testpmd not start forwarding, multi hairpin queues receive and transmit packet;
+start forwarding, multi data queues receive and transmit packet;
+
+Prerequisites
+=============
+1. CI release >= MEV 0.81(3921)
+
+2. During IMC boot, press 'N' when you see 'start init app and auxiliary script [Y/N]'.
+   cd /etc/dpcp
+   cp cfg/cp_init_use_case_2.cfg ./cp_init.cfg
+   cp cp_init.cfg cp_init.cfg.bak
+   sed -i 's/pf_allowed_to_create_p2p = 5;/pf_allowed_to_create_p2p = 8;/g' cp_init.cfg 
+   sed -i 's/cpf_host = 4;/cpf_host = 0;/g' cp_init.cfg
+
+3. Update customized package
+   Copy package to /etc/dpcp/package/ and rename with default_pkg.pkg.
+   cd /etc/dpcp/package/
+   rm default_pkg.pkg
+   ssh-keygen -f "/root/.ssh/known_hosts" -R "100.0.0.100"
+   scp default_pkg.pkg root@100.0.0.100:/etc/dpcp/package/
+
+4. Run /etc/init.d/run_default_init_app
+
+Test Case
+=========
+Common Steps
+------------
+1. Launch testpmd but not start forwarding.
+
+2. Configure port to receive packets on IMC::
+    cli_client --query --config --verbose
+    devmem 0x202920C100 64 0x804
+
+3. Create rule on IMC::
+    vi rule_1.txt
+    opcode=0x1303 prof_id=0x34 sub_prof_id=0x0 cookie=0xa2b87 key=0x18,0x0,00,00,00,00,0xde,0xad,0xbe,0xef,0x20,0x24,0x0,0x0,0x0,0x0,00,00,00,00,00,00,0xa,0x2,0x1d,0x64,00,00,00,00,00,00,00,00,00,00,00,00,
+    0xa,0x2,0x1d,0x2,00,00,00,00,00,00,00,00,00,00,00,00 act=set_vsi{act_val=0 val_type=2 dst_pe=0 slot=0x0} act=set_q{qnum=0x151 no_implicit_vsi=1 prec=5} act=count{counter_id=0x10 slot=0x0 prec=0x3}
+
+    cli_client -x -f rule_1.txt
+
+4. Send match packet from tester and check tester can receive the transmit packet::
+    sendp([Ether(dst="de:ad:be:ef:20:24")/IP(src="10.2.29.100", dst="10.2.29.2")/UDP()],iface="ens21f0",count=1)
+
+    tcpdump -i ens21f0 -env 
+
+5. Start testpmd and send mismatch packets, check testpmd can receive and transmit packets::
+    testpmd>start
+    testpmd>set verbose 1
+    testpmd>show port stats all
+    testpmd>stop
+    testpmd>quit
+
+    Mismatch pkts::
+    sendp([Ether(src="00:11:22:33:44:55", dst="02:70:80:C6:67:CE")/IP(src="192.168.0.2",dst="192.168.0.3")/("X"*480)], iface="enp24s0f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="02:70:80:C6:67:CE")/IPv6(src="2001::2",dst="2001::3")/("X"*480)], iface="enp24s0f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="02:70:80:C6:67:CE")/IP(src="10.2.28.12", dst="10.2.28.22")/UDP(sport=1026, dport=1027)/("X"*480)], iface="enp24s0f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="02:70:80:C6:67:CE")/IP(src="10.2.28.12", dst="10.2.28.22")/TCP(sport=1026, dport=1027)/("X"*480)], iface="enp24s0f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="02:70:80:C6:67:CE")/IP(src="10.2.28.12", dst="10.2.28.22")/SCTP(sport=1026, dport=1027)/("X"*480)], iface="enp24s0f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="02:70:80:C6:67:CE")/IPv6(src="2001::2",dst="2001::3")/UDP(sport=1026, dport=1027)/("X"*480)], iface="enp24s0f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="02:70:80:C6:67:CE")/IPv6(src="2001::2",dst="2001::3")/TCP(sport=1026, dport=1027)/("X"*480)], iface="enp24s0f0")
+    sendp([Ether(src="00:11:22:33:44:55", dst="02:70:80:C6:67:CE")/IPv6(src="2001::2",dst="2001::3")/SCTP(sport=1026, dport=1027)/("X"*480)], iface="enp24s0f0")
+
+Test case 1: single_data_hairpin_queue
+--------------------------------------
+./dpdk-testpmd -l 1-2 -n 4 -a af:00.6,vport=0 -- -i --rxq=1 --txq=1 --hairpinq=1 --hairpin-mode=0
+
+Test case 2: multi_data_queues_single_hairpin_queue
+---------------------------------------------------
+./dpdk-testpmd -l 1-2 -n 4 -a ca:00.6,vport=0 -- -i --rxq=16 --txq=16 --hairpinq=1 --hairpin-mode=0
+
+Test case 3: single_data_queue_multi_hairpin_queues
+---------------------------------------------------
+./dpdk-testpmd -l 1-2 -n 4 -a ca:00.6,vport=0 -- -i --rxq=1 --txq=1 --hairpinq=16 --hairpin-mode=0
+
+Test case 4: multi_data_hairpin_queues
+--------------------------------------
+./dpdk-testpmd -l 1-2 -n 4 -a ca:00.6,vport=0 -- -i --rxq=16 --txq=16 --hairpinq=16 --hairpin-mode=0
-- 
2.25.1


  parent reply	other threads:[~2023-07-16 13:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-16 13:44 [PATCH V1 0/3] MEV CPFL " Yaqi Tang
2023-07-16 13:44 ` [PATCH V1 1/3] test_plans/index: add new test plan for mev cpfl " Yaqi Tang
2023-07-16 13:44 ` Yaqi Tang [this message]
2023-07-16 13:44 ` [PATCH V1 3/3] tests/mev_cpfl_hairpin_queue: " Yaqi Tang

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=20230716134416.3220611-3-yaqi.tang@intel.com \
    --to=yaqi.tang@intel.com \
    --cc=dts@dpdk.org \
    /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).