* [dts] [PATCH]test_plans: command-line parameter changed
@ 2019-05-13 7:58 Peng Yuan
2019-05-22 8:58 ` Tu, Lijuan
0 siblings, 1 reply; 2+ messages in thread
From: Peng Yuan @ 2019-05-13 7:58 UTC (permalink / raw)
To: dts; +Cc: Peng Yuan
Change command-line parameter of macsec_for_ixgbe_test_plan.rst
Signed-off-by: Peng Yuan <yuan.peng@intel.com>
diff --git a/test_plans/macsec_for_ixgbe_test_plan.rst b/test_plans/macsec_for_ixgbe_test_plan.rst
index 4b8a762..893e7a6 100644
--- a/test_plans/macsec_for_ixgbe_test_plan.rst
+++ b/test_plans/macsec_for_ixgbe_test_plan.rst
@@ -73,6 +73,13 @@ Prerequisites
1. Hardware:
* 1x Niantic NIC (2x 10G)
+ port0:
+ pci address: 07:00.0
+ mac address: 00:00:00:00:00:01
+ port1:
+ pci address: 07:00.1
+ mac address: 00:00:00:00:00:02
+
* 2x IXIA ports (10G)
2. Software:
@@ -82,13 +89,13 @@ Prerequisites
3. Added command::
- testpmd>set macsec offload (port_id) on encrypt (on|off) replay-protect (on|off)
+ testpmd> set macsec offload (port_id) on encrypt (on|off) replay-protect (on|off)
" Enable MACsec offload. "
- testpmd>set macsec offload (port_id) off
+ testpmd> set macsec offload (port_id) off
" Disable MACsec offload. "
- testpmd>set macsec sc (tx|rx) (port_id) (mac) (pi)
+ testpmd> set macsec sc (tx|rx) (port_id) (mac) (pi)
" Configure MACsec secure connection (SC). "
- testpmd>set macsec sa (tx|rx) (port_id) (idx) (an) (pn) (key)
+ testpmd> set macsec sa (tx|rx) (port_id) (idx) (an) (pn) (key)
" Configure MACsec secure association (SA). "
@@ -102,255 +109,306 @@ Test Case 1: MACsec packets send and receive
2. Config the rx port
- 1. Start the testpmd of rx port::
+ 1. Start the testpmd of rx port::
+
+ ./testpmd -c 0xf --socket-mem 1024,0 --file-prefix=rx -w 0000:07:00.1 \
+ -- -i --port-topology=chained
+
+ 2. Set MACsec offload on::
- ./testpmd -c 0xc --socket-mem 1024,1024 --file-prefix=rx -w 0000:07:00.1 \
- -- --port-topology=chained -i --crc-strip
+ testpmd> set macsec offload 0 on encrypt on replay-protect on
- 2. Set MACsec offload on::
+ Show port port tx configuration::
- testpmd>set macsec offload 0 on encrypt on replay-protect on
+ testpmd> show port 0 tx_offload configuration
+ Tx Offloading Configuration of port 0 :
+ Port : MACSEC_INSERT
+ Queue[ 0] :
- 3. Set MACsec parameters as rx_port::
+ 3. Set MACsec parameters as rx_port::
- testpmd>set macsec sc rx 0 00:00:00:00:00:01 0
- testpmd>set macsec sa rx 0 0 0 0 00112200000000000000000000000000
+ testpmd> set macsec sc rx 0 00:00:00:00:00:01 0
+ testpmd> set macsec sa rx 0 0 0 0 00112200000000000000000000000000
- 4. Set MACsec parameters as tx_port::
+ 4. Set MACsec parameters as tx_port::
- testpmd>set macsec sc tx 0 00:00:00:00:00:02 0
- testpmd>set macsec sa tx 0 0 0 0 00112200000000000000000000000000
+ testpmd> set macsec sc tx 0 00:00:00:00:00:02 0
+ testpmd> set macsec sa tx 0 0 0 0 00112200000000000000000000000000
- 5. Set rxonly::
+ 5. Set rxonly::
- testpmd>set fwd rxonly
+ testpmd> set fwd rxonly
- 6. Start::
+ 6. Start::
- testpmd>set promisc all on
- testpmd>start
+ testpmd> set promisc all on
+ testpmd> start
3. Config the tx port
- 1. Start the testpmd of tx port::
+ 1. Start the testpmd of tx port::
+
+ ./testpmd -c 0xf0 --socket-mem 1024,0 --file-prefix=tx -w 0000:07:00.0 \
+ -- -i --port-topology=chained --tx-offloads=0x00002000
+
+ 2. Set MACsec offload on::
- ./testpmd -c 0x30 --socket-mem 1024,1024 --file-prefix=tx -w 0000:07:00.0 \
- -- --port-topology=chained -i --crc-strip --tx-offloads=0x8fff
+ testpmd> set macsec offload 0 on encrypt on replay-protect on
- 2. Set MACsec offload on::
+ Show port port tx configuration::
- testpmd>set macsec offload 0 on encrypt on replay-protect on
+ testpmd> show port 0 tx_offload configuration
+ Tx Offloading Configuration of port 0 :
+ Port : MACSEC_INSERT
+ Queue[ 0] : MACSEC_INSERT
- 3. Set MACsec parameters as tx_port::
+ 3. Set MACsec parameters as tx_port::
- testpmd>set macsec sc tx 0 00:00:00:00:00:01 0
- testpmd>set macsec sa tx 0 0 0 0 00112200000000000000000000000000
+ testpmd> set macsec sc tx 0 00:00:00:00:00:01 0
+ testpmd> set macsec sa tx 0 0 0 0 00112200000000000000000000000000
- 4. Set MACsec parameters as rx_port::
+ 4. Set MACsec parameters as rx_port::
- testpmd>set macsec sc rx 0 00:00:00:00:00:02 0
- testpmd>set macsec sa rx 0 0 0 0 00112200000000000000000000000000
+ testpmd> set macsec sc rx 0 00:00:00:00:00:02 0
+ testpmd> set macsec sa rx 0 0 0 0 00112200000000000000000000000000
- 5. Set txonly::
+ 5. Set txonly::
- testpmd>set fwd txonly
+ testpmd> set fwd txonly
- 6. Start::
+ 6. Start::
- testpmd>start
+ testpmd> start
4. Check the result::
- testpmd>stop
- testpmd>show port xstats 0
+ testpmd> stop
+ testpmd> show port xstats 0
- stop the packet transmitting on tx_port first, then stop the packet receiving
+ Stop the packet transmitting on tx_port first, then stop the packet receiving
on rx_port.
- check the rx data and tx data::
+ Check the rx data and tx data::
- tx_good_packets == rx_good_packets
- out_pkts_encrypted == in_pkts_ok == tx_good_packets == rx_good_packets
- out_octets_encrypted == in_octets_decrypted
- out_octets_protected == in_octets_validated
+ out_pkts_protected == 0
+ out_pkts_encrypted == in_pkts_ok == tx_good_packets == rx_good_packets !=0
+ out_octets_encrypted == in_octets_decrypted != 0
+ out_octets_protected == in_octets_validated != 0
- if you want to check the content of the packet, use the command::
+ If you want to check the content of the packet, use the command::
- testpmd>set verbose 1
+ testpmd> set verbose 1
- the received packets are Decrypted.
+ The received packets are Decrypted.
- check the ol_flags::
+ Check the ol_flags::
PKT_RX_IP_CKSUM_GOOD
- check the content of the packet::
+ Check the content of the packet::
+
+ hw ptype: L2_ETHER L3_IPV4 L4_UDP - sw ptype: L2_ETHER L3_IPV4 L4_UDP
+
+
+Test Case 2: MACsec encrypt off and replay-protect off
+======================================================
+
+1. Start testpmd as test case 1, then set on tx port::
- type=0x0800, the ptype of L2,L3,L4: L2_ETHER L3_IPV4 L4_UDP
+ testpmd> set macsec offload 0 on encrypt off replay-protect on
+ Other settings are the same as test case 1.
-Test Case 2: MACsec send and receive with different parameters
+2. Start packet transfer, check the rx data and tx data::
+
+ out_pkts_encrypted == 0
+ out_pkts_protected == in_pkts_ok == tx_good_packets == rx_good_packets != 0
+ in_octets_decrypted == out_octets_encrypted == 0
+ out_octets_protected == in_octets_validated != 0
+
+3. Clear the port xstats, then set on tx port::
+
+ testpmd> set macsec offload 0 on encrypt on replay-protect off
+
+4. Start packet transfer, check the rx data and tx data.
+ Get the same result as test case 1.
+
+
+Test Case 3: MACsec send and receive with different parameters
==============================================================
1. Set "idx" to 1 on both rx and tx sides.
- check the MACsec packets can be received correctly.
+ Check the MACsec packets can be received correctly.
- set "idx" to 2 on both rx and tx sides.
- it can't be set successfully.
+ Set "idx" to 2 on both rx and tx sides.
+ It can't be set successfully.
2. Set "an" to 1/2/3 on both rx and tx sides.
- check the MACsec packets can be received correctly.
+ Check the MACsec packets can be received correctly.
- set "an " to 4 on both rx and tx sides.
- it can't be set successfully.
+ Set "an " to 4 on both rx and tx sides.
+ It can't be set successfully.
3. Set "pn" to 0xffffffec on both rx and tx sides.
- rx port can receive four packets.
+ Rx port can receive four packets.
- set "pn" to 0xffffffed on both rx and tx sides.
- rx port can receive three packets.
+ Set "pn" to 0xffffffed on both rx and tx sides.
+ Rx port can receive three packets.
- set "pn" to 0xffffffee/0xffffffef on both rx and tx sides.
- rx port can receive three packets too. But the expected number
+ Set "pn" to 0xffffffee/0xffffffef on both rx and tx sides.
+ Rx port can receive three packets too. But the expected number
of packets is 2/1. While the explanation that DPDK developers
gave is that it's hardware's behavior.
- Once the PN reaches a value of 0xFFFFFFF0, hardware clears
- the Enable Tx LinkSec field in the LSECTXCTRL register to 00b
- so when pn get to 0xfffffff0, the number of packets received can't
+ Once the "pn" reaches a value of 0xfffffff0, hardware clears
+ the Enable Tx LinkSec field in the LSECTXCTRL register to 00b.
+ So when "pn" get to 0xfffffff0, the number of packets received can't
be expected.
- set "pn" to 0x100000000 on both rx and tx sides.
- it can't be set successfully.
+ Set "pn" to 0x100000000 on both rx and tx sides.
+ It can't be set successfully.
4. Set "key" to 00000000000000000000000000000000 and
ffffffffffffffffffffffffffffffff on both rx and tx sides.
- check the MACsec packets can be received correctly.
+ Check the MACsec packets can be received correctly.
5. Set "pi" to 1/0xffff on both rx and tx sides.
- check the MACsec packets can not be received.
+ Check the MACsec packets can not be received.
- set "pi" to 0x10000 on both rx and tx sides.
- it can't be set successfully.
+ Set "pi" to 0x10000 on both rx and tx sides.
+ It can't be set successfully.
-Test Case 3: MACsec packets send and normal receive
+Test Case 4: MACsec packets send and normal receive
===================================================
1. Disable MACsec offload on rx port::
- testpmd>set macsec offload 0 off
+ testpmd> set macsec offload 0 off
+
+ Show port port tx configuration::
+
+ testpmd> show port 0 tx_offload configuration
+ Tx Offloading Configuration of port 0 :
+ Port :
+ Queue[ 0] :
2. Start the the packets transfer
3. Check the result::
- testpmd>stop
- testpmd>show port xstats 0
+ testpmd> stop
+ testpmd> show port xstats 0
- stop the testpmd on tx_port first, then stop the testpmd on rx_port.
- the received packets are encrypted.
+ Stop the testpmd on tx_port first, then stop the testpmd on rx_port.
+ The received packets are encrypted.
- check the content of the packet::
+ Check the content of the packet::
- type=0x88e5 sw ptype: L2_ETHER - l2_len=14 - Receive queue=0x0
+ hw ptype: L2_ETHER - sw ptype: L2_ETHER
- you can't find L3 and L4 information in the packet
- in_octets_decrypted and in_octets_validated doesn't increase on last data
+ You can't find L3 and L4 information in the packet
+ in_octets_decrypted and in_octets_validated doesn't increase on data
transfer.
-Test Case 4: normal packet send and MACsec receive
+Test Case 5: normal packet send and MACsec receive
==================================================
1. Enable MACsec offload on rx port::
- testpmd>set macsec offload 0 on encrypt on replay-protect on
+ testpmd> set macsec offload 0 on encrypt on replay-protect on
2. Disable MACsec offload on tx port::
- testpmd>set macsec offload 0 off
+ testpmd> set macsec offload 0 off
+ testpmd> show port 0 tx_offload configuration
+ Tx Offloading Configuration of port 0 :
+ Port :
+ Queue[ 0] : MACSEC_INSERT
3. Start the the packets transfer::
- testpmd>start
+ testpmd> start
4. Check the result::
- testpmd>stop
- testpmd>show port xstats 0
+ testpmd> stop
+ testpmd> show port xstats 0
- stop the testpmd on tx_port first, then stop the testpmd on rx_port.
- the received packets are not encrypted.
+ Stop the testpmd on tx_port first, then stop the testpmd on rx_port.
+ The received packets are not encrypted.
- check the content of the packet::
+ Check the content of the packet::
- type=0x0800, the ptype of L2,L3,L4: L2_ETHER L3_IPV4 L4_UDP
+ hw ptype: L2_ETHER L3_IPV4 L4_UDP - sw ptype: L2_ETHER L3_IPV4 L4_UDP
- in_octets_decrypted and out_pkts_encrypted doesn't increase on last data
+ in_octets_decrypted and out_pkts_encrypted doesn't increase on data
transfer.
-Test Case 5: MACsec send and receive with wrong parameters
+Test Case 6: MACsec send and receive with wrong parameters
==========================================================
-1. Don't add "--tx-offloads=0x8fff" in the tx_port command line.
- the MACsec offload can't work. The tx packets are normal packets.
+1. Don't add "--tx-offloads=0x00002000" in the tx_port command line.
+ The MACsec offload can't work. The tx packets are normal packets.
2. Set different pn on rx and tx port, then start the data transfer.
- 1. Set the parameters as test case 1, start and stop the data transfer.
- check the result, rx port can receive and decrypt the packets normally.
+ 1. Set the parameters as test case 1, start and stop the data transfer.
+ Check the result, rx port can receive and decrypt the packets normally.
- 2. Reset the pn of tx port to 0::
+ 2. Reset the pn of tx port to 0::
- testpmd>set macsec sa tx 0 0 0 0 00112200000000000000000000000000
+ testpmd> set macsec sa tx 0 0 0 0 00112200000000000000000000000000
- rx port can receive the packets until the pn equals the pn of tx port::
+ Rx port can receive the packets until the pn equals the pn of tx port::
- out_pkts_encrypted = in_pkts_late + in_pkts_ok
+ out_pkts_encrypted = in_pkts_late + in_pkts_ok
3. Set different keys on rx and tx port, then start the data transfer::
- the RX-packets=0,
- in_octets_decrypted == out_octets_encrypted,
- in_pkts_notvalid == out_pkts_encrypted,
- in_pkts_ok=0,
- rx_good_packets=0
+ the RX-packets=0,
+ in_octets_decrypted == out_octets_encrypted,
+ in_pkts_notvalid == out_pkts_encrypted,
+ in_pkts_ok=0,
+ rx_good_packets=0
-4. Set different pi on rx and tx port(reset on rx_port), then start the data
- transfer::
+4. Set different pi on rx and tx port, then start the data transfer::
- in_octets_decrypted == out_octets_encrypted,
- in_pkts_ok = 0,
- in_pkts_nosci == out_pkts_encrypted
+ in_octets_decrypted == out_octets_encrypted,
+ in_pkts_ok = 0,
+ in_pkts_nosci == out_pkts_encrypted
5. Set different an on rx and tx port, then start the data transfer::
- rx_good_packets=0,
- in_octets_decrypted == out_octets_encrypted,
- in_pkts_notusingsa == out_pkts_encrypted,
- in_pkts_ok=0,
+ rx_good_packets=0,
+ in_octets_decrypted == out_octets_encrypted,
+ in_pkts_notusingsa == out_pkts_encrypted,
+ in_pkts_ok=0,
6. Set different index on rx and tx port, then start the data transfer::
- in_octets_decrypted == out_octets_encrypted,
- in_pkts_ok == out_pkts_encrypted
+ in_octets_decrypted == out_octets_encrypted,
+ in_pkts_ok == out_pkts_encrypted
-Test Case 6: performance test of MACsec offload packets
-==========================================================
+Test Case 7: performance test of MACsec offload packets
+=======================================================
1. Tx linerate
- port0 connected to IXIA port5, port1 connected to IXIA port6, set port0
+ Port0 connected to IXIA port5, port1 connected to IXIA port6, set port0
MACsec offload on, set fwd mac::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xc -- -i \
- --port-topology=chained --crc-strip --tx-offloads=0x8fff
+ ./testpmd -c 0xf --socket-mem 1024,0 -- -i \
+ --port-topology=chained --tx-offloads=0x00002000
+ testpmd> set macsec offload 0 on encrypt on replay-protect on
+ testpmd> set fwd mac
+ testpmd> start
- on IXIA side, start IXIA port6 transmit, start the IXIA capture.
- view the IXIA port5 captured packet, the protocol is MACsec, the EtherType
+ On IXIA side, start IXIA port6 transmit, start the IXIA capture.
+ View the IXIA port5 captured packet, the protocol is MACsec, the EtherType
is 0x88E5, and the packet length is 96bytes, while the normal packet length
is 32bytes.
@@ -358,47 +416,47 @@ Test Case 6: performance test of MACsec offload packets
2. Rx linerate
- there are three ports 05:00.0 07:00.0 07:00.1. Connect 07:00.0 to 07:00.1
+ There are three ports 05:00.0 07:00.0 07:00.1. Connect 07:00.0 to 07:00.1
with cable, connect 05:00.0 to IXIA. Bind the three ports to dpdk driver.
- start two testpmd::
-
- ./testpmd -c 0x3 --socket-mem 1024,1024 --file-prefix=rx -w 0000:07:00.1 \
- -- --port-topology=chained -i --crc-strip --tx-offloads=0x8fff
-
- testpmd>set macsec offload 0 on encrypt on replay-protect on
- testpmd>set macsec sc rx 0 00:00:00:00:00:01 0
- testpmd>set macsec sa rx 0 0 0 0 00112200000000000000000000000000
- testpmd>set macsec sc tx 0 00:00:00:00:00:02 0
- testpmd>set macsec sa tx 0 0 0 0 00112200000000000000000000000000
- testpmd>set fwd rxonly
-
- ./testpmd -c 0xc --socket-mem 1024,1024 --file-prefix=tx -b 0000:07:00.1 \
- -- --port-topology=chained -i --crc-strip --tx-offloads=0x8fff
-
- testpmd>set macsec offload 1 on encrypt on replay-protect on
- testpmd>set macsec sc rx 1 00:00:00:00:00:02 0
- testpmd>set macsec sa rx 1 0 0 0 00112200000000000000000000000000
- testpmd>set macsec sc tx 1 00:00:00:00:00:01 0
- testpmd>set macsec sa tx 1 0 0 0 00112200000000000000000000000000
- testpmd>set fwd mac
-
- start on both two testpmd.
- start data transmit from IXIA port, the frame size is 64bytes,
+ Start two testpmd::
+
+ ./testpmd -c 0xf --socket-mem 1024,0 --file-prefix=rx -w 0000:07:00.1 \
+ -- -i --port-topology=chained --tx-offloads=0x00002000
+
+ testpmd> set macsec offload 0 on encrypt on replay-protect on
+ testpmd> set macsec sc rx 0 00:00:00:00:00:01 0
+ testpmd> set macsec sa rx 0 0 0 0 00112200000000000000000000000000
+ testpmd> set macsec sc tx 0 00:00:00:00:00:02 0
+ testpmd> set macsec sa tx 0 0 0 0 00112200000000000000000000000000
+ testpmd> set fwd rxonly
+
+ ./testpmd -c 0xf0 --socket-mem 1024,0 --file-prefix=tx -b 0000:07:00.1 \
+ -- -i --port-topology=chained --tx-offloads=0x00002000
+
+ testpmd> set macsec offload 1 on encrypt on replay-protect on
+ testpmd> set macsec sc rx 1 00:00:00:00:00:02 0
+ testpmd> set macsec sa rx 1 0 0 0 00112200000000000000000000000000
+ testpmd> set macsec sc tx 1 00:00:00:00:00:01 0
+ testpmd> set macsec sa tx 1 0 0 0 00112200000000000000000000000000
+ testpmd> set fwd mac
+
+ Start on both two testpmd.
+ Start data transmit from IXIA port, the frame size is 64bytes,
the Ethertype is 0x0800. The rate is 14.88Mpps.
- check the linerate on rxonly port::
+ Check the linerate on rxonly port::
- testpmd>show port stats 0
+ testpmd> show port stats 0
It shows "Rx-pps: 10775697", so the rx %linerate is 100%.
- check the MACsec packets number on tx side::
+ Check the MACsec packets number on tx side::
- testpmd>show port xstats 1
+ testpmd> show port xstats 1
- on rx side::
+ On rx side::
- testpmd>show port xstats 0
+ testpmd> show port xstats 0
- check the rx data and tx data::
+ Check the rx data and tx data::
- in_pkts_ok == out_pkts_encrypted
+ in_pkts_ok == out_pkts_encrypted
--
2.14.3
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [dts] [PATCH]test_plans: command-line parameter changed
2019-05-13 7:58 [dts] [PATCH]test_plans: command-line parameter changed Peng Yuan
@ 2019-05-22 8:58 ` Tu, Lijuan
0 siblings, 0 replies; 2+ messages in thread
From: Tu, Lijuan @ 2019-05-22 8:58 UTC (permalink / raw)
To: Peng, Yuan, dts; +Cc: Peng, Yuan
Applied, thanks
> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Peng Yuan
> Sent: Monday, May 13, 2019 3:58 PM
> To: dts@dpdk.org
> Cc: Peng, Yuan <yuan.peng@intel.com>
> Subject: [dts] [PATCH]test_plans: command-line parameter changed
>
> Change command-line parameter of macsec_for_ixgbe_test_plan.rst
>
> Signed-off-by: Peng Yuan <yuan.peng@intel.com>
>
> diff --git a/test_plans/macsec_for_ixgbe_test_plan.rst
> b/test_plans/macsec_for_ixgbe_test_plan.rst
> index 4b8a762..893e7a6 100644
> --- a/test_plans/macsec_for_ixgbe_test_plan.rst
> +++ b/test_plans/macsec_for_ixgbe_test_plan.rst
> @@ -73,6 +73,13 @@ Prerequisites
> 1. Hardware:
>
> * 1x Niantic NIC (2x 10G)
> + port0:
> + pci address: 07:00.0
> + mac address: 00:00:00:00:00:01
> + port1:
> + pci address: 07:00.1
> + mac address: 00:00:00:00:00:02
> +
> * 2x IXIA ports (10G)
>
> 2. Software:
> @@ -82,13 +89,13 @@ Prerequisites
>
> 3. Added command::
>
> - testpmd>set macsec offload (port_id) on encrypt (on|off) replay-protect
> (on|off)
> + testpmd> set macsec offload (port_id) on encrypt (on|off)
> + replay-protect (on|off)
> " Enable MACsec offload. "
> - testpmd>set macsec offload (port_id) off
> + testpmd> set macsec offload (port_id) off
> " Disable MACsec offload. "
> - testpmd>set macsec sc (tx|rx) (port_id) (mac) (pi)
> + testpmd> set macsec sc (tx|rx) (port_id) (mac) (pi)
> " Configure MACsec secure connection (SC). "
> - testpmd>set macsec sa (tx|rx) (port_id) (idx) (an) (pn) (key)
> + testpmd> set macsec sa (tx|rx) (port_id) (idx) (an) (pn) (key)
> " Configure MACsec secure association (SA). "
>
>
> @@ -102,255 +109,306 @@ Test Case 1: MACsec packets send and receive
>
> 2. Config the rx port
>
> - 1. Start the testpmd of rx port::
> + 1. Start the testpmd of rx port::
> +
> + ./testpmd -c 0xf --socket-mem 1024,0 --file-prefix=rx -w 0000:07:00.1 \
> + -- -i --port-topology=chained
> +
> + 2. Set MACsec offload on::
>
> - ./testpmd -c 0xc --socket-mem 1024,1024 --file-prefix=rx -w
> 0000:07:00.1 \
> - -- --port-topology=chained -i --crc-strip
> + testpmd> set macsec offload 0 on encrypt on replay-protect on
>
> - 2. Set MACsec offload on::
> + Show port port tx configuration::
>
> - testpmd>set macsec offload 0 on encrypt on replay-protect on
> + testpmd> show port 0 tx_offload configuration
> + Tx Offloading Configuration of port 0 :
> + Port : MACSEC_INSERT
> + Queue[ 0] :
>
> - 3. Set MACsec parameters as rx_port::
> + 3. Set MACsec parameters as rx_port::
>
> - testpmd>set macsec sc rx 0 00:00:00:00:00:01 0
> - testpmd>set macsec sa rx 0 0 0 0
> 00112200000000000000000000000000
> + testpmd> set macsec sc rx 0 00:00:00:00:00:01 0
> + testpmd> set macsec sa rx 0 0 0 0
> + 00112200000000000000000000000000
>
> - 4. Set MACsec parameters as tx_port::
> + 4. Set MACsec parameters as tx_port::
>
> - testpmd>set macsec sc tx 0 00:00:00:00:00:02 0
> - testpmd>set macsec sa tx 0 0 0 0
> 00112200000000000000000000000000
> + testpmd> set macsec sc tx 0 00:00:00:00:00:02 0
> + testpmd> set macsec sa tx 0 0 0 0
> + 00112200000000000000000000000000
>
> - 5. Set rxonly::
> + 5. Set rxonly::
>
> - testpmd>set fwd rxonly
> + testpmd> set fwd rxonly
>
> - 6. Start::
> + 6. Start::
>
> - testpmd>set promisc all on
> - testpmd>start
> + testpmd> set promisc all on
> + testpmd> start
>
> 3. Config the tx port
>
> - 1. Start the testpmd of tx port::
> + 1. Start the testpmd of tx port::
> +
> + ./testpmd -c 0xf0 --socket-mem 1024,0 --file-prefix=tx -w 0000:07:00.0 \
> + -- -i --port-topology=chained --tx-offloads=0x00002000
> +
> + 2. Set MACsec offload on::
>
> - ./testpmd -c 0x30 --socket-mem 1024,1024 --file-prefix=tx -w
> 0000:07:00.0 \
> - -- --port-topology=chained -i --crc-strip --tx-offloads=0x8fff
> + testpmd> set macsec offload 0 on encrypt on replay-protect on
>
> - 2. Set MACsec offload on::
> + Show port port tx configuration::
>
> - testpmd>set macsec offload 0 on encrypt on replay-protect on
> + testpmd> show port 0 tx_offload configuration
> + Tx Offloading Configuration of port 0 :
> + Port : MACSEC_INSERT
> + Queue[ 0] : MACSEC_INSERT
>
> - 3. Set MACsec parameters as tx_port::
> + 3. Set MACsec parameters as tx_port::
>
> - testpmd>set macsec sc tx 0 00:00:00:00:00:01 0
> - testpmd>set macsec sa tx 0 0 0 0
> 00112200000000000000000000000000
> + testpmd> set macsec sc tx 0 00:00:00:00:00:01 0
> + testpmd> set macsec sa tx 0 0 0 0
> + 00112200000000000000000000000000
>
> - 4. Set MACsec parameters as rx_port::
> + 4. Set MACsec parameters as rx_port::
>
> - testpmd>set macsec sc rx 0 00:00:00:00:00:02 0
> - testpmd>set macsec sa rx 0 0 0 0
> 00112200000000000000000000000000
> + testpmd> set macsec sc rx 0 00:00:00:00:00:02 0
> + testpmd> set macsec sa rx 0 0 0 0
> + 00112200000000000000000000000000
>
> - 5. Set txonly::
> + 5. Set txonly::
>
> - testpmd>set fwd txonly
> + testpmd> set fwd txonly
>
> - 6. Start::
> + 6. Start::
>
> - testpmd>start
> + testpmd> start
>
> 4. Check the result::
>
> - testpmd>stop
> - testpmd>show port xstats 0
> + testpmd> stop
> + testpmd> show port xstats 0
>
> - stop the packet transmitting on tx_port first, then stop the packet
> receiving
> + Stop the packet transmitting on tx_port first, then stop the packet
> + receiving
> on rx_port.
>
> - check the rx data and tx data::
> + Check the rx data and tx data::
>
> - tx_good_packets == rx_good_packets
> - out_pkts_encrypted == in_pkts_ok == tx_good_packets ==
> rx_good_packets
> - out_octets_encrypted == in_octets_decrypted
> - out_octets_protected == in_octets_validated
> + out_pkts_protected == 0
> + out_pkts_encrypted == in_pkts_ok == tx_good_packets ==
> rx_good_packets !=0
> + out_octets_encrypted == in_octets_decrypted != 0
> + out_octets_protected == in_octets_validated != 0
>
> - if you want to check the content of the packet, use the command::
> + If you want to check the content of the packet, use the command::
>
> - testpmd>set verbose 1
> + testpmd> set verbose 1
>
> - the received packets are Decrypted.
> + The received packets are Decrypted.
>
> - check the ol_flags::
> + Check the ol_flags::
>
> PKT_RX_IP_CKSUM_GOOD
>
> - check the content of the packet::
> + Check the content of the packet::
> +
> + hw ptype: L2_ETHER L3_IPV4 L4_UDP - sw ptype: L2_ETHER L3_IPV4
> + L4_UDP
> +
> +
> +Test Case 2: MACsec encrypt off and replay-protect off
> +======================================================
> +
> +1. Start testpmd as test case 1, then set on tx port::
>
> - type=0x0800, the ptype of L2,L3,L4: L2_ETHER L3_IPV4 L4_UDP
> + testpmd> set macsec offload 0 on encrypt off replay-protect on
>
> + Other settings are the same as test case 1.
>
> -Test Case 2: MACsec send and receive with different parameters
> +2. Start packet transfer, check the rx data and tx data::
> +
> + out_pkts_encrypted == 0
> + out_pkts_protected == in_pkts_ok == tx_good_packets ==
> rx_good_packets != 0
> + in_octets_decrypted == out_octets_encrypted == 0
> + out_octets_protected == in_octets_validated != 0
> +
> +3. Clear the port xstats, then set on tx port::
> +
> + testpmd> set macsec offload 0 on encrypt on replay-protect off
> +
> +4. Start packet transfer, check the rx data and tx data.
> + Get the same result as test case 1.
> +
> +
> +Test Case 3: MACsec send and receive with different parameters
> ==============================================================
>
> 1. Set "idx" to 1 on both rx and tx sides.
> - check the MACsec packets can be received correctly.
> + Check the MACsec packets can be received correctly.
>
> - set "idx" to 2 on both rx and tx sides.
> - it can't be set successfully.
> + Set "idx" to 2 on both rx and tx sides.
> + It can't be set successfully.
>
> 2. Set "an" to 1/2/3 on both rx and tx sides.
> - check the MACsec packets can be received correctly.
> + Check the MACsec packets can be received correctly.
>
> - set "an " to 4 on both rx and tx sides.
> - it can't be set successfully.
> + Set "an " to 4 on both rx and tx sides.
> + It can't be set successfully.
>
> 3. Set "pn" to 0xffffffec on both rx and tx sides.
> - rx port can receive four packets.
> + Rx port can receive four packets.
>
> - set "pn" to 0xffffffed on both rx and tx sides.
> - rx port can receive three packets.
> + Set "pn" to 0xffffffed on both rx and tx sides.
> + Rx port can receive three packets.
>
> - set "pn" to 0xffffffee/0xffffffef on both rx and tx sides.
> - rx port can receive three packets too. But the expected number
> + Set "pn" to 0xffffffee/0xffffffef on both rx and tx sides.
> + Rx port can receive three packets too. But the expected number
> of packets is 2/1. While the explanation that DPDK developers
> gave is that it's hardware's behavior.
>
> - Once the PN reaches a value of 0xFFFFFFF0, hardware clears
> - the Enable Tx LinkSec field in the LSECTXCTRL register to 00b
> - so when pn get to 0xfffffff0, the number of packets received can't
> + Once the "pn" reaches a value of 0xfffffff0, hardware clears
> + the Enable Tx LinkSec field in the LSECTXCTRL register to 00b.
> + So when "pn" get to 0xfffffff0, the number of packets received can't
> be expected.
>
> - set "pn" to 0x100000000 on both rx and tx sides.
> - it can't be set successfully.
> + Set "pn" to 0x100000000 on both rx and tx sides.
> + It can't be set successfully.
>
> 4. Set "key" to 00000000000000000000000000000000 and
> ffffffffffffffffffffffffffffffff on both rx and tx sides.
> - check the MACsec packets can be received correctly.
> + Check the MACsec packets can be received correctly.
>
> 5. Set "pi" to 1/0xffff on both rx and tx sides.
> - check the MACsec packets can not be received.
> + Check the MACsec packets can not be received.
>
> - set "pi" to 0x10000 on both rx and tx sides.
> - it can't be set successfully.
> + Set "pi" to 0x10000 on both rx and tx sides.
> + It can't be set successfully.
>
>
> -Test Case 3: MACsec packets send and normal receive
> +Test Case 4: MACsec packets send and normal receive
> ===================================================
>
> 1. Disable MACsec offload on rx port::
>
> - testpmd>set macsec offload 0 off
> + testpmd> set macsec offload 0 off
> +
> + Show port port tx configuration::
> +
> + testpmd> show port 0 tx_offload configuration
> + Tx Offloading Configuration of port 0 :
> + Port :
> + Queue[ 0] :
>
> 2. Start the the packets transfer
>
> 3. Check the result::
>
> - testpmd>stop
> - testpmd>show port xstats 0
> + testpmd> stop
> + testpmd> show port xstats 0
>
> - stop the testpmd on tx_port first, then stop the testpmd on rx_port.
> - the received packets are encrypted.
> + Stop the testpmd on tx_port first, then stop the testpmd on rx_port.
> + The received packets are encrypted.
>
> - check the content of the packet::
> + Check the content of the packet::
>
> - type=0x88e5 sw ptype: L2_ETHER - l2_len=14 - Receive queue=0x0
> + hw ptype: L2_ETHER - sw ptype: L2_ETHER
>
> - you can't find L3 and L4 information in the packet
> - in_octets_decrypted and in_octets_validated doesn't increase on last data
> + You can't find L3 and L4 information in the packet
> + in_octets_decrypted and in_octets_validated doesn't increase on data
> transfer.
>
>
> -Test Case 4: normal packet send and MACsec receive
> +Test Case 5: normal packet send and MACsec receive
> ==================================================
>
> 1. Enable MACsec offload on rx port::
>
> - testpmd>set macsec offload 0 on encrypt on replay-protect on
> + testpmd> set macsec offload 0 on encrypt on replay-protect on
>
> 2. Disable MACsec offload on tx port::
>
> - testpmd>set macsec offload 0 off
> + testpmd> set macsec offload 0 off
> + testpmd> show port 0 tx_offload configuration
> + Tx Offloading Configuration of port 0 :
> + Port :
> + Queue[ 0] : MACSEC_INSERT
>
> 3. Start the the packets transfer::
>
> - testpmd>start
> + testpmd> start
>
> 4. Check the result::
>
> - testpmd>stop
> - testpmd>show port xstats 0
> + testpmd> stop
> + testpmd> show port xstats 0
>
> - stop the testpmd on tx_port first, then stop the testpmd on rx_port.
> - the received packets are not encrypted.
> + Stop the testpmd on tx_port first, then stop the testpmd on rx_port.
> + The received packets are not encrypted.
>
> - check the content of the packet::
> + Check the content of the packet::
>
> - type=0x0800, the ptype of L2,L3,L4: L2_ETHER L3_IPV4 L4_UDP
> + hw ptype: L2_ETHER L3_IPV4 L4_UDP - sw ptype: L2_ETHER L3_IPV4
> + L4_UDP
>
> - in_octets_decrypted and out_pkts_encrypted doesn't increase on last
> data
> + in_octets_decrypted and out_pkts_encrypted doesn't increase on data
> transfer.
>
>
> -Test Case 5: MACsec send and receive with wrong parameters
> +Test Case 6: MACsec send and receive with wrong parameters
> ==========================================================
>
> -1. Don't add "--tx-offloads=0x8fff" in the tx_port command line.
> - the MACsec offload can't work. The tx packets are normal packets.
> +1. Don't add "--tx-offloads=0x00002000" in the tx_port command line.
> + The MACsec offload can't work. The tx packets are normal packets.
>
> 2. Set different pn on rx and tx port, then start the data transfer.
>
> - 1. Set the parameters as test case 1, start and stop the data transfer.
> - check the result, rx port can receive and decrypt the packets normally.
> + 1. Set the parameters as test case 1, start and stop the data transfer.
> + Check the result, rx port can receive and decrypt the packets normally.
>
> - 2. Reset the pn of tx port to 0::
> + 2. Reset the pn of tx port to 0::
>
> - testpmd>set macsec sa tx 0 0 0 0 00112200000000000000000000000000
> + testpmd> set macsec sa tx 0 0 0 0
> + 00112200000000000000000000000000
>
> - rx port can receive the packets until the pn equals the pn of tx port::
> + Rx port can receive the packets until the pn equals the pn of tx port::
>
> - out_pkts_encrypted = in_pkts_late + in_pkts_ok
> + out_pkts_encrypted = in_pkts_late + in_pkts_ok
>
> 3. Set different keys on rx and tx port, then start the data transfer::
>
> - the RX-packets=0,
> - in_octets_decrypted == out_octets_encrypted,
> - in_pkts_notvalid == out_pkts_encrypted,
> - in_pkts_ok=0,
> - rx_good_packets=0
> + the RX-packets=0,
> + in_octets_decrypted == out_octets_encrypted,
> + in_pkts_notvalid == out_pkts_encrypted,
> + in_pkts_ok=0,
> + rx_good_packets=0
>
> -4. Set different pi on rx and tx port(reset on rx_port), then start the data
> - transfer::
> +4. Set different pi on rx and tx port, then start the data transfer::
>
> - in_octets_decrypted == out_octets_encrypted,
> - in_pkts_ok = 0,
> - in_pkts_nosci == out_pkts_encrypted
> + in_octets_decrypted == out_octets_encrypted,
> + in_pkts_ok = 0,
> + in_pkts_nosci == out_pkts_encrypted
>
> 5. Set different an on rx and tx port, then start the data transfer::
>
> - rx_good_packets=0,
> - in_octets_decrypted == out_octets_encrypted,
> - in_pkts_notusingsa == out_pkts_encrypted,
> - in_pkts_ok=0,
> + rx_good_packets=0,
> + in_octets_decrypted == out_octets_encrypted,
> + in_pkts_notusingsa == out_pkts_encrypted,
> + in_pkts_ok=0,
>
> 6. Set different index on rx and tx port, then start the data transfer::
>
> - in_octets_decrypted == out_octets_encrypted,
> - in_pkts_ok == out_pkts_encrypted
> + in_octets_decrypted == out_octets_encrypted,
> + in_pkts_ok == out_pkts_encrypted
>
>
> -Test Case 6: performance test of MACsec offload packets -
> ==========================================================
> +Test Case 7: performance test of MACsec offload packets
> +=======================================================
>
> 1. Tx linerate
>
> - port0 connected to IXIA port5, port1 connected to IXIA port6, set port0
> + Port0 connected to IXIA port5, port1 connected to IXIA port6, set
> + port0
> MACsec offload on, set fwd mac::
>
> - ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xc -- -i \
> - --port-topology=chained --crc-strip --tx-offloads=0x8fff
> + ./testpmd -c 0xf --socket-mem 1024,0 -- -i \
> + --port-topology=chained --tx-offloads=0x00002000
> + testpmd> set macsec offload 0 on encrypt on replay-protect on
> + testpmd> set fwd mac
> + testpmd> start
>
> - on IXIA side, start IXIA port6 transmit, start the IXIA capture.
> - view the IXIA port5 captured packet, the protocol is MACsec, the
> EtherType
> + On IXIA side, start IXIA port6 transmit, start the IXIA capture.
> + View the IXIA port5 captured packet, the protocol is MACsec, the
> + EtherType
> is 0x88E5, and the packet length is 96bytes, while the normal packet
> length
> is 32bytes.
>
> @@ -358,47 +416,47 @@ Test Case 6: performance test of MACsec offload
> packets
>
> 2. Rx linerate
>
> - there are three ports 05:00.0 07:00.0 07:00.1. Connect 07:00.0 to 07:00.1
> + There are three ports 05:00.0 07:00.0 07:00.1. Connect 07:00.0 to
> + 07:00.1
> with cable, connect 05:00.0 to IXIA. Bind the three ports to dpdk driver.
> - start two testpmd::
> -
> - ./testpmd -c 0x3 --socket-mem 1024,1024 --file-prefix=rx -w
> 0000:07:00.1 \
> - -- --port-topology=chained -i --crc-strip --tx-offloads=0x8fff
> -
> - testpmd>set macsec offload 0 on encrypt on replay-protect on
> - testpmd>set macsec sc rx 0 00:00:00:00:00:01 0
> - testpmd>set macsec sa rx 0 0 0 0
> 00112200000000000000000000000000
> - testpmd>set macsec sc tx 0 00:00:00:00:00:02 0
> - testpmd>set macsec sa tx 0 0 0 0
> 00112200000000000000000000000000
> - testpmd>set fwd rxonly
> -
> - ./testpmd -c 0xc --socket-mem 1024,1024 --file-prefix=tx -b
> 0000:07:00.1 \
> - -- --port-topology=chained -i --crc-strip --tx-offloads=0x8fff
> -
> - testpmd>set macsec offload 1 on encrypt on replay-protect on
> - testpmd>set macsec sc rx 1 00:00:00:00:00:02 0
> - testpmd>set macsec sa rx 1 0 0 0
> 00112200000000000000000000000000
> - testpmd>set macsec sc tx 1 00:00:00:00:00:01 0
> - testpmd>set macsec sa tx 1 0 0 0
> 00112200000000000000000000000000
> - testpmd>set fwd mac
> -
> - start on both two testpmd.
> - start data transmit from IXIA port, the frame size is 64bytes,
> + Start two testpmd::
> +
> + ./testpmd -c 0xf --socket-mem 1024,0 --file-prefix=rx -w 0000:07:00.1 \
> + -- -i --port-topology=chained --tx-offloads=0x00002000
> +
> + testpmd> set macsec offload 0 on encrypt on replay-protect on
> + testpmd> set macsec sc rx 0 00:00:00:00:00:01 0
> + testpmd> set macsec sa rx 0 0 0 0 00112200000000000000000000000000
> + testpmd> set macsec sc tx 0 00:00:00:00:00:02 0
> + testpmd> set macsec sa tx 0 0 0 0 00112200000000000000000000000000
> + testpmd> set fwd rxonly
> +
> + ./testpmd -c 0xf0 --socket-mem 1024,0 --file-prefix=tx -b 0000:07:00.1 \
> + -- -i --port-topology=chained --tx-offloads=0x00002000
> +
> + testpmd> set macsec offload 1 on encrypt on replay-protect on
> + testpmd> set macsec sc rx 1 00:00:00:00:00:02 0
> + testpmd> set macsec sa rx 1 0 0 0 00112200000000000000000000000000
> + testpmd> set macsec sc tx 1 00:00:00:00:00:01 0
> + testpmd> set macsec sa tx 1 0 0 0 00112200000000000000000000000000
> + testpmd> set fwd mac
> +
> + Start on both two testpmd.
> + Start data transmit from IXIA port, the frame size is 64bytes,
> the Ethertype is 0x0800. The rate is 14.88Mpps.
>
> - check the linerate on rxonly port::
> + Check the linerate on rxonly port::
>
> - testpmd>show port stats 0
> + testpmd> show port stats 0
>
> It shows "Rx-pps: 10775697", so the rx %linerate is 100%.
> - check the MACsec packets number on tx side::
> + Check the MACsec packets number on tx side::
>
> - testpmd>show port xstats 1
> + testpmd> show port xstats 1
>
> - on rx side::
> + On rx side::
>
> - testpmd>show port xstats 0
> + testpmd> show port xstats 0
>
> - check the rx data and tx data::
> + Check the rx data and tx data::
>
> - in_pkts_ok == out_pkts_encrypted
> + in_pkts_ok == out_pkts_encrypted
> --
> 2.14.3
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-05-22 8:58 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-13 7:58 [dts] [PATCH]test_plans: command-line parameter changed Peng Yuan
2019-05-22 8:58 ` Tu, Lijuan
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).