From: "Jiajia, SunX" <sunx.jiajia@intel.com>
To: "Wu, Jingjing" <jingjing.wu@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v4 0/4] enable mirror functionality in i40e driver
Date: Wed, 10 Jun 2015 08:33:56 +0000 [thread overview]
Message-ID: <F21F274FCF2C0948830A3ED00345297735EDC8@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <1433917473-21508-1-git-send-email-jingjing.wu@intel.com>
Tested-by: Jiajia Sunx <sunx.jiajia@intel.com>
- Tested Commit: 94ef2964148a4540db21034f5c3669ab81fbdc76
- OS: Fedora20 3.18.9
- GCC: gcc version 4.8.3 20140911
- CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
- NIC: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb]
- NIC: Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ [8086:1583]
- Default x86_64-native-linuxapp-gcc configuration
- Prerequisites: vt-d enable in bios and IOMMU enable in kernel
- Total 8 cases, 8 passed, 0 failed
2VM prerequisites:
VF0 ./x86_64-default-linuxapp-gcc/app/testpmd -c f -n 4 -- -i
VF0 testpmd-> set fwd rxonly
VF0 testpmd-> start
VF1 ./x86_64-default-linuxapp-gcc/app/testpmd -c f -n 4 -- -i
VF1 testpmd-> set fwd mac
VF1 testpmd-> start
- Case: Mirror Traffic between 2VMs with Pool mirroring
Description: Verify the pool mirror rule
Set up common 2VM prerequisites.
Add one mirror rule that will mirror VM0 income traffic to VM1::
PF testpmd-> set port 0 mirror-rule 0 pool-mirror-up 0x1 dst-pool 1 on
Send 10 packets to VM0 and verify the packets has been mirrored to VM1 and
forwarded the packet.
After test need reset mirror rule::
PF testpmd-> reset port 0 mirror-rule 0
- Case: Mirror Traffic between 2VMs with Uplink mirroring
Description: Verify the uplink mirror rule
Set up common 2VM prerequisites.
Add one mirror rule that will mirror VM0 income traffic to VM1::
PF testpmd-> set port 0 mirror-rule 0 uplink-mirror dst-pool 1 on
Send 10 packets to VM0 and verify the packets has been mirrored to VM1 and
forwarded the packet.
After test need reset mirror rule::
PF testpmd-> reset port 0 mirror-rule 0
- Case: Mirror Traffic between 2VMs with Downlink mirroring
Description: Verify the downlink mirror rule
Run testpmd on VM0 and VM1 and start traffic forward on the VM hosts::
VF0 ./x86_64-default-linuxapp-gcc/app/testpmd -c f -n 4 -- -i
VF1 ./x86_64-default-linuxapp-gcc/app/testpmd -c f -n 4 -- -i
Add one mirror rule that will mirror VM0 outcome traffic to VM1::
PF testpmd-> set port 0 mirror-rule 0 downlink-mirror dst-pool 1 on
Make sure VM1 in receive only mode, VM0 send 16 packets, and verify the VM0
packets has been mirrored to VM1::
VF1 testpmd-> set fwd rxonly
VF1 testpmd-> start
VF0 testpmd-> start tx_first
Note: don't let VF1 fwd packets since downlink mirror will mirror back the
packets to received packets, which will be an infinite loop.
After test need reset mirror rule::
PF testpmd-> reset port 0 mirror-rule 0
- Case: Mirror Traffic between VMs with Vlan mirroring
Description: Verify the vlan mirror rule
Set up common 2VM prerequisites.
Add rx vlan-id 0 on VF0, add one mirror rule that will mirror VM0 income
traffic with specified vlan to VM1::
PF testpmd-> rx_vlan add 3 port 0 vf 0x1
PF testpmd-> set port 0 mirror-rule 0 vlan-mirror 3 dst-pool 1 on
Send 10 packets with vlan-id0/vm0 MAC to VM0 and verify the packets has been
mirrored to VM1 and forwarded the packet.
After test need reset mirror rule::
PF testpmd-> reset port 0 mirror-rule 0
- Case: Mirror Traffic between 2VMs with Vlan & Pool mirroring
Description: Verify the misc mirror rules of vlan and pool
Set up common 2VM prerequisites.
Add rx vlan-id 3 of VF1, and 2 mirror rules, one is VM0 income traffic to VM1,
one is VM1 vlan income traffic to VM0::
PF testpmd-> rx_vlan add 3 port 0 vf 0x2
PF testpmd-> set port 0 mirror-rule 0 pool-mirror-up 0x1 dst-pool 1 on
PF testpmd-> set port 0 mirror-rule 1 vlan-mirror 3 dst-pool 0 on
Send 2 flows one by one, first 10 packets with VM0 mac, and the second 100
packets with VM1 vlan and mac, and verify the first 10 packets has been
mirrored first to VM1, second 100 packets go to VM0 and the packets have been
forwarded.
After test need reset mirror rule::
PF testpmd-> reset port 0 mirror-rule 0
PF testpmd-> reset port 0 mirror-rule 1
- Case: Mirror Traffic between 2VMs with Uplink & Downlink mirroring
Description: Verify the misc mirror rules of uplink and downlink
Run testpmd on VM0 and VM1 and start traffic forward on the VM hosts::
VF0 ./x86_64-default-linuxapp-gcc/app/testpmd -c f -n 4 -- -i
VF1 ./x86_64-default-linuxapp-gcc/app/testpmd -c f -n 4 -- -i
Add 2 mirror rules that will mirror VM0 outcome and income traffic to VM1::
PF testpmd-> set port 0 mirror-rule 0 downlink-mirror dst-pool 1 on
PF testpmd-> set port 0 mirror-rule 0 uplink-mirror dst-pool 1 on
Make sure VM1 in receive only mode, VM0 first send 16 packets, and verify the
VM0 packets has been mirrored to VM1::
VF1 testpmd-> set fwd rxonly
VF1 testpmd-> start
VF0 testpmd-> start tx_first
Note: don't let VF1 fwd packets since downlink mirror will mirror back the
packets to received packets, which will be an infinite loop.
Send 10 packets to VF0 with VF0 MAC from ixia, verify that all VF0 received
packets and transmitted packets will mirror to VF1::
VF0 testpmd-> stop
VF0 testpmd-> set fwd mac
VF0 testpmd-> start
After test need reset mirror rule::
PF testpmd-> reset port 0 mirror-rule 0
- Case: Mirror Traffic between 2VMs with Vlan & Pool & Uplink & Downlink mirroring
Description: Verify the misc mirror rules of vlan and pool and uplink and downlink
Run testpmd on VM0 and VM1 and start traffic forward on the VM hosts::
VF0 ./x86_64-default-linuxapp-gcc/app/testpmd -c f -n 4 -- -i
VF1 ./x86_64-default-linuxapp-gcc/app/testpmd -c f -n 4 -- -i
Add rx vlan-id 0 on VF0 and add 4 mirror rules::
PF testpmd-> reset port 0 mirror-rule 1
PF testpmd-> set port 0 mirror-rule 0 downlink-mirror dst-pool 1 on
PF testpmd-> set port 0 mirror-rule 1 uplink-mirror dst-pool 1 on
PF testpmd-> rx_vlan add 0 port 0 vf 0x2
PF testpmd-> set port 0 mirror-rule 2 vlan-mirror 0 dst-pool 0 on
PF testpmd-> set port 0 mirror-rule 3 pool-mirror-up 0x1 dst-pool 1 on
Make sure VM1 in receive only mode, VM0 first send 16 packets, and verify the
VM0 packets has been mirrored to VM1, VF1, RX, 16packets (downlink mirror)::
VF1 testpmd-> set fwd rxonly
VF1 testpmd-> start
VF0 testpmd-> start tx_first
Note: don't let VF1 fwd packets since downlink mirror will mirror back the
packets to received packets, which will be an infinite loop.
Send 1 packet to VF0 with VF0 MAC from ixia, check if VF0 RX 1 packet and TX 1
packet, and VF1 has 2 packets mirror from VF0(uplink mirror/downlink/pool)::
VF0 testpmd-> stop
VF0 testpmd-> set fwd mac
VF0 testpmd-> start
Send 1 packet with VM1 vlan id and mac, and verify that VF0 have 1 RX packet, 1
TX packet, and VF1 have 2 packets(downlink mirror)::
VF0 testpmd-> stop
VF0 testpmd-> set fwd mac
VF0 testpmd-> start
After test need reset mirror rule::
PF testpmd-> reset port 0 mirror-rule 0
PF testpmd-> reset port 0 mirror-rule 1
PF testpmd-> reset port 0 mirror-rule 2
PF testpmd-> reset port 0 mirror-rule 3
- Case: Negative input to commands
Decription:Input invalid commands on PF/VF to make sure the commands can't work::
Both niantic and Fortville:
PF testpmd-> set port 0 vf 65 tx on
PF testpmd-> set port 2 vf -1 tx off
PF testpmd-> set port 0 vf 0 rx oneee
PF testpmd-> set port 0 vf 0 rx offdd
PF testpmd-> set port 0 vf 64 rxmode BAM on
PF testpmd-> set port 0 vf 64 rxmode BAM off
PF testpmd-> set port 0 uta 00:11:22:33:44 on
PF testpmd-> set port 7 uta 00:55:44:33:22:11 off
PF testpmd-> set port 0 vf 34 rxmode ROPE on
PF testpmd-> mac_addr add port 0 vf 65 00:55:44:33:22:11
PF testpmd-> mac_addr add port 5 vf 0 00:55:44:88:22:11
PF testpmd-> reset port 0xff mirror-rule 0
PF testpmd-> set port 0 mirror-rule 0 downlink-mirror 0xf dst-pool 2 off
Just for niantic:
PF testpmd-> set port 0 mirror-rule 0xf uplink-mirror dst-pool 1 on
PF testpmd-> set port 0 mirror-rule 2 vlan-mirror 9 dst-pool 1 on
PF testpmd-> reset port 0 mirror-rule 4
> -----Original Message-----
> From: Wu, Jingjing
> Sent: Wednesday, June 10, 2015 2:24 PM
> To: dev@dpdk.org
> Cc: Wu, Jingjing; Liu, Jijiang; Jiajia, SunX; Zhang, Helin
> Subject: [PATCH v4 0/4] enable mirror functionality in i40e driver
>
> This patch set enables mirror functionality in i40e driver, and
> redefines structure and macros used to configure mirror.
>
> v2 changes:
> - correct comments style
> - add doc change
>
> v3 changes:
> - change the mirror rule type to support bit mask
> - fix code style
>
> v4 changes:
> - correct the rule type check ixgbe
>
> Jingjing Wu (4):
> ethdev: rename rte_eth_vmdq_mirror_conf
> ethdev: rename and extend the mirror type
> i40e: enable mirror functionality in i40e driver
> doc: modify the command about mirror in testpmd guide
>
> app/test-pmd/cmdline.c | 62 +++---
> doc/guides/testpmd_app_ug/testpmd_funcs.rst | 8 +-
> drivers/net/i40e/i40e_ethdev.c | 334
> ++++++++++++++++++++++++++++
> drivers/net/i40e/i40e_ethdev.h | 23 ++
> drivers/net/ixgbe/ixgbe_ethdev.c | 62 ++++--
> drivers/net/ixgbe/ixgbe_ethdev.h | 4 +-
> lib/librte_ether/rte_ethdev.c | 28 +--
> lib/librte_ether/rte_ethdev.h | 30 +--
> 8 files changed, 466 insertions(+), 85 deletions(-)
>
> --
> 1.9.3
next prev parent reply other threads:[~2015-06-10 8:34 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-13 8:47 [dpdk-dev] [PATCH 0/3] " Jingjing Wu
2015-05-13 8:47 ` [dpdk-dev] [PATCH 1/3] ethdev: rename rte_eth_vmdq_mirror_conf Jingjing Wu
2015-06-02 2:50 ` Liu, Jijiang
2015-05-13 8:47 ` [dpdk-dev] [PATCH 2/3] ethdev: redefine the mirror type Jingjing Wu
2015-05-13 8:47 ` [dpdk-dev] [PATCH 3/3] i40e: enable mirror functionality in i40e driver Jingjing Wu
2015-06-02 7:55 ` [dpdk-dev] [PATCH v2 0/4] " Jingjing Wu
2015-06-02 7:55 ` [dpdk-dev] [PATCH v2 1/4] ethdev: rename rte_eth_vmdq_mirror_conf Jingjing Wu
2015-06-02 7:55 ` [dpdk-dev] [PATCH v2 2/4] ethdev: redefine the mirror type Jingjing Wu
2015-06-02 7:55 ` [dpdk-dev] [PATCH v2 3/4] i40e: enable mirror functionality in i40e driver Jingjing Wu
2015-06-02 7:56 ` [dpdk-dev] [PATCH v2 4/4] doc: modify the command about mirror in testpmd guide Jingjing Wu
2015-06-05 8:16 ` [dpdk-dev] [PATCH v3 0/4] enable mirror functionality in i40e driver Jingjing Wu
2015-06-05 8:16 ` [dpdk-dev] [PATCH v3 1/4] ethdev: rename rte_eth_vmdq_mirror_conf Jingjing Wu
2015-06-05 8:16 ` [dpdk-dev] [PATCH v3 2/4] ethdev: redefine the mirror type Jingjing Wu
2015-06-05 8:16 ` [dpdk-dev] [PATCH v3 3/4] i40e: enable mirror functionality in i40e driver Jingjing Wu
2015-06-05 8:16 ` [dpdk-dev] [PATCH v3 4/4] doc: modify the command about mirror in testpmd guide Jingjing Wu
2015-06-10 6:24 ` [dpdk-dev] [PATCH v4 0/4] enable mirror functionality in i40e driver Jingjing Wu
2015-06-10 6:24 ` [dpdk-dev] [PATCH v4 1/4] ethdev: rename rte_eth_vmdq_mirror_conf Jingjing Wu
2015-06-26 7:03 ` Wu, Jingjing
2015-07-06 1:27 ` Wu, Jingjing
2015-07-07 14:51 ` Thomas Monjalon
2015-07-08 0:58 ` Wu, Jingjing
2015-07-08 10:31 ` Mcnamara, John
2015-07-08 10:35 ` Bruce Richardson
2015-06-10 6:24 ` [dpdk-dev] [PATCH v4 2/4] ethdev: rename and extend the mirror type Jingjing Wu
2015-06-10 6:24 ` [dpdk-dev] [PATCH v4 3/4] i40e: enable mirror functionality in i40e driver Jingjing Wu
2015-06-10 6:24 ` [dpdk-dev] [PATCH v4 4/4] doc: modify the command about mirror in testpmd guide Jingjing Wu
2015-06-10 8:33 ` Jiajia, SunX [this message]
2015-06-12 8:18 ` [dpdk-dev] [PATCH v4 0/4] enable mirror functionality in i40e driver Liu, Jijiang
2015-06-12 8:44 ` Zhang, Helin
2015-07-07 15:46 ` Thomas Monjalon
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=F21F274FCF2C0948830A3ED00345297735EDC8@SHSMSX104.ccr.corp.intel.com \
--to=sunx.jiajia@intel.com \
--cc=dev@dpdk.org \
--cc=jingjing.wu@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).