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
next prev 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).