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 0F2D3A04AC; Tue, 1 Sep 2020 05:21:47 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 04A761C0D8; Tue, 1 Sep 2020 05:21:47 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 9543D1C0D2 for ; Tue, 1 Sep 2020 05:21:44 +0200 (CEST) IronPort-SDR: UBPaOcntZFl8uvgEtbbMPuizK/SgKEIzknQ4+1upmKDWGN2d6/roLofiXoCy6sx+hY29m7pS1B 0l74icTU7mCw== X-IronPort-AV: E=McAfee;i="6000,8403,9730"; a="218651051" X-IronPort-AV: E=Sophos;i="5.76,377,1592895600"; d="scan'208";a="218651051" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Aug 2020 20:21:43 -0700 IronPort-SDR: /4rVISqSfmPQu1TUEwpenVG3bbg0GpOU/Y85dgBzW94kes8YVLKuLuQ0Kembb9nrnlkQbk7zml CvHgJu3qCVEw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,377,1592895600"; d="scan'208";a="340874347" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga007.jf.intel.com with ESMTP; 31 Aug 2020 20:21:43 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 31 Aug 2020 20:21:21 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 31 Aug 2020 20:21:21 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.172) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 31 Aug 2020 20:21:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jglnBDFPk3kzpp71q/gmQ5pNoefi0ff7+oTr6TMxea0B7Ko+Eb76B2N5yxGmBmr9y47xwLYpx5eGT/z3wE8V1fDxONO7D29j0LWyBc0RwA/pqNpJonaK7al0xgsZeqyW9KCykEWHvI1t16aUAAjgoX4DRv5V7iAh7D4eCcPpDBG2W69DmEGkmgD/L7iXbGab6m1pZYv0OBGsTDUA4igvdqM65xabqZcyST+LwWoHkfAc7s62g0VfF/yu6Fv2mjXXrl4Dq+E53Y2zs5aBF3m0ppZrUCfs0Gevv6bDihss8iFlwBLz06/gAE62zGs+JO0T6DB7UtgQb/QU470G7u5Mmw== 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=4NAWCPyJZaKH7uNgDKfoQPHWVUMF7v9jmV3fIQEh3HU=; b=V1To7L0D+ER23HYpp7Fi0xq0vasSzxJJYAKPo9Uw191G5vNLO+wZ1Q39rhALJCDJ7Ls0VOuUjpOv/gie3xqdx4Oz/aw3Os59VJiX0OEVvEXDA0VjisaHY6DvHEGjK9zyZ1FGEa/SDqOBQyrXQ/Hnc+V6ApVpwRI3qlKBkLoBU4g1Uz2+OE6bOtqWf6ti63/o+heW+WMqXz4eFPfHam7ZJAFsOP8+DE8LkmOF7b7ng9IVyXaTNsoeHCNKFV7SUrno4pIAygfxdVKNJTUcjmeUNgXkAmzsVb9aZSyHoHYqp/jvuN9LT8Lt+LeR/zUlMTIqDT0sNHytuMl+qy40uxrz7Q== 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=4NAWCPyJZaKH7uNgDKfoQPHWVUMF7v9jmV3fIQEh3HU=; b=Rm5yFHxXh2cIG666Mc1t6WoXdziY+1Uc6sOMX+tDFanjQxr3KpUXDm8FOItaMGmnm6NEj/8SKQM7DYO9m47k++bn/mJmgS3BG3bNtFnSArk5VWC/m3S34oTUlCAP69jbD97nSfRbSd9OPbK/9ovwV9h2FskgpCBpSwfTZcpNrug= Received: from MWHPR11MB1392.namprd11.prod.outlook.com (2603:10b6:300:24::14) by MWHPR11MB0016.namprd11.prod.outlook.com (2603:10b6:301:63::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3326.23; Tue, 1 Sep 2020 03:21:17 +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; Tue, 1 Sep 2020 03:21:16 +0000 From: "Fu, Qi" To: "Di, ChenxuX" , "dts@dpdk.org" Thread-Topic: [dts][PATCH v4 1/2] test_plans: add cvl_rss_configure_test_plan.rst Thread-Index: AQHWgAynS/giLhucbEGOtcAG0nGNgalTHZtA Date: Tue, 1 Sep 2020 03:21:16 +0000 Message-ID: References: <20200901023522.49731-1-chenxux.di@intel.com> In-Reply-To: <20200901023522.49731-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.208] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c4ba182c-7a1f-4fd8-f58f-08d84e2616a8 x-ms-traffictypediagnostic: MWHPR11MB0016: 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:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Ij7aMy7YFoQ0auHUtfiXdDQxo1eX1wKaUfBkXEkqdTVdOurYJPn5ALED5OFiZu9XHmIx0LUTficdyrxxkgF+2ytVV5mcU5rE9/louaTjEE4wTZEGSsKjWIR+4H26fomIXSfekj0ftd3k013POJzCmJ35YSXYbfVC3njaBEjHz/Y5UxCAV5riZ9IjbqS4GkFR+HoppPa7QgMQofPzwe6E3nMDsfKGvI/usKsWJjjkhiv6lqblZSEJ5MtyWFn3DU6oEZfkLbLwPZYULG5Jaz4fomylynZrb+aPxnaEkjBPuMq0eR44ncqtfgHixzP9pE/I48M6ylEWK5GP43FB2w13L1nbBCw/TQ6UI0tYCL3n7Bc0lIC8fU9LmWfGyObTgwiOeawJwOXu3dSmtfLArDYZaYZhHjc2OwLm56NBnHpA8qiuYdeZ7v0vDQaUkuesDKPaZ5GVYQ4yEuTcUE9tNcPFLA== 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)(366004)(136003)(396003)(346002)(376002)(39860400002)(966005)(55016002)(86362001)(478600001)(5660300002)(26005)(71200400001)(110136005)(186003)(30864003)(52536014)(9686003)(83380400001)(8936002)(8676002)(6506007)(7696005)(53546011)(66946007)(64756008)(19273905006)(76116006)(33656002)(66446008)(66476007)(2906002)(66556008)(316002)(579004)(559001)(563064011); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: MDCFm6LCmyFLH01+7RWqNpYIQgQnQtJa1zgMAJTd3MR4/0bO7g+UdQjDjBO9bXXV0c9yGUr2tLYxr4PZ7Sp8JSkqO0hjzkSgQj6GxTtEfEa2kxrLFPOvw9x2Epd7hB60/o4A6eegcoo1xND6ysrH44aUFBuYfpKJfqxIRIVm/3TF+pWu2+3QVOVl2jOrt9s26Z9ZKjO+1yeTX+EfmyApAVVwdI8sU9iufotcvjxSc+5WvAsuZIobdRwAGeMtKq2PUYyAqB7yYrjRLMANu8fnlALH5h0o++eyp276sbpCfVnF5g/ihiNqZGzGQ/5+ESUuHrsKaHoqI5o4lEfeoLpQPMQ8Vr/LruMEGzUXOtD5m64kNAT5+TEYuKG0yEiV0mHovUfwDPPCFzXzSiBeZAyEQlND0kIPXdtgYCyWTh1PHosH8kLP0K8x92GvOfmeW7bl5XqW+BgYcOJPrGErrvo+jElQdcj8+7ZCsJb27DnxbXyE8hDjLdfA/QXsR1ddp0JEoEMPJMRKzdtklKJGbxZUMtKascVOz+/5bdh2wr+O2u23aVnzvka+6VfHvuu+7sOqyjcVjYzucGa9MOkbg88LDJLhRmDKdeW9+wxnnkaqDTyGfZ5q3HkfIWvxgk+y23/bJtXXu0nCrmhwh75jY7vDhQ== 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: c4ba182c-7a1f-4fd8-f58f-08d84e2616a8 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Sep 2020 03:21:16.7621 (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: sLXSrq29nI3C60r9F762xJ+TZFHU0Of1pJ0hIhVVFyyYZeuofzeIWGxQqkIcYPoy X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB0016 X-OriginatorOrg: intel.com Subject: Re: [dts] [PATCH v4 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: Tuesday, September 1, 2020 10:35 AM > To: dts@dpdk.org > Cc: Fu, Qi ; Di, ChenxuX > Subject: [dts][PATCH v4 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