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 C8349A04AB; Mon, 31 Aug 2020 05:29:12 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A0343137D; Mon, 31 Aug 2020 05:29:12 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 5D34DDE0 for ; Mon, 31 Aug 2020 05:29:10 +0200 (CEST) IronPort-SDR: XYTokL3XYzUH4Gec6d2sMpQNhy4wDvfP/x0Fpwjq640iUm2yM3BUdpRYrUnH1Dz57N0JR81flT HBa41jkSyWmA== X-IronPort-AV: E=McAfee;i="6000,8403,9729"; a="156166121" X-IronPort-AV: E=Sophos;i="5.76,374,1592895600"; d="scan'208";a="156166121" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2020 20:29:08 -0700 IronPort-SDR: 3TaHZD7JewbxyWhlCkkgvHp1LF6jcwf+BHn1XWmkQ0XgCh4mnz86dS5BqzHCh7cfV5I6dVsb6m zshK7/ou8dyA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,374,1592895600"; d="scan'208";a="374686233" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga001.jf.intel.com with ESMTP; 30 Aug 2020 20:29:08 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 30 Aug 2020 20:28:26 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Sun, 30 Aug 2020 20:28:26 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.170) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Sun, 30 Aug 2020 20:28:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hwLjRNhHp2BJyR/NVhuO88fnbMNzJ87gF22xO+mFM8OxBQ6qQx+adERmUjS9XfG02Nh4BoMFYPMqqEAFiFDbWR/PK0zDRa3r4GJgvdH0HndwKFztXAPeB2GMhBvZ/99l6I8hVkTF4oA/FnkLJ1HeMSWGdB4pep9ZZu+WmzjgCl1IkyAY3jBg/0ZO3R0QIJO7lwg85Eki4UR+4Ucaf1+CzpfOk6j1HMDSaLVYyecJ/Sq6I9QEweUxLErHijWFMMtOhqkfKeQs2ktbh4/GBPRqR/q9dDZMP4N4z74jXB7d5NG1EVel8OEFd7NIhWrfdI7w0isM0Ef6iMJPvN4mTsoFsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GoFyMhxW1EhHAW2hiKD7puN7SEzJgopXwyBpnv6z+l8=; b=Bz2X2yk6qBww7lkbeLXhxMQcH+iFgc4QFZgcXqjNLpZDy+XxaA1IejJfXl+o6eNxP1pIVi7re27QgVhoKS1EMwFDsH4fy9gUvbFmPmvWH9xsIVmHwlF7Ga7wswcXQH1UECLFySfYdXBxPHv7+3SV1DYgJfHGCLtSxacAqBAzPo9xcgcqYxdf3Y/O4I/X1rZ31MUzLDTC8FLUXpXV7lgYp5o20CPo0QqPPUOjNB9lJaHnHMDbMKw6E7m1RBBsGCBriJPXEB6ZW8b6sgDVTeE6/7EC28wTUOoLtqRykltjjbM6JapF0KzAguFdFRVOIaA60An9SQdj/EvobECkuIBlMw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GoFyMhxW1EhHAW2hiKD7puN7SEzJgopXwyBpnv6z+l8=; b=PuSqYXPE7PuATgwQncZNz3VMdFF0LiHhol9ut2MDKJxPQQjOiTXOZesDEpjlR1cA7WiGnQiBCeyXBlBUuvvQWJZOg2JFadhiqxA2jdQk+eVjL6uh9KLj1Y5ssqeCnjTRT2dw0nH9ZFH2RfDCZmJASWhO1e+OJMewjgCaHbcmUVc= Received: from MWHPR11MB1392.namprd11.prod.outlook.com (2603:10b6:300:24::14) by MWHPR11MB1392.namprd11.prod.outlook.com (2603:10b6:300:24::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3326.23; Mon, 31 Aug 2020 03:28:21 +0000 Received: from MWHPR11MB1392.namprd11.prod.outlook.com ([fe80::8d8b:3526:526f:3d13]) by MWHPR11MB1392.namprd11.prod.outlook.com ([fe80::8d8b:3526:526f:3d13%7]) with mapi id 15.20.3326.025; Mon, 31 Aug 2020 03:28:21 +0000 From: "Fu, Qi" To: "Di, ChenxuX" , "dts@dpdk.org" Thread-Topic: [dts][PATCH v3 1/2] test_plans: add cvl_rss_configure_test_plan.rst Thread-Index: AQHWfSTQreCvvTIAGkmubsVP4ZY1TqlRksOQ Date: Mon, 31 Aug 2020 03:28:20 +0000 Message-ID: References: <20200828095036.52226-1-chenxux.di@intel.com> In-Reply-To: <20200828095036.52226-1-chenxux.di@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.220] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 636cec3c-ce09-47b8-48d4-08d84d5de92f x-ms-traffictypediagnostic: MWHPR11MB1392: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XHd9iA2j+eA3UFuF/RceuAWvdOiah1gQVmBPWTG8k/ILu7aHNaIIXHBsRh0r0R3Y31kUhEJk6vaqZbSfLMf/qNGrtLuV8+gnxPB3m4DJXpXYFi83kswlhLUOgiK0+XHIadwi0KYlc8p5NqShHQUr8i/wk+H5zHAyRFFyhPJJZ3xMrd41iS7ttajkiGMB1g7dDBceFbDJhS/VL/wo88QmnubMoejwHnOB4X8A0bYND35sdAANFsoIryL97M8jF9bvJaKUyERm8NeHOHJUgbe2uQ67vlggBYun+Ozh40/uKHUgTFWTAwol4tzDMJWwRqbHehYMXG7EJWQRsx52iZ+7i4iCEv+FCFG11LLedyb4Sp+SeyWLRsxejwYsC2wdgrLD4Mf2AmNu3xP2ArYcsGGPVpbLb+Yjekx3syfmP98iJ6+/XSSFyih3fcH5xINCKLkOacQiAjmtu6B4rHziqNyrEg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR11MB1392.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(136003)(376002)(366004)(396003)(346002)(76116006)(19273905006)(2906002)(66476007)(66946007)(8676002)(7696005)(9686003)(33656002)(186003)(26005)(8936002)(55016002)(66446008)(6506007)(110136005)(5660300002)(71200400001)(64756008)(66556008)(316002)(53546011)(966005)(30864003)(83380400001)(478600001)(86362001)(52536014)(579004)(559001)(563064011); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: 04ztmwP7izoIXDZ037B1s3of16dPeYW/hL+YXMNjZ7n/IXWqcn6dSxHdbW3m8AppbxkT1gKo30xp0SXJYBRiVs4TkBHJ4EFrt2KAKBte5RPVEAdL++OzqmuAMrlZDON8Lp8z9+ck7/f07o3Mrt2U8IoByGp1viMQhR4OJrbYk+5QKGK0pqO9iadO4cNk8mbWFNRqvklTGkCxXZ0LlTaCBc761XNdETHArzTOxWhd0PheJl8VrvxMCF8Ttb+WI3uDK+9OUauX+aqUL2cQg1WBvLXwTj9oq9i/Z05PDBUl+6hkdLUrYtd3pAVXgoVB1QWni18qJucPr46NAjrbmEEJFTd3k/1diEIKBqaODXh/ejCpLHXlodUVYCFMATl7rKpC9LzyZ/L9yQ5CiqpHEksb1gbGYBRf/KEsKxEcs2aS+b+GsTYifuQBul+5nLy6L0FX6s0SvZcny7Mud65n/mH4BX4Z4S420IReZjjjKgNXjnXnMeYOpCb4xXPTw2wyZ+kAjN5q1XTQByccuk9aTRHe7P/QAdDo1yaazzd7zf0HpTHPwjGSCVf0vfVwH7SMGaMi7KGZ/z8K7vbWBqVDpSKoore41wHG4JdqKdT8aruDoZ6qlKWy0Dj6QwFRGrwzX1Wv1slY4BYlhcOMvpe0WrMFSQ== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1392.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 636cec3c-ce09-47b8-48d4-08d84d5de92f X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2020 03:28:21.0133 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: r186dlBrmGTCb5W2qnym8g6MkAulr8BEZcZ6sGYUZD2NW3htROy0qEHqbJez37Ed X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1392 X-OriginatorOrg: intel.com Subject: Re: [dts] [PATCH v3 1/2] test_plans: add cvl_rss_configure_test_plan.rst 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" Acked-by: Fu, Qi Best regards, Fu, Qi > -----Original Message----- > From: Di, ChenxuX > Sent: Friday, August 28, 2020 5:51 PM > To: dts@dpdk.org > Cc: Fu, Qi ; Di, ChenxuX > Subject: [dts][PATCH v3 1/2] test_plans: add cvl_rss_configure_test_plan.= rst >=20 > add new test plan for cvl rss cnofigure >=20 > Signed-off-by: Chenxu Di > --- > test_plans/cvl_rss_configure_test_plan.rst | 961 +++++++++++++++++++++ > 1 file changed, 961 insertions(+) > create mode 100644 test_plans/cvl_rss_configure_test_plan.rst >=20 > diff --git a/test_plans/cvl_rss_configure_test_plan.rst > b/test_plans/cvl_rss_configure_test_plan.rst > new file mode 100644 > index 0000000..ae16e85 > --- /dev/null > +++ b/test_plans/cvl_rss_configure_test_plan.rst > @@ -0,0 +1,961 @@ > +.. 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 > +CVL: RSS CONFIGURE AND UPDATE > +=3D=3D=3D=3D=3D=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 > + > +Initialize and update RSS configure based on user request, dont't remove= exist > +configure just to make sure all the request has been applied. > + > +enable or disable corresponding flows' RSS base on rte_eth_rss_conf->rs= s_hf > +parameters in dev_config and rss_hash_update ops. > + > +1. Enable the flowing command of testpmd: > + > +Testpmd Command-line Options: > + > +--rss-ip: set RSS functions for IPv4/IPv6 only. > + > +--rss-udp: set RSS functions for IPv4/IPv6 and UDP. > + > +--disable-rss: disable RSS (Receive Side Scaling). > + > +2. Testpmd Runtime Functions: > + > +port config all rss: set the RSS (Receive Side Scaling) mode on or off. > + > +port config all rss ip/udp/tcp/sctp/all/default > + > +Prerequisites > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +1. Hardware: > + > + - Intel E810 series ethernet cards: columbiaville > + > +2. Software: > + > + - dpdk: http://dpdk.org/git/dpdk > + - scapy: http://www.secdev.org/projects/scapy/ > + > +3. bind the CVL port to dpdk driver in DUT:: > + > + modprobe vfio-pci > + usertools/dpdk-devbind.py --force --bind=3Dvfio-pci 0000:18:00.0 > + > +Test Case: test_command_line_option_rss_ip > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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. Launch the testpmd in DUT:: > + > + testpmd>./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 -- -i = --rxq=3D10 > --txq=3D10 --rss-ip > + testpmd>set fwd rxonly > + testpmd>set verbose 1 > + testpmd>start > + > +2. check ipv4 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > ("X"*40)], iface=3D"enp27s0f2") > + > +3. check ipv6 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/("X"*40)], iface=3D"enp27s0f2") > + > +4. check ipv4-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +5. check ipv6-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > +6. check ipv4-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +7. check ipv6-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > +8. check ipv4-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +9. check ipv6-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27= s0f2") > + > +Test Case: test_command_line_option_rss_udp > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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. Launch the testpmd in DUT:: > + > + testpmd>./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 -- -i = --rxq=3D10 > --txq=3D10 --rss-udp > + testpmd>set fwd rxonly > + testpmd>set verbose 1 > + testpmd>start > + > +2. check ipv4-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > +3. check ipv6-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > +4. check ipv4 packets: > + send a basic packet, verify no hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > +5. check ipv6 packets: > + send a basic packet, verify no hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > +6. check ipv4-tcp packets: > + send a basic packet, verify no hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > +7. check ipv6-tcp packets: > + send a basic packet, verify no hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > +8. check ipv4-sctp packets: > + send a basic packet, verify no hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > +9. check ipv6-sctp packets: > + send a basic packet, verify no hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > +Test Case: test_command_line_option_disable-rss > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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. Launch the testpmd in DUT:: > + > + testpmd>./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 -- -i = --rxq=3D10 > --txq=3D10 --disable-rss > + testpmd>set fwd rxonly > + testpmd>set verbose 1 > + testpmd>start > + > +2. check all tyep packets: > + send basic packets, verify no hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > +Test Case: test_RSS_configure_to_ip > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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. Launch the testpmd in DUT:: > + > + testpmd>./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 -- -i = --rxq=3D10 > --txq=3D10 > + testpmd>set fwd rxonly > + testpmd>set verbose 1 > + > +2. rss received package type configuration:: > + > + testpmd> port config all rss ip > + testpmd> start > + > +3. check ipv4 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > ("X"*40)], iface=3D"enp27s0f2") > + > +4. check ipv6 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/("X"*40)], iface=3D"enp27s0f2") > + > +5. check ipv4-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +6. check ipv6-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > +7. check ipv4-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +8. check ipv6-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > +9. check ipv4-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +10. check ipv6-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27= s0f2") > + > +Test Case: test_RSS_configure_to_udp > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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. Launch the testpmd in DUT:: > + > + testpmd>./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 -- -i = --rxq=3D10 > --txq=3D10 > + testpmd>set fwd rxonly > + testpmd>set verbose 1 > + > +2. rss received package type configuration:: > + > + testpmd> port config all rss udp > + testpmd> start > + > +3. check ipv4 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > ("X"*40)], iface=3D"enp27s0f2") > + > +4. check ipv6 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/("X"*40)], iface=3D"enp27s0f2") > + > +5. check ipv4-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > +6. check ipv6-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > +7. check ipv4-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +8. check ipv6-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > +9. check ipv4-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +10. check ipv6-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27= s0f2") > + > +Test Case: test_RSS_configure_to_tcp > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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. Launch the testpmd in DUT:: > + > + testpmd>./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 -- -i = --rxq=3D10 > --txq=3D10 > + testpmd>set fwd rxonly > + testpmd>set verbose 1 > + > +2. rss received package type configuration:: > + > + testpmd> port config all rss tcp > + testpmd> start > + > +3. check ipv4 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > ("X"*40)], iface=3D"enp27s0f2") > + > +4. check ipv6 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/("X"*40)], iface=3D"enp27s0f2") > + > +5. check ipv4-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +6. check ipv6-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > +7. check ipv4-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +8. check ipv6-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > +9. check ipv4-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +10. check ipv6-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27= s0f2") > + > +Test Case: test_RSS_configure_to_sctp > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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. Launch the testpmd in DUT:: > + > + testpmd>./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 -- -i = --rxq=3D10 > --txq=3D10 > + testpmd>set fwd rxonly > + testpmd>set verbose 1 > + > +2. rss received package type configuration:: > + > + testpmd> port config all rss sctp > + testpmd> start > + > +3. check ipv4 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > ("X"*40)], iface=3D"enp27s0f2") > + > +4. check ipv6 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/("X"*40)], iface=3D"enp27s0f2") > + > +5. check ipv4-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +6. check ipv6-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > +7. check ipv4-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +8. check ipv6-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send a packet with same input set and changed other parameters. > + check the received packet have same hash value with the basic packet:= : > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1026,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > +9. check ipv4-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > +10. check ipv6-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > +Test Case: test_RSS_configure_to_all > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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. Launch the testpmd in DUT:: > + > + testpmd>./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 -- -i = --rxq=3D10 > --txq=3D10 > + testpmd>set fwd rxonly > + testpmd>set verbose 1 > + > +2. rss received package type configuration:: > + > + testpmd> port config all rss all > + testpmd> start > + > +3. check ipv4 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > ("X"*40)], iface=3D"enp27s0f2") > + > +4. check ipv6 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/("X"*40)], iface=3D"enp27s0f2") > + > +5. check ipv4-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > +6. check ipv6-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > +7. check ipv4-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +8. check ipv6-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > +9. check ipv4-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > +10. check ipv6-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > +Test Case: test_RSS_configure_to_default > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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. Launch the testpmd in DUT:: > + > + testpmd>./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 -- -i = --rxq=3D10 > --txq=3D10 > + testpmd>set fwd rxonly > + testpmd>set verbose 1 > + > +2. rss received package type configuration:: > + > + testpmd> port config all rss default > + testpmd> start > + > +3. check ipv4 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > ("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > ("X"*40)], iface=3D"enp27s0f2") > + > +4. check ipv6 packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/("X"*40)], iface=3D"enp27s0f2") > + > +5. check ipv4-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > UDP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > +6. check ipv6-udp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/UDP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/UDP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > +7. check ipv4-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > TCP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s0f2") > + > +8. check ipv6-tcp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/TCP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1026,dport=3D1025)/("X"*40)], iface=3D"enp27s= 0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/TCP(sport=3D1024,dport=3D1027)/("X"*40)], iface=3D"enp27s= 0f2") > + > +9. check ipv4-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.4",dst=3D"192= .168.0.3")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IP(src=3D"192.168.0.2",dst=3D"192= .168.0.5")/ > SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27s0f2") > + > +10. check ipv6-sctp packets: > + send a basic packet, record the hash value:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > + send packets with changed input set, check the received packets have > different hash value with the basic packet:: > + > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::4",d= st=3D"3ffe: > 2501:200:3::3")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > + > sendp([Ether(dst=3D"00:00:00:00:01:00")/IPv6(src=3D"3ffe:2501:200:3::2",d= st=3D"3ffe: > 2501:200:3::5")/SCTP(sport=3D1024,dport=3D1025)/("X"*40)], iface=3D"enp27= s0f2") > -- > 2.17.1