From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id ECF1EA04EF; Wed, 3 Jun 2020 04:30:32 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E13A91BF5C; Wed, 3 Jun 2020 04:30:32 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id B29931BF4F for ; Wed, 3 Jun 2020 04:30:30 +0200 (CEST) IronPort-SDR: Q00nle4UyMoemmB5Algk4+xP6FpGcv1NSw2/BumHMYxPdErGkGEEx1z4+khLVSJ48qTwduQ8TC m7jGxR2XYmUg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jun 2020 19:30:29 -0700 IronPort-SDR: /IPOub3kjXn/8lYU3uQNhtjXg5u9tvukDDmA/pMkWhXmw84wQKUxHqgCNpZYpLi9UTl+WSerr4 6USi3/g8p5PA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,466,1583222400"; d="scan'208";a="444929813" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga005.jf.intel.com with ESMTP; 02 Jun 2020 19:30:29 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 2 Jun 2020 19:30:28 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 2 Jun 2020 19:30:28 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 2 Jun 2020 19:30:28 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.85]) by SHSMSX104.ccr.corp.intel.com ([10.239.4.70]) with mapi id 14.03.0439.000; Wed, 3 Jun 2020 10:30:25 +0800 From: "Tu, Lijuan" To: "Fu, Qi" , "dts@dpdk.org" CC: "Fu, Qi" Thread-Topic: [dts] [PATCH V1]test_plans: add l2tp and esp coverage test plan Thread-Index: AQHWOL/zXX7lIJXgjk+jeaCzd54v+6jGLEwQ Date: Wed, 3 Jun 2020 02:30:24 +0000 Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20E0BC587D2@SHSMSX101.ccr.corp.intel.com> References: <20200602181747.89632-1-qi.fu@intel.com> In-Reply-To: <20200602181747.89632-1-qi.fu@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dts] [PATCH V1]test_plans: add l2tp and esp coverage test plan X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" Applied, thanks > -----Original Message----- > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Fu Qi > Sent: Wednesday, June 3, 2020 2:18 AM > To: dts@dpdk.org > Cc: Fu, Qi > Subject: [dts] [PATCH V1]test_plans: add l2tp and esp coverage test plan >=20 > Add l2tpv3 and esp coverage test plan. test checksum and l2 tag for > these two protocols. >=20 > Signed-off-by: Fu Qi > --- > test_plans/l2tp_esp_coverage_test_plan.rst | 1458 ++++++++++++++++++++ > 1 file changed, 1458 insertions(+) > create mode 100644 test_plans/l2tp_esp_coverage_test_plan.rst >=20 > diff --git a/test_plans/l2tp_esp_coverage_test_plan.rst > b/test_plans/l2tp_esp_coverage_test_plan.rst > new file mode 100644 > index 0000000..b8eff78 > --- /dev/null > +++ b/test_plans/l2tp_esp_coverage_test_plan.rst > @@ -0,0 +1,1458 @@ > +.. Copyright (c) <2020>, Intel Corporation > + All rights reserved. > + > + Redistribution and use in source and binary forms, with or without > + modification, are permitted provided that the following conditions > + are met: > + > + - Redistributions of source code must retain the above copyright > + notice, this list of conditions and the following disclaimer. > + > + - Redistributions in binary form must reproduce the above copyright > + notice, this list of conditions and the following disclaimer in > + the documentation and/or other materials provided with the > + distribution. > + > + - Neither the name of Intel Corporation nor the names of its > + contributors may be used to endorse or promote products derived > + from this software without specific prior written permission. > + > + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND > CONTRIBUTORS > + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND > FITNESS > + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE > + COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, > INDIRECT, > + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES > + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE > GOODS OR > + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > CONTRACT, > + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF > ADVISED > + OF THE POSSIBILITY OF SUCH DAMAGE. > + > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D > +test coverage for L2TPv3 and ESP > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D > + > +Description > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > +For each protocol, below is a list of standard features supported by the > Columbiaville hardware and the impact on the feature for each protocol. > +Some features are supported in a limited manner as stated below. > + > +IPSec(ESP): > +L2 Tag offloads > +----L2 Tag Stripping - Yes > +----L2 Tag insertion - Yes > +Checksum offloads - Yes > +----Only outer layer 3 checksum for IP+ESP and IP+AH packets > +----Outer layer 3 and 4 checksum for ESP over UDP packets > +Manageability - No > +----Packets must be excluded > +RDMA - No > +----Packets must be excluded > +DCB > +----Priority Flow Control - No > + > +L2TPv3: > +L2 Tag offloads > +----L2 Tag Stripping - Yes > +----L2 Tag insertion - Yes > +Checksum offloads - Yes > +----Only outer layer 3 > +Manageability - No > +----Packets must be excluded > +RDMA - No > +----Packets must be excluded > +DCB > +----Priority Flow Control - No > + > +this test plan is designed to check above offloads in L2TPv3 and ESP. > +and CVL can't support tx checksum in vector path now, so only test the r= x > checksum offload. > + > + > +Prerequisites > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +1. create a vf from a pf:: > + > + echo 1 > /sys/bus/pci/devices/0000\:af\:00.0/sriov_numvfs > + ip link set enp175s0f0 vf 0 mac 00:11:22:33:44:55 > + > +2. bind vf to vfio-pci:: > + > + ./usertools/dpdk-devbind.py -b vfio-pci af:01.0 > + > + > +Test Case 1: test MAC_IPV4_L2TPv3 HW checksum offload > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > + > +1. DUT enable rx checksum with "--enable-rx-cksum" when start testpmd:: > + > + ./x86_64-native-linuxapp-gcc/app/testpmd -n 4 -w af:01.0 -- -i --ena= ble- > rx-cksum > + > +2. DUT setup csum forwarding mode:: > + > + testpmd> port stop all > + testpmd> csum set ip hw 0 > + testpmd> port start all > + testpmd> set fwd csum > + testpmd> set verbose 1 > + testpmd> start > + > +3. Tester send MAC_IPV4_L2TPv3 packets with correct checksum:: > + > + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.3", > proto=3D115)/L2TP('\x00\x00\x00\x11')/Raw('x'*480)], iface=3D"enp134s0f0"= ) > + > +4. DUT check the packets are correctly received with > "PKT_RX_IP_CKSUM_GOOD" by DUT:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D518 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - sw ptype: L2_ETHER L3_= IPV4 - > l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x0 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x22848a2680, pkt_len=3D518, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D115 l4_len=3D= 0 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D0 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + Bad-ipcsum: 0 Bad-l4csum: 0 Bad-outer-l4csu= m: 0 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > +5. Tester send MAC_IPV4_L2TPv3 packets with incorrect checksum:: > + > + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.3", > proto=3D115,chksum=3D0x123)/L2TP('\x00\x00\x00\x11')/Raw('x'*480)], > iface=3D"enp134s0f0") > + > +6. DUT check the packets are correctly received by DUT and report the > checksum error:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D518 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - sw ptype: L2_ETHER L3_= IPV4 - > l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x0 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2284780c40, pkt_len=3D518, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D115 l4_len=3D= 0 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_BAD > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D0 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + Bad-ipcsum: 1 Bad-l4csum: 0 Bad-outer-l4csu= m: 0 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > + > +Test Case 2: test MAC_IPV4_ESP HW checksum offload > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > + > +1. DUT enable rx checksum with "--enable-rx-cksum" when start testpmd, > setup csum forwarding mode:: > + > + ./x86_64-native-linuxapp-gcc/app/testpmd -n 4 -w af:01.0 -- -i --ena= ble- > rx-cksum > + > +2. DUT setup csum forwarding mode:: > + > + testpmd> port stop all > + testpmd> csum set ip hw 0 > + testpmd> port start all > + testpmd> set fwd csum > + testpmd> set verbose 1 > + testpmd> start > + > +3. Tester send MAC_IPV4_ESP packets with correct checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(proto=3D50)/ESP(spi=3D11)/Raw(= 'x'*48 > 0)], iface=3D"enp134s0f0") > + > +4. DUT check the packets are correctly received with > "PKT_RX_IP_CKSUM_GOOD" by DUT:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D522 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - sw ptype: L2_ETHER L3_= IPV4 - > l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x0 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x22848a2fc0, pkt_len=3D522, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D50 l4_len=3D0 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D0 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + Bad-ipcsum: 0 Bad-l4csum: 0 Bad-outer-l4csu= m: 0 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > +5. Tester send MAC_IPV4_ESP packets with incorrect checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(proto=3D50,chksum=3D0x123)/ESP= (spi=3D > 11)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the packets are correctly received by DUT and report the > checksum error:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D522 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - sw ptype: L2_ETHER L3_= IPV4 - > l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x0 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2284781580, pkt_len=3D522, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D50 l4_len=3D0 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_BAD > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D0 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + Bad-ipcsum: 1 Bad-l4csum: 0 Bad-outer-l4csu= m: 0 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > + > +Test Case 3: test MAC_IPV4_AH HW checksum offload > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +1. DUT enable rx checksum with "--enable-rx-cksum" when start testpmd, > setup csum forwarding mode:: > + > +2. DUT setup csum forwarding mode:: > + > + testpmd> port stop all > + testpmd> csum set ip hw 0 > + testpmd> port start all > + testpmd> set fwd csum > + testpmd> set verbose 1 > + testpmd> start > + > +3. Tester send MAC_IPV4_AH packets with correct checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(proto=3D51)/AH(spi=3D11)/Raw('= x'*480 > )], iface=3D"enp134s0f0") > + > +4. DUT check the packets are correctly received with > "PKT_RX_IP_CKSUM_GOOD" by DUT:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D526 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - sw ptype: L2_ETHER L3_= IPV4 - > l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x0 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2284782800, pkt_len=3D526, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D51 l4_len=3D0 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D0 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + Bad-ipcsum: 0 Bad-l4csum: 0 Bad-outer-l4csu= m: 0 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > +5. Tester send MAC_IPV4_AH packets with incorrect checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(proto=3D51,chksum=3D0x123)/AH(= spi=3D > 11)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the packets are correctly received by DUT and report the > checksum error:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D526 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - sw ptype: L2_ETHER L3_= IPV4 - > l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x0 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2284783140, pkt_len=3D526, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D51 l4_len=3D0 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_BAD > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D0 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + Bad-ipcsum: 1 Bad-l4csum: 0 Bad-outer-l4csu= m: 0 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > + > +Test Case 4: test MAC_IPV4_NAT-T-ESP HW checksum offload > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D > + > +1. DUT enable rx checksum with "--enable-rx-cksum" when start testpmd, > setup csum forwarding mode:: > + > +2. DUT setup csum forwarding mode:: > + > + testpmd> port stop all > + testpmd> csum set ip hw 0 > + testpmd> csum set udp hw 0 > + testpmd> port start all > + testpmd> set fwd csum > + testpmd> set verbose 1 > + testpmd> start > + > +3. Tester send MAC_IPV4_NAT-T-ESP pkt with correct IPv4 checksum and > correct UDP checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP(dport=3D4500)/ESP(spi=3D= 11)/R > aw('x'*480)], iface=3D"enp134s0f0") > + > +4. DUT check the packets are correctly received with > "PKT_RX_L4_CKSUM_GOOD" and "PKT_RX_IP_CKSUM_GOOD" by DUT:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D530 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - sw ptype: L2_ETHER L3_= IPV4 > L4_UDP - l2_len=3D14 - l3_len=3D20 - l4_len=3D8 - Receive queue=3D0x0 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x22847843c0, pkt_len=3D530, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D17 l4_len=3D8 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D8 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + Bad-ipcsum: 0 Bad-l4csum: 0 Bad-outer-l4csu= m: 0 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > +5. Tester send MAC_IPV4_NAT-T-ESP pkt with correct IPv4 checksum and > incorrect UDP checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP(dport=3D4500,chksum=3D0x= 123) > /ESP(spi=3D11)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the packets are correctly received with > "PKT_RX_IP_CKSUM_GOOD" and report UDP checksum error by DUT:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D530 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - sw ptype: L2_ETHER L3_= IPV4 > L4_UDP - l2_len=3D14 - l3_len=3D20 - l4_len=3D8 - Receive queue=3D0x0 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_BAD > PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2284784d00, pkt_len=3D530, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D17 l4_len=3D8 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_BAD PKT_RX_IP_CKSUM_GOOD > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D8 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + Bad-ipcsum: 0 Bad-l4csum: 1 Bad-outer-l4csu= m: 0 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > +7. Tester send MAC_IPV4_NAT-T-ESP pkt with incorrect IPv4 checksum and > correct UDP checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(chksum=3D0x123)/UDP(dport=3D45= 00)/ > ESP(spi=3D11)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +8. DUT check the packets are correctly received with > "PKT_RX_L4_CKSUM_GOOD" and report IP checksum error by DUT:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D530 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - sw ptype: L2_ETHER L3_= IPV4 > L4_UDP - l2_len=3D14 - l3_len=3D20 - l4_len=3D8 - Receive queue=3D0x0 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x22848a1400, pkt_len=3D530, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D17 l4_len=3D8 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_BAD > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D8 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + Bad-ipcsum: 1 Bad-l4csum: 0 Bad-outer-l4csu= m: 0 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > +9. Tester send MAC_IPV4_NAT-T-ESP pkt with incorrect IPv4 checksum and > incorrect UDP checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(chksum=3D0x123)/UDP(dport=3D45= 00,c > hksum=3D0x123)/ESP(spi=3D11)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +10. DUT check the packets are correctly received by DUT and report the > checksum error:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D530 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - sw ptype: L2_ETHER L3_= IPV4 > L4_UDP - l2_len=3D14 - l3_len=3D20 - l4_len=3D8 - Receive queue=3D0x0 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_BAD > PKT_RX_IP_CKSUM_BAD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x22848a0ac0, pkt_len=3D530, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D17 l4_len=3D8 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_BAD PKT_RX_IP_CKSUM_BAD > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D8 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + Bad-ipcsum: 1 Bad-l4csum: 1 Bad-outer-l4csu= m: 0 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > + > +Test Case 5: test MAC_IPV6_NAT-T-ESP HW checksum offload > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D > + > +1. DUT enable rx checksum with "--enable-rx-cksum" when start testpmd, > setup csum forwarding mode:: > + > +2. DUT setup csum forwarding mode:: > + > + testpmd> port stop all > + testpmd> csum set udp hw 0 > + testpmd> port start all > + testpmd> set fwd csum > + testpmd> set verbose 1 > + testpmd> start > + > +3. Tester send MAC_IPV6_NAT-T-ESP packets with correct checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6()/UDP(dport=3D4500)/ESP(spi= =3D11)/ > Raw('x'*480)], iface=3D"enp134s0f0") > + > +4. DUT check the packets are correctly received with > "PKT_RX_L4_CKSUM_GOOD" by DUT:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x86dd - = length=3D550 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - sw ptype: L2_ETHER L3_= IPV6 > L4_UDP - l2_len=3D14 - l3_len=3D40 - l4_len=3D8 - Receive queue=3D0x0 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x228489e5c0, pkt_len=3D550, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D86dd l3_len=3D40 l4_proto=3D17 l4_len=3D= 8 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D40 m->l4_len=3D8 > + tx: flags=3DPKT_TX_L4_NO_CKSUM PKT_TX_IPV6 > + stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + Bad-ipcsum: 0 Bad-l4csum: 0 Bad-outer-l4csu= m: 0 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > +5. Tester send MAC_IPV6_NAT-T-ESP packets with incorrect checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6()/UDP(dport=3D4500,chksum=3D= 0x12 > 3)/ESP(spi=3D11)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the packets are correctly received by DUT and report the > checksum error:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x86dd - = length=3D550 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - sw ptype: L2_ETHER L3_= IPV6 > L4_UDP - l2_len=3D14 - l3_len=3D40 - l4_len=3D8 - Receive queue=3D0x0 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_BAD > PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x228489dc80, pkt_len=3D550, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D86dd l3_len=3D40 l4_proto=3D17 l4_len=3D= 8 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_BAD PKT_RX_IP_CKSUM_GOOD > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D40 m->l4_len=3D8 > + tx: flags=3DPKT_TX_L4_NO_CKSUM PKT_TX_IPV6 > + stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + Bad-ipcsum: 0 Bad-l4csum: 1 Bad-outer-l4csu= m: 0 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 1 RX-dropped: 0 RX-total: 1 > + TX-packets: 1 TX-dropped: 0 TX-total: 1 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > + > +Test Case 6: test MAC_IPV4_L2TPv3 l2 tag > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +subcase 1: vlan stripping > +------------------------- > +1. DUT set vlan filter on and enable the vlan receipt:: > + > + testpmd > vlan set filter on 0 > + testpmd > set fwd mac > + testpmd > set verbose 1 > + testpmd > rx_vlan add 1 0 > + > +2. DUT enable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip off 0 > + testpmd > start > + > +3. Tester send MAC_IPV4_L2TPv3 pkt with vlan tag identifier > 1(ether/vlan/ip/l2tp):: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP(proto=3D115)/L= 2TP('\ > x00\x00\x00\x11')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +4. DUT check the pkt is recieved and fwd with vlan tag 1:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - = length=3D522 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - sw ptype: L2_ETHER_VLA= N > L3_IPV4 - l2_len=3D18 - l3_len=3D20 - Receive queue=3D0x0 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + > + tcpdump -i enp134s0f0 -Q in -e -n -v -x > + 15:19:26.315127 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 522: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 1= , offset 0, > flags [none], proto unknown (115), length 504) > + 127.0.0.1 > 127.0.0.1: ip-proto-115 484 > + > +5. Tester send MAC_IPV4_L2TPv3 pkt with vlan tag identifier 2:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D2)/IP(proto=3D115)/L= 2TP('\ > x00\x00\x00\x11')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the pkt is not recieved:: > + > + testpmd> stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 0 RX-dropped: 0 RX-total: 0 > + TX-packets: 0 TX-dropped: 0 TX-total: 0 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 0 RX-dropped: 0 RX-total: 0 > + TX-packets: 0 TX-dropped: 0 TX-total: 0 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > +7. DUT disable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip on 0 > + testpmd > start > + > +8. Tester send MAC_IPV4_L2TPv3 pkt with vlan tag identifier 1:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP(proto=3D115)/L= 2TP('\ > x00\x00\x00\x11')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +9. DUT check the pkt is recieved and fwd without vlan tag identifier 1:: > + > + testpmd> port 0/queue 0: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D518 > - nb_segs=3D1 - RSS hash=3D0x0 - RSS queue=3D0x0 - VLAN tci=3D0x1 - sw pt= ype: > L2_ETHER L3_IPV4 - l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x0 > + ol_flags: PKT_RX_VLAN PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_GOOD PKT_RX_VLAN_STRIPPED > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + > + 15:20:43.803087 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 4 > (0x0800), length 518: (tos 0x0, ttl 64, id 1, offset 0, flags [none], pro= to > unknown (115), length 504) > + 127.0.0.1 > 127.0.0.1: ip-proto-115 484 > + > +subcase 2: vlan insertion > +------------------------- > + > +1. Add tx vlan offload on port 0, take care the first param is port:: > + > + testpmd> vlan set strip off 0 > + testpmd> port stop all > + testpmd> tx_vlan set 0 1 > + testpmd> vlan set filter on 0 > + testpmd> rx_vlan add 1 0 > + testpmd> port start all > + testpmd> start > + > +2. Tester send MAC_IPV4_L2TPv3 packets without vlan to port 0:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(proto=3D115)/L2TP('\x00\x00\x0= 0\x1 > 1')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +3. Tester check recieved the pkt with vlan tag identifier 1:: > + > + 16:08:17.119129 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 526: vlan 1, p 0, ethertype 802.1Q, vlan 1, p 0, etherty= pe > IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto unknown (115)= , length > 504) > + 127.0.0.1 > 127.0.0.1: ip-proto-115 484 > + > + > +Test Case 7: test MAC_IPV6_L2TPv3 l2 tag > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +subcase 1: vlan stripping > +------------------------- > +1. DUT set vlan filter on and enable the vlan receipt:: > + > + testpmd > vlan set filter on 0 > + testpmd > set fwd mac > + testpmd > set verbose 1 > + testpmd > rx_vlan add 1 0 > + > +2. DUT enable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip off 0 > + testpmd > start > + > +3. Tester send MAC_IPV6_L2TPv3 pkt with vlan tag identifier > 1(ether/vlan/ip/l2tp):: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IPv6(nh=3D115)/L2= TP('\x > 00\x00\x00\x11')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +4. DUT check the pkt is fwd with vlan tag 1:: > + > + 16:10:25.899116 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 542: vlan 1, p 0, ethertype IPv6, (hlim 64, next-header > unknown (115) payload length: 484) ::1 > ::1: ip-proto-115 484 > + > +5. Tester send MAC_IPV6_L2TPv3 pkt with vlan tag identifier 2:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D2)/IPv6(nh=3D115)/L2= TP('\x > 00\x00\x00\x11')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the pkt is not recieved:: > + > + testpmd> stop > + Telling cores to stop... > + Waiting for lcores to finish... > + > + ---------------------- Forward statistics for port 0 --------------= -------- > + RX-packets: 0 RX-dropped: 0 RX-total: 0 > + TX-packets: 0 TX-dropped: 0 TX-total: 0 > + --------------------------------------------------------------------= -------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 0 RX-dropped: 0 RX-total: 0 > + TX-packets: 0 TX-dropped: 0 TX-total: 0 > + > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++ > + > +7. DUT disable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip on 0 > + testpmd > start > + > +8. Tester send MAC_IPV6_L2TPv3 pkt with vlan tag identifier 1:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IPv6(nh=3D115)/L2= TP('\x > 00\x00\x00\x11')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +9. DUT check the pkt is fwd without vlan tag identifier 1:: > + > + 16:13:20.231049 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 6 > (0x86dd), length 538: (hlim 64, next-header unknown (115) payload length: > 484) ::1 > ::1: ip-proto-115 484 > + > +subcase 2: vlan insertion > +------------------------- > + > +1. Add tx vlan offload on port 0, take care the first param is port:: > + > + testpmd> vlan set strip off 0 > + testpmd> port stop all > + testpmd> tx_vlan set 0 1 > + testpmd> vlan set filter on 0 > + testpmd> rx_vlan add 1 0 > + testpmd> port start all > + testpmd> start > + > +2. Tester send MAC_IPV6_L2TPv3 packets without vlan to port 0:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(nh=3D115)/L2TP('\x00\x00\x00= \x1 > 1')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +3. Tester check recieved the pkt with vlan tag identifier 1:: > + > + 16:15:35.311109 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 546: vlan 1, p 0, ethertype 802.1Q, vlan 1, p 0, etherty= pe > IPv6, (hlim 64, next-header unknown (115) payload length: 484) ::1 > ::1:= ip- > proto-115 484 > + > + > +Test Case 8: test MAC_IPV4_ESP l2 tag > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +subcase 1: vlan stripping > +------------------------- > +1. DUT set vlan filter on and enable the vlan receipt:: > + > + testpmd > vlan set filter on 0 > + testpmd > set fwd mac > + testpmd > set verbose 1 > + testpmd > rx_vlan add 1 0 > + > +2. DUT enable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip off 0 > + testpmd > start > + > +3. Tester send MAC_IPV4_ESP pkt with vlan tag identifier > 1(ether/vlan/ip/esp):: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP(proto=3D50)/ES= P(spi=3D > 1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +4. DUT check the pkt is fwd with vlan tag 1:: > + > + 16:19:22.039132 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 526: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 1= , offset 0, > flags [none], proto ESP (50), length 508) > + 127.0.0.1 > 127.0.0.1: ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > +5. Tester send MAC_IPV4_ESP pkt with vlan tag identifier 2:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D2)/IP(proto=3D50)/ES= P(spi=3D > 1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the pkt is not recieved:: > + > +7. DUT disable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip on 0 > + testpmd > start > + > +8. Tester send MAC_IPV4_ESP pkt with vlan tag identifier 1:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP(proto=3D50)/ES= P(spi=3D > 1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +9. DUT check the pkt is fwd without vlan tag identifier 1:: > + > + 16:20:49.995057 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 4 > (0x0800), length 522: (tos 0x0, ttl 64, id 1, offset 0, flags [none], pro= to ESP > (50), length 508) > + 127.0.0.1 > 127.0.0.1: ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > +subcase 2: vlan insertion > +------------------------- > + > +1. Add tx vlan offload on port 0, take care the first param is port:: > + > + testpmd> vlan set strip off 0 > + testpmd> port stop all > + testpmd> tx_vlan set 0 1 > + testpmd> vlan set filter on 0 > + testpmd> rx_vlan add 1 0 > + testpmd> port start all > + testpmd> start > + > +2. Tester send MAC_IPV4_ESP packets without vlan to port 0:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(proto=3D50)/ESP(spi=3D1)/Raw('= x'*480) > ], iface=3D"enp134s0f0") > + > +3. Tester check recieved the pkt with vlan tag identifier 1:: > + > + 16:23:08.631125 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 530: vlan 1, p 0, ethertype 802.1Q, vlan 1, p 0, etherty= pe > IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto ESP (50), len= gth 508) > + 127.0.0.1 > 127.0.0.1: ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > + > +Test Case 9: test MAC_IPV6_ESP l2 tag > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +subcase 1: vlan stripping > +------------------------- > +1. DUT set vlan filter on and enable the vlan receipt:: > + > + testpmd > vlan set filter on 0 > + testpmd > set fwd mac > + testpmd > set verbose 1 > + testpmd > rx_vlan add 1 0 > + > +2. DUT enable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip off 0 > + testpmd > start > + > +3. Tester send MAC_IPV6_ESP pkt with vlan tag identifier > 1(ether/vlan/ip/esp):: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IPv6(nh=3D50)/ESP= (spi=3D > 1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +4. DUT check the pkt is fwd with vlan tag 1:: > + > + 16:25:49.075114 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 546: vlan 1, p 0, ethertype IPv6, (hlim 64, next-header = ESP > (50) payload length: 488) ::1 > ::1: ESP(spi=3D0x00000001,seq=3D0x0), len= gth 488 > + > +5. Tester send MAC_IPV6_ESP pkt with vlan tag identifier 2:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D2)/IPv6(nh=3D50)/ESP= (spi=3D > 1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the pkt is not recieved:: > + > +7. DUT disable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip on 0 > + testpmd > start > + > +8. Tester send MAC_IPV6_ESP pkt with vlan tag identifier 1:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IPv6(nh=3D50)/ESP= (spi=3D > 1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +9. DUT check the pkt is fwd without vlan tag identifier 1:: > + > + 16:26:40.279043 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 6 > (0x86dd), length 542: (hlim 64, next-header ESP (50) payload length: > 488) ::1 > ::1: ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > +subcase 2: vlan insertion > +------------------------- > + > +1. Add tx vlan offload on port 0, take care the first param is port:: > + > + testpmd> vlan set strip off 0 > + testpmd> port stop all > + testpmd> tx_vlan set 0 1 > + testpmd> vlan set filter on 0 > + testpmd> rx_vlan add 1 0 > + testpmd> port start all > + testpmd> start > + > +2. Tester send MAC_IPV6_ESP packets without vlan to port 0:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(nh=3D50)/ESP(spi=3D1)/Raw('x= '*480) > ], iface=3D"enp134s0f0") > + > +3. Tester check recieved the pkt with vlan tag identifier 1:: > + > + 16:28:30.323047 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 550: vlan 1, p 0, ethertype 802.1Q, vlan 1, p 0, etherty= pe > IPv6, (hlim 64, next-header ESP (50) payload length: 488) ::1 > ::1: > ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > + > +Test Case 10: test MAC_IPV4_AH l2 tag > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +subcase 1: vlan stripping > +------------------------- > +1. DUT set vlan filter on and enable the vlan receipt:: > + > + testpmd > vlan set filter on 0 > + testpmd > set fwd mac > + testpmd > set verbose 1 > + testpmd > rx_vlan add 1 0 > + > +2. DUT enable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip off 0 > + testpmd > start > + > +3. Tester send MAC_IPV4_AH pkt with vlan tag identifier > 1(ether/vlan/ip/ahA):: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP(proto=3D51)/AH= (spi=3D > 1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +4. DUT check the pkt is fwd with vlan tag 1:: > + > + 16:30:56.899138 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 530: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 1= , offset 0, > flags [none], proto AH (51), length 512) > + 127.0.0.1 > 127.0.0.1: AH(spi=3D0x00000001,sumlen=3D0,seq=3D0x0): i= p-proto-0 > 484 > + > +5. Tester send MAC_IPV4_AH pkt with vlan tag identifier 2:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D2)/IP(proto=3D51)/AH= (spi=3D > 1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the pkt is not recieved:: > + > +7. DUT disable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip on 0 > + testpmd > start > + > +8. Tester send MAC_IPV4_AH pkt with vlan tag identifier 1:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP(proto=3D51)/AH= (spi=3D > 1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +9. DUT check the pkt is fwd without vlan tag identifier 1:: > + > + 16:34:32.599097 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 4 > (0x0800), length 526: (tos 0x0, ttl 64, id 1, offset 0, flags [none], pro= to AH (51), > length 512) > + 127.0.0.1 > 127.0.0.1: AH(spi=3D0x00000001,sumlen=3D0,seq=3D0x0): i= p-proto-0 > 484 > + > + > +subcase 2: vlan insertion > +------------------------- > + > +1. Add tx vlan offload on port 0, take care the first param is port:: > + > + testpmd> vlan set strip off 0 > + testpmd> port stop all > + testpmd> tx_vlan set 0 1 > + testpmd> vlan set filter on 0 > + testpmd> rx_vlan add 1 0 > + testpmd> port start all > + testpmd> start > + > +2. Tester send MAC_IPV4_AH packets without vlan to port 0:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(proto=3D51)/AH(spi=3D1)/Raw('x= '*480) > ], iface=3D"enp134s0f0") > + > +3. Tester check recieved the pkt with vlan tag identifier 1:: > + > + 16:37:21.783066 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 534: vlan 1, p 0, ethertype 802.1Q, vlan 1, p 0, etherty= pe > IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto AH (51), leng= th 512) > + 127.0.0.1 > 127.0.0.1: AH(spi=3D0x00000001,sumlen=3D0,seq=3D0x0): i= p-proto-0 > 484 > + > + > +Test Case 11: test MAC_IPV6_AH l2 tag > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +subcase 1: vlan stripping > +------------------------- > +1. DUT set vlan filter on and enable the vlan receipt:: > + > + testpmd > vlan set filter on 0 > + testpmd > set fwd mac > + testpmd > set verbose 1 > + testpmd > rx_vlan add 1 0 > + > +2. DUT enable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip off 0 > + testpmd > start > + > +3. Tester send MAC_IPV6_AH pkt with vlan tag identifier > 1(ether/vlan/ip/ah):: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IPv6(nh=3D51)/AH(= spi=3D1 > )/Raw('x'*480)], iface=3D"enp134s0f0") > + > +4. DUT check the pkt is fwd with vlan tag 1:: > + > + 16:32:11.519239 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 550: vlan 1, p 0, ethertype IPv6, (hlim 64, next-header = AH > (51) payload length: 492) ::1 > ::1: AH(spi=3D0x00000001,sumlen=3D0,seq= =3D0x0): > HBH (pad1)(pad1)[trunc] [|HBH] > + > +5. Tester send MAC_IPV6_AH pkt with vlan tag identifier 2:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D2)/IPv6(nh=3D51)/AH(= spi=3D1 > )/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the pkt is not recieved:: > + > +7. DUT disable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip on 0 > + testpmd > start > + > +8. Tester send MAC_IPV6_AH pkt with vlan tag identifier 1:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IPv6(nh=3D51)/AH(= spi=3D1 > )/Raw('x'*480)], iface=3D"enp134s0f0") > + > +9. DUT check the pkt is fwd without vlan tag identifier 1:: > + > + 16:35:27.395058 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 6 > (0x86dd), length 546: (hlim 64, next-header AH (51) payload length: > 492) ::1 > ::1: AH(spi=3D0x00000001,sumlen=3D0,seq=3D0x0): HBH > (pad1)(pad1)[trunc] [|HBH] > + > + > +subcase 2: vlan insertion > +------------------------- > + > +1. Add tx vlan offload on port 0, take care the first param is port:: > + > + testpmd> vlan set strip off 0 > + testpmd> port stop all > + testpmd> tx_vlan set 0 1 > + testpmd> vlan set filter on 0 > + testpmd> rx_vlan add 1 0 > + testpmd> port start all > + testpmd> start > + > +2. Tester send MAC_IPV6_AH packets without vlan to port 0:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(nh=3D51)/AH(spi=3D1)/Raw('x'= *480)], > iface=3D"enp134s0f0") > + > +3. Tester check recieved the pkt with vlan tag identifier 1:: > + > + 16:38:02.311042 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 554: vlan 1, p 0, ethertype 802.1Q, vlan 1, p 0, etherty= pe > IPv6, (hlim 64, next-header AH (51) payload length: 492) ::1 > ::1: > AH(spi=3D0x00000001,sumlen=3D0,seq=3D0x0): HBH (pad1)(pad1)[trunc] [|HBH] > + > + > +Test Case 12: test MAC_IPV4_NAT-T-ESP l2 tag > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +subcase 1: vlan stripping > +------------------------- > +1. DUT set vlan filter on and enable the vlan receipt:: > + > + testpmd > vlan set filter on 0 > + testpmd > set fwd mac > + testpmd > set verbose 1 > + testpmd > rx_vlan add 1 0 > + > +2. DUT enable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip off 0 > + testpmd > start > + > +3. Tester send MAC_IPV4_NAT-T-ESP pkt with vlan tag identifier > 1(ether/vlan/ip/udp/esp):: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP()/UDP(dport=3D= 4500) > /ESP(spi=3D1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +4. DUT check the pkt is fwd with vlan tag 1:: > + > + 16:43:18.351118 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 534: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 1= , offset 0, > flags [none], proto UDP (17), length 516) > + 127.0.0.1.4500 > 127.0.0.1.4500: UDP-encap: > ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > +5. Tester send MAC_IPV4_NAT-T-ESP pkt with vlan tag identifier 2:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D2)/IP()/UDP(dport=3D= 4500) > /ESP(spi=3D1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the pkt is not recieved:: > + > +7. DUT disable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip on 0 > + testpmd > start > + > +8. Tester send MAC_IPV4_NAT-T-ESP pkt with vlan tag identifier 1:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP()/UDP(dport=3D= 4500) > /ESP(spi=3D1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +9. DUT check the pkt is recieved without vlan tag identifier 1:: > + > + 16:46:50.015123 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 4 > (0x0800), length 530: (tos 0x0, ttl 64, id 1, offset 0, flags [none], pro= to UDP > (17), length 516) > + 127.0.0.1.4500 > 127.0.0.1.4500: UDP-encap: > ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > +subcase 2: vlan insertion > +------------------------- > + > +1. Add tx vlan offload on port 0, take care the first param is port:: > + > + testpmd> vlan set strip off 0 > + testpmd> port stop all > + testpmd> tx_vlan set 0 1 > + testpmd> vlan set filter on 0 > + testpmd> rx_vlan add 1 0 > + testpmd> port start all > + testpmd> start > + > +2. Tester send MAC_IPV4_NAT-T-ESP packets without vlan to port 0:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP(dport=3D4500)/ESP(spi=3D= 1)/Ra > w('x'*480)], iface=3D"enp134s0f0") > + > +3. Tester check recieved the pkt with vlan tag identifier 1:: > + > + 16:49:41.875196 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 538: vlan 1, p 0, ethertype 802.1Q, vlan 1, p 0, etherty= pe > IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto UDP (17), len= gth 516) > + 127.0.0.1.4500 > 127.0.0.1.4500: UDP-encap: > ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > + > +Test Case 13: test MAC_IPV6_NAT-T-ESP l2 tag > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +subcase 1: vlan stripping > +------------------------- > +1. DUT set vlan filter on and enable the vlan receipt:: > + > + testpmd > vlan set filter on 0 > + testpmd > set fwd mac > + testpmd > set verbose 1 > + testpmd > rx_vlan add 1 0 > + > +2. DUT enable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip off 0 > + testpmd > start > + > +3. Tester send MAC_IPV6_NAT-T-ESP pkt with vlan tag identifier > 1(ether/vlan/ip/udp/esp):: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IPv6()/UDP(dport= =3D450 > 0)/ESP(spi=3D1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +4. DUT check the pkt is fwd with vlan tag 1:: > + > + 16:44:13.959467 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 554: vlan 1, p 0, ethertype IPv6, (hlim 64, next-header = UDP > (17) payload length: 496) ::1.4500 > ::1.4500: [udp sum ok] UDP-encap: > ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > +5. Tester send MAC_IPV6_NAT-T-ESP pkt with vlan tag identifier 2:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D2)/IPv6()/UDP(dport= =3D450 > 0)/ESP(spi=3D1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the pkt is not recieved:: > + > +7. DUT disable the vlan header stripping with vlan tag identifier 1:: > + > + testpmd > vlan set strip on 0 > + testpmd > start > + > +8. Tester send MAC_IPV6_NAT-T-ESP pkt with vlan tag identifier 1:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IPv6()/UDP(dport= =3D450 > 0)/ESP(spi=3D1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +9. DUT check the pkt is recieved without vlan tag identifier 1:: > + > + 16:47:30.747658 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 6 > (0x86dd), length 550: (hlim 64, next-header UDP (17) payload length: > 496) ::1.4500 > ::1.4500: [udp sum ok] UDP-encap: > ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > +subcase 2: vlan insertion > +------------------------- > + > +1. Add tx vlan offload on port 0, take care the first param is port:: > + > + testpmd> vlan set strip off 0 > + testpmd> port stop all > + testpmd> tx_vlan set 0 1 > + testpmd> vlan set filter on 0 > + testpmd> rx_vlan add 1 0 > + testpmd> port start all > + testpmd> start > + > +2. Tester send MAC_IPV4_NAT-T-ESP packets without vlan to port 0:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6()/UDP(dport=3D4500)/ESP(spi= =3D1)/R > aw('x'*480)], iface=3D"enp134s0f0") > + > +3. Tester check recieved the pkt with vlan tag identifier 1:: > + > + 16:50:29.791349 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype 802= .1Q > (0x8100), length 558: vlan 1, p 0, ethertype 802.1Q, vlan 1, p 0, etherty= pe > IPv6, (hlim 64, next-header UDP (17) payload length: 496) ::1.4500 > ::1.= 4500: > [udp sum ok] UDP-encap: ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > + > +Test Case 14: MAC_IPV4_L2TPv3 vlan strip on + HW checksum offload check > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D=3D=3D=3D=3D > + > +The pre-steps are as l2tp_esp_iavf_test_plan. > + > +1. ./x86_64-native-linuxapp-gcc/app/testpmd -l 6-9 -n 4 -w af:01.0 -- -i= -- > rxq=3D16 --txq=3D16 --portmask=3D0x1 --nb-cores=3D2 --enable-rx-cksum > + > +2. DUT create fdir rules for MAC_IPV4_L2TPv3 with queue index and mark:: > + > + flow create 0 ingress pattern eth / ipv4 / l2tpv3oip session_id is 1= / end > actions queue index 1 / mark id 4 / end > + flow create 0 ingress pattern eth / ipv4 / l2tpv3oip session_id is 2= / end > actions queue index 2 / mark id 3 / end > + flow create 0 ingress pattern eth / ipv4 / l2tpv3oip session_id is 3= / end > actions queue index 3 / mark id 2 / end > + flow create 0 ingress pattern eth / ipv4 / l2tpv3oip session_id is 4= / end > actions queue index 4 / mark id 1 / end > + > +3. Enable vlan filter and receipt of VLAN packets with VLAN Tag Identifi= er 1 > on port 0, Enable vlan strip on VF0:: > + > + testpmd> vlan set filter on 0 > + testpmd> rx_vlan add 1 0 > + testpmd> vlan set strip on 0 > + testpmd> set verbose 1 > + > +4. enable hw checksum:: > + > + testpmd> set fwd csum > + Set csum packet forwarding mode > + testpmd> port stop all > + testpmd> csum set ip hw 0 > + testpmd> csum set udp hw 0 > + testpmd> port start all > + testpmd> start > + > +5. Tester send matched packets with VLAN tag "1" and incorrect checksum:= : > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP(proto=3D115,ch= ksum > =3D0x123)/L2TP('\x00\x00\x00\x01')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the packets are distributed to expected queue with mark id > and fwd without VLAN tag "1", and report the checksum error:: > + > + testpmd> port 0/queue 1: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D518 > - nb_segs=3D1 - RSS hash=3D0x828dafbf - RSS queue=3D0x1 - VLAN tci=3D0x1 = - sw > ptype: L2_ETHER L3_IPV4 - l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x= 1 > + ol_flags: PKT_RX_VLAN PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_VLAN_STRIPPED > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2268c09840, pkt_len=3D518, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D115 l4_len=3D= 0 > flags=3DPKT_RX_VLAN PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_VLAN_STRIPPED > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D0 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + > + 15:20:43.803087 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 4 > (0x0800), length 518: (tos 0x0, ttl 64, id 1, offset 0, flags [none], pro= to > unknown (115), length 504) > + 127.0.0.1 > 127.0.0.1: ip-proto-115 484 > + > +7. Tester send mismatched packets with VLAN tag "1" and incorrect > checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP(proto=3D115,ch= ksum > =3D0x123)/L2TP('\x00\x00\x00\x11')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +8. DUT check the packets are not distributed to expected queue without > mark id and fwd without VLAN tag "1", and report the checksum error:: > + > + port 0/queue 15: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D518 > - nb_segs=3D1 - RSS hash=3D0x828dafbf - RSS queue=3D0xf - VLAN tci=3D0x1 = - sw ptype: > L2_ETHER L3_IPV4 - l2_len=3D14 - l3_len=3D20 - Receive queue=3D0xf > + ol_flags: PKT_RX_VLAN PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_VLAN_STRIPPED > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2269cba700, pkt_len=3D518, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D115 l4_len=3D= 0 > flags=3DPKT_RX_VLAN PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_VLAN_STRIPPED > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D0 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + > + 15:20:43.803087 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 4 > (0x0800), length 518: (tos 0x0, ttl 64, id 1, offset 0, flags [none], pro= to > unknown (115), length 504) > + 127.0.0.1 > 127.0.0.1: ip-proto-115 484 > + > +9. DUT verify rule can be listed and destroyed:: > + > + testpmd> flow list 0 > + ID Group Prio Attr Rule > + 0 0 0 i-- ETH IPV4 L2TPV3OIP =3D> QUEUE MARK > + 1 0 0 i-- ETH IPV4 L2TPV3OIP =3D> QUEUE MARK > + 2 0 0 i-- ETH IPV4 L2TPV3OIP =3D> QUEUE MARK > + 3 0 0 i-- ETH IPV4 L2TPV3OIP =3D> QUEUE MARK > + testpmd> flow destroy 0 rule 0 > + > +10. Tester send matched packets with VLAN tag "1" and incorrect checksum= :: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP(proto=3D115,ch= ksum > =3D0x123)/L2TP('\x00\x00\x00\x01')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +11.DUT check the packets are not distributed to expected queue without > mark id and and without VLAN tag "1", and report the checksum error:: > + > + testpmd> port 0/queue 15: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D518 > - nb_segs=3D1 - RSS hash=3D0x828dafbf - RSS queue=3D0xf - VLAN tci=3D0x1 = - sw ptype: > L2_ETHER L3_IPV4 - l2_len=3D14 - l3_len=3D20 - Receive queue=3D0xf > + ol_flags: PKT_RX_VLAN PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_VLAN_STRIPPED > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2269cb9dc0, pkt_len=3D518, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D115 l4_len=3D= 0 > flags=3DPKT_RX_VLAN PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_VLAN_STRIPPED > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D0 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + > + 15:20:43.803087 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 4 > (0x0800), length 518: (tos 0x0, ttl 64, id 1, offset 0, flags [none], pro= to > unknown (115), length 504) > + 127.0.0.1 > 127.0.0.1: ip-proto-115 484 > + > + > +Test Case 15: MAC_IPV4_L2TPv3 vlan insert on + SW checksum offload > check > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +1. ./x86_64-native-linuxapp-gcc/app/testpmd -l 6-9 -n 4 -w af:01.0 -- -i= -- > rxq=3D16 --txq=3D16 --portmask=3D0x1 --nb-cores=3D2 --enable-rx-cksum > + > +2. DUT create fdir rules for MAC_IPV4_L2TPv3 with queue index and mark:: > + > + flow create 0 ingress pattern eth / ipv4 / l2tpv3oip session_id is 1= / end > actions queue index 1 / mark id 4 / end > + flow create 0 ingress pattern eth / ipv4 / l2tpv3oip session_id is 2= / end > actions queue index 2 / mark id 3 / end > + flow create 0 ingress pattern eth / ipv4 / l2tpv3oip session_id is 3= / end > actions queue index 3 / mark id 2 / end > + flow create 0 ingress pattern eth / ipv4 / l2tpv3oip session_id is 4= / end > actions queue index 4 / mark id 1 / end > + > +3. Enable vlan filter and add tx vlan offload on port 0:: > + > + testpmd> port stop all > + testpmd> rx_vlan add 1 0 > + testpmd> vlan set filter on 0 > + testpmd> tx_vlan set 0 1 > + testpmd> port start all > + testpmd> set fwd mac > + testpmd> set verbose 1 > + > +4. Tester send matched packets without vlan:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(proto=3D115)/L2TP('\x00\x00\x0= 0\x0 > 2')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +5. DUT check the packets are distributed to expected queue with mark id > and fwd with VLAN tag "1" to tester:: > + > + testpmd> port 0/queue 2: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - = length=3D522 > - nb_segs=3D1 - RSS hash=3D0xf20d0ef3 - RSS queue=3D0x2 - sw ptype: > L2_ETHER_VLAN L3_IPV4 - l2_len=3D18 - l3_len=3D20 - Receive queue=3D0x2 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2268d26880, pkt_len=3D522, nb_segs=3D1: > + rx: l2_len=3D18 ethertype=3D800 l3_len=3D20 l4_proto=3D115 l4_len=3D= 0 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_BAD > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: flags=3DPKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + > + 17:25:40.615279 a4:bf:01:6a:62:58 > 00:11:22:33:44:55, ethertype 802= .1Q > (0x8100), length 522: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 1= , offset 0, > flags [none], proto unknown (115), length 504, bad cksum 123 (->7a90)!) > + 127.0.0.1 > 127.0.0.1: ip-proto-115 484 > + > +6. enable sw checksum:: > + > + testpmd> set fwd csum > + Set csum packet forwarding mode > + testpmd> port stop all > + testpmd> csum set ip sw 0 > + testpmd> csum set udp sw 0 > + testpmd> port start all > + testpmd> start > + > +7. Tester send mismatched packets with incorrect checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(proto=3D115,chksum=3D0x123)/L2= TP('\ > x00\x00\x00\x22')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +8. DUT check the packets are not distributed to expected queue without > mark id and report the checksum error:: > + > + port 0/queue 3: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - = length=3D522 > - nb_segs=3D1 - RSS hash=3D0xf20d0ef3 - RSS queue=3D0x3 - sw ptype: > L2_ETHER_VLAN L3_IPV4 - l2_len=3D18 - l3_len=3D20 - Receive queue=3D0x3 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2268e42f80, pkt_len=3D522, nb_segs=3D1: > + rx: l2_len=3D18 ethertype=3D800 l3_len=3D20 l4_proto=3D115 l4_len=3D= 0 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_BAD > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: flags=3DPKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + > +9. DUT verify rule can be listed and destroyed:: > + > + testpmd> flow list 0 > + ID Group Prio Attr Rule > + 0 0 0 i-- ETH IPV4 L2TPV3OIP =3D> QUEUE MARK > + 1 0 0 i-- ETH IPV4 L2TPV3OIP =3D> QUEUE MARK > + 2 0 0 i-- ETH IPV4 L2TPV3OIP =3D> QUEUE MARK > + 3 0 0 i-- ETH IPV4 L2TPV3OIP =3D> QUEUE MARK > + testpmd> flow destroy 0 rule 1 > + > +10. Tester send matched packets with incorrect checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(proto=3D115,chksum=3D0x123)/L2= TP('\ > x00\x00\x00\x02')/Raw('x'*480)], iface=3D"enp134s0f0") > + > +11.DUT check the packets are not distributed to expected queue without > mark id and report the checksum error:: > + > + testpmd> port 0/queue 3: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - = length=3D522 > - nb_segs=3D1 - RSS hash=3D0xf20d0ef3 - RSS queue=3D0x3 - sw ptype: > L2_ETHER_VLAN L3_IPV4 - l2_len=3D18 - l3_len=3D20 - Receive queue=3D0x3 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2268e42640, pkt_len=3D522, nb_segs=3D1: > + rx: l2_len=3D18 ethertype=3D800 l3_len=3D20 l4_proto=3D115 l4_len=3D= 0 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_BAD > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: flags=3DPKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + > + > +Test Case 16: MAC_IPV4_ESP vlan strip on + HW checksum offload check > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D=3D > + > +The pre-steps are as l2tp_esp_iavf_test_plan. > + > +1. ./x86_64-native-linuxapp-gcc/app/testpmd -l 6-9 -n 4 -w af:01.0 -- -i= -- > rxq=3D16 --txq=3D16 --portmask=3D0x1 --nb-cores=3D2 --enable-rx-cksum > + > +2. DUT create fdir rules for MAC_IPV4_ESP with queue index and mark:: > + > + flow create 0 ingress pattern eth / ipv4 / esp spi is 1 / end action= s queue > index 1 / mark id 4 / end > + flow create 0 ingress pattern eth / ipv4 / esp spi is 2 / end action= s queue > index 2 / mark id 3 / end > + flow create 0 ingress pattern eth / ipv4 / esp spi is 3 / end action= s queue > index 3 / mark id 2 / end > + flow create 0 ingress pattern eth / ipv4 / esp spi is 4 / end action= s queue > index 4 / mark id 1 / end > + > +3. Enable vlan filter and receipt of VLAN packets with VLAN Tag Identifi= er 1 > on port 0, Enable vlan strip on VF0:: > + > + testpmd> vlan set filter on 0 > + testpmd> rx_vlan add 1 0 > + testpmd> vlan set strip on 0 > + > +4. enable hw checksum:: > + > + testpmd> set fwd csum > + Set csum packet forwarding mode > + testpmd> set verbose 1 > + testpmd> port stop all > + testpmd> csum set ip hw 0 > + testpmd> csum set udp hw 0 > + testpmd> port start all > + testpmd> start > + > +5. Tester send matched packets with VLAN tag "1" and incorrect checksum:= : > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP(proto=3D50,chk= sum=3D > 0x123)/ESP(spi=3D1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +6. DUT check the packets are distributed to expected queue with mark id > and fwd without VLAN tag "1", and report the checksum error:: > + > + testpmd> port 0/queue 1: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D522 > - nb_segs=3D1 - RSS hash=3D0xeb9be2c9 - RSS queue=3D0x1 - VLAN tci=3D0x1 = - sw > ptype: L2_ETHER L3_IPV4 - l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x= 1 > + ol_flags: PKT_RX_VLAN PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_VLAN_STRIPPED > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2268c0a180, pkt_len=3D522, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D50 l4_len=3D0 > flags=3DPKT_RX_VLAN PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_VLAN_STRIPPED > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D0 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + > + 17:39:12.063112 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 4 > (0x0800), length 522: (tos 0x0, ttl 64, id 1, offset 0, flags [none], pro= to ESP > (50), length 508) > + 127.0.0.1 > 127.0.0.1: ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > +7. Tester send mismatched packets with VLAN tag "1" and incorrect > checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP(proto=3D50,chk= sum=3D > 0x123)/ESP(spi=3D11)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +8. DUT check the packets are not distributed to expected queue without > mark id and fwd without VLAN tag "1", and report the checksum error:: > + > + port 0/queue 9: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D522 > - nb_segs=3D1 - RSS hash=3D0xeb9be2c9 - RSS queue=3D0x9 - VLAN tci=3D0x1 = - sw > ptype: L2_ETHER L3_IPV4 - l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x= 9 > + ol_flags: PKT_RX_VLAN PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_VLAN_STRIPPED > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x226960fd00, pkt_len=3D522, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D50 l4_len=3D0 > flags=3DPKT_RX_VLAN PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_VLAN_STRIPPED > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D0 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + > + 17:40:33.967072 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 4 > (0x0800), length 522: (tos 0x0, ttl 64, id 1, offset 0, flags [none], pro= to ESP > (50), length 508) > + 127.0.0.1 > 127.0.0.1: ESP(spi=3D0x0000000b,seq=3D0x0), length 488 > + > +9. DUT verify rule can be listed and destroyed:: > + > + testpmd> flow list 0 > + 0 0 0 i-- ETH IPV4 ESP =3D> QUEUE MARK > + 1 0 0 i-- ETH IPV4 ESP =3D> QUEUE MARK > + 2 0 0 i-- ETH IPV4 ESP =3D> QUEUE MARK > + 3 0 0 i-- ETH IPV4 ESP =3D> QUEUE MARK > + testpmd> flow destroy 0 rule 0 > + > +10. Tester send matched packets with VLAN tag "1" and incorrect checksum= :: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/Dot1Q(vlan=3D1)/IP(proto=3D50,chk= sum=3D > 0x123)/ESP(spi=3D1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +11.DUT check the packets are not distributed to expected queue without > mark id and and fwd without VLAN tag "1", and report the checksum error:: > + > + testpmd> port 0/queue 9: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x0800 - = length=3D522 > - nb_segs=3D1 - RSS hash=3D0xeb9be2c9 - RSS queue=3D0x9 - VLAN tci=3D0x1 = - sw > ptype: L2_ETHER L3_IPV4 - l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x= 9 > + ol_flags: PKT_RX_VLAN PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_VLAN_STRIPPED > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x226960f3c0, pkt_len=3D522, nb_segs=3D1: > + rx: l2_len=3D14 ethertype=3D800 l3_len=3D20 l4_proto=3D50 l4_len=3D0 > flags=3DPKT_RX_VLAN PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_VLAN_STRIPPED > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: m->l2_len=3D14 m->l3_len=3D20 m->l4_len=3D0 > + tx: flags=3DPKT_TX_IP_CKSUM PKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + > + 17:42:29.419400 00:11:22:33:44:55 > 02:00:00:00:00:00, ethertype IPv= 4 > (0x0800), length 522: (tos 0x0, ttl 64, id 1, offset 0, flags [none], pro= to ESP > (50), length 508) > + 127.0.0.1 > 127.0.0.1: ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > + > +Test Case 17: MAC_IPV6_NAT-T-ESP vlan insert on + SW checksum offload > check > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +1. ./x86_64-native-linuxapp-gcc/app/testpmd -l 6-9 -n 4 -w af:01.0 -- -i= -- > rxq=3D16 --txq=3D16 --portmask=3D0x1 --nb-cores=3D2 --enable-rx-cksum > + > +2. DUT create fdir rules for MAC_IPV6_NAT-T-ESP with queue index and > mark:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / esp spi is 1 / end = actions > queue index 1 / mark id 4 / end > + flow create 0 ingress pattern eth / ipv4 / udp / esp spi is 2 / end = actions > queue index 2 / mark id 3 / end > + flow create 0 ingress pattern eth / ipv4 / udp / esp spi is 3 / end = actions > queue index 3 / mark id 2 / end > + flow create 0 ingress pattern eth / ipv4 / udp / esp spi is 4 / end = actions > queue index 4 / mark id 1 / end > + > +3. Enable vlan filter and add tx vlan offload on port 0:: > + > + testpmd> port stop all > + testpmd> rx_vlan add 1 0 > + testpmd> vlan set filter on 0 > + testpmd> tx_vlan set 0 1 > + testpmd> port start all > + testpmd> set fwd mac > + testpmd> set verbose 1 > + > +4. Tester send matched packets without vlan:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(chksum=3D0x123)/UDP(dport=3D45= 00)/ > ESP(spi=3D1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +5. DUT check the packets are distributed to expected queue with mark id > and fwd with VLAN tag "1" to tester:: > + > + testpmd> port 0/queue 1: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - = length=3D534 > - nb_segs=3D1 - RSS hash=3D0x89b546af - RSS queue=3D0x1 - sw ptype: > L2_ETHER_VLAN L3_IPV4 L4_UDP - l2_len=3D18 - l3_len=3D20 - l4_len=3D8 - = Receive > queue=3D0x1 > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2268c0a180, pkt_len=3D534, nb_segs=3D1: > + rx: l2_len=3D18 ethertype=3D800 l3_len=3D20 l4_proto=3D17 l4_len=3D8 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_BAD > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: flags=3DPKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + > + 17:49:14.935149 a4:bf:01:6a:62:58 > 00:11:22:33:44:55, ethertype 802= .1Q > (0x8100), length 534: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 1= , offset 0, > flags [none], proto UDP (17), length 516, bad cksum 123 (->7ae6)!) > + 127.0.0.1.4500 > 127.0.0.1.4500: UDP-encap: > ESP(spi=3D0x00000001,seq=3D0x0), length 488 > + > +6. enable sw checksum:: > + > + testpmd> set fwd csum > + Set csum packet forwarding mode > + testpmd> port stop all > + testpmd> csum set ip sw 0 > + testpmd> csum set udp sw 0 > + testpmd> port start all > + testpmd> start > + > +7. Tester send mismatched packets with incorrect checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(chksum=3D0x123)/UDP(dport=3D45= 00)/ > ESP(spi=3D11)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +8. DUT check the packets are not distributed to expected queue without > mark id and report the checksum error:: > + > + port 0/queue 15: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - = length=3D534 > - nb_segs=3D1 - RSS hash=3D0x89b546af - RSS queue=3D0xf - sw ptype: > L2_ETHER_VLAN L3_IPV4 L4_UDP - l2_len=3D18 - l3_len=3D20 - l4_len=3D8 - = Receive > queue=3D0xf > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2269cba700, pkt_len=3D534, nb_segs=3D1: > + rx: l2_len=3D18 ethertype=3D800 l3_len=3D20 l4_proto=3D17 l4_len=3D8 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_BAD > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: flags=3DPKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + > +9. DUT verify rule can be listed and destroyed:: > + > + testpmd> flow list 0 > + ID Group Prio Attr Rule > + 0 0 0 i-- ETH IPV4 UDP ESP =3D> QUEUE MARK > + 1 0 0 i-- ETH IPV4 UDP ESP =3D> QUEUE MARK > + 2 0 0 i-- ETH IPV4 UDP ESP =3D> QUEUE MARK > + 3 0 0 i-- ETH IPV4 UDP ESP =3D> QUEUE MARK > + testpmd> flow destroy 0 rule 0 > + > +10. Tester send matched packets with incorrect checksum:: > + > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(chksum=3D0x123)/UDP(dport=3D45= 00)/ > ESP(spi=3D1)/Raw('x'*480)], iface=3D"enp134s0f0") > + > +11.DUT check the packets are not distributed to expected queue without > mark id and report the checksum error:: > + > + testpmd> port 0/queue 15: received 1 packets > + src=3DA4:BF:01:6A:62:58 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - = length=3D534 > - nb_segs=3D1 - RSS hash=3D0x89b546af - RSS queue=3D0xf - sw ptype: > L2_ETHER_VLAN L3_IPV4 L4_UDP - l2_len=3D18 - l3_len=3D20 - l4_len=3D8 - = Receive > queue=3D0xf > + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD > PKT_RX_IP_CKSUM_BAD PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + ----------------- > + port=3D0, mbuf=3D0x2269cb9dc0, pkt_len=3D534, nb_segs=3D1: > + rx: l2_len=3D18 ethertype=3D800 l3_len=3D20 l4_proto=3D17 l4_len=3D8 > flags=3DPKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_BAD > PKT_RX_OUTER_L4_CKSUM_UNKNOWN > + tx: flags=3DPKT_TX_L4_NO_CKSUM PKT_TX_IPV4 > + > -- > 2.17.1