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 0670FA052B; Thu, 6 Aug 2020 03:28:19 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F04161C042; Thu, 6 Aug 2020 03:28:18 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 2C01E1C036 for ; Thu, 6 Aug 2020 03:28:15 +0200 (CEST) IronPort-SDR: ICZCyWmhL2exRHVvZEEIpcAGuVBq7O+AjbQvC0OVRXggaN1NOMuimEuSuaJUdImGid0SGHpfMz H5RUi5T9cHtQ== X-IronPort-AV: E=McAfee;i="6000,8403,9704"; a="150157497" X-IronPort-AV: E=Sophos;i="5.75,440,1589266800"; d="scan'208";a="150157497" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Aug 2020 18:28:14 -0700 IronPort-SDR: P6a/d15NSXH9IiyryXLuH0FCgUJHhpYzRk41tMKiXPdYT1hya3vVJ2uCEOpAcF1OOgHv/XROUY UW+zGPIbnA5A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,440,1589266800"; d="scan'208";a="323278058" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga008.jf.intel.com with ESMTP; 05 Aug 2020 18:28:14 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 5 Aug 2020 18:27:50 -0700 Received: from fmsmsx103.amr.corp.intel.com (10.18.124.201) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 5 Aug 2020 18:27:49 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 5 Aug 2020 18:27:49 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.176) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 5 Aug 2020 18:27:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Dxy6ePusCHqZPnajvDKwWah1y2TfzV2rQpmK9Y/W4I4GN2xPpqn1/EueagQxNhdXcqCx7jhbHoDMoIooaxeKa4G58meSCffVYqw9PXFv4zONzph64MB2XahWRvZ6ZMDDSsHwEwKLgo70iDITj7jAWNax0Lde/GF3NQAHHv2ueFOWprAfusWlKtjeHFTh5RaSsUqrtHpxJsF2MHduJuPWpWsPvA3fUqc4EBN6lpj/Xceg3HdV/Rzj6qLCZpyFI1E803Ydy7cf1O7y3CgN83yHnxEPYk0FDb6TF9nS4YhaBfaunuYSND/i+lYm1j0zZEF8PGkHDQBeS+jPC9T+uBKNhA== 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=C+cLQhD4c3Prs7rVCL0iw4iyuf80ERC4prUUH2iZzUQ=; b=h2m+foMRuXyC+AnFF3i2UW7iVXzUCmEKzcwiGtG5mwW0PzqrZGh49QnKXwZLU7B10Svveu4DyZhJOo/N541PIP4shtEXQSP+3gcnoQYH/KCOXxSnCClq/NkV78INz8x9SqkTvzZN40Kjq+HID5iH6CYDpd89GkhmBgad4ZaomicxL62roskR5S9LBlCQ5+O8g4Mg3d+S4/gA7KIMljvofG6h2QtfIXujJ1H43uAiHdZA6jwp4Ri6haSGiDez5ug6e7VeA7XYlQnNE55VQZoB9BwnEXT7uZCaoVixAmlXtlToe9Ac6SPT8rdI9IHLT8nHGzMHYcxkvtuWNWD1nw3+8Q== 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=C+cLQhD4c3Prs7rVCL0iw4iyuf80ERC4prUUH2iZzUQ=; b=w2ADtS3XyPSBUaSmgKD5I4ZGMvzjHiOrS0/2S/Pd9uvykiSpTUqhsyLTnT9HAcIye8w7hX/+oINMjdo4CJ55/44cYyQUlz5B3fPIz2eqmtbPuyd5CJ5Xkv5Bc6EfgE63ekqviNIL83F8fiBcVZuAhX5ct3Cv+WtqgHsDchu/gxU= Received: from DM6PR11MB3628.namprd11.prod.outlook.com (2603:10b6:5:144::25) by DM5PR11MB1290.namprd11.prod.outlook.com (2603:10b6:3:c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.19; Thu, 6 Aug 2020 01:27:34 +0000 Received: from DM6PR11MB3628.namprd11.prod.outlook.com ([fe80::88fb:2e85:58db:8342]) by DM6PR11MB3628.namprd11.prod.outlook.com ([fe80::88fb:2e85:58db:8342%4]) with mapi id 15.20.3261.018; Thu, 6 Aug 2020 01:27:34 +0000 From: "Chen, Zhaoyan" To: "Xu, HailinX" , "dts@dpdk.org" CC: "Xu, HailinX" , "Chen, Zhaoyan" Thread-Topic: [dts] [PATCH V1 1/2] test_plans:add new test plan Thread-Index: AQHWZxUAAnuN+G7U8EWLktV1gBbRsKkqUzlg Date: Thu, 6 Aug 2020 01:27:34 +0000 Message-ID: References: <1596183559-247699-1-git-send-email-hailinx.xu@intel.com> In-Reply-To: <1596183559-247699-1-git-send-email-hailinx.xu@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-reaction: no-action 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.195] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 69889415-a73a-405d-e1d7-08d839a7e58f x-ms-traffictypediagnostic: DM5PR11MB1290: 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:5236; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8BH1bJ6GWOY9ExXEjt6I+zHV6fc1C+73GGxFuOe4qPUYqTaAR5FOEm5OL/YmOKkB5BxnPtnEqLGx0ZH+95aI24n3JWCYy1CyiZ+V1grqAht21q5uYezuqvkXTzefQ5JxD+upJWrHETyA8j+EK2joeyn8U5aG5lvdjw6wiICYKd+AeFaC8noSmASnNstbnYlLvpjZDATkWwZZBEpEcQ3RAQi2kscCoiD1cfK9CrouSs/k1oA7Uww4p4VgLTaRq/RkUsPEBl4y+BJrYNjfhOOGstDc8GybKz9ZNq5kOeXC9vcJ4f40jGovqOLkiNACri5GY3SuvGWrOJpJyBreFE8cuw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3628.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(39860400002)(136003)(396003)(376002)(366004)(7696005)(478600001)(8676002)(30864003)(76116006)(66476007)(64756008)(66446008)(66556008)(66946007)(186003)(2906002)(71200400001)(52536014)(53546011)(8936002)(6506007)(26005)(4326008)(5660300002)(107886003)(54906003)(110136005)(33656002)(86362001)(316002)(83380400001)(55016002)(9686003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: kldNOEAhxKFVZGjwFxTwCSYZI6DKrW78Ey64vwl3Xjf6tM85Sc0t3i/TsN8bjFbQB9sPSztFe/s3rccBJc9EW3XZBnzMsfX2Ja0Gk3STvG9/4TTsgeMctJYfklUzb4lXVO9/gGcu+ELWr0R87xDls3DtBeUwAzOGbA6Z0fBC1gsBdaIF27Q1K4hSIVedsnvN5ouvT/o0RqUebzTA6IYB1IMc21TGWZD2s9r4aIXTJsXOq8SNj97VarYhx4foaF9yggGuZxe37OMVs93QRfOhVmUeYI/jFNf4cIawV5l1XCi31qobbs9gkbmtCXO7w+mHat5uldodMhNAxSdBgx/S+ghMI+6Xb4yZBAc9cQvnQTyiCb7r61nj108UnZ7J5BZht3DdAILihUjN1gO2YH4AuCxApzx3/Z+RjCiNmYcecFN+/ewO2YJWU+TJKs6Dg1iEwMprR4y/LXBG2e1nAoOyqb3NXz+hH7rq8CBKNXl78UM2qRzCuuDkW6OXKRouQ2vVJqqXRR2BqLnoyhCYUOuigvYY0rmS+rI8qWJLwcGsELkP1KRHeuKu8F9gPCYt7hqguS5gez5HjY6lwVkrq0d+Vpk+CSo9Gen25yrMdm41cza8tYBgkJsUjKB3LLJFm+i/bH9zmoCJ9WmcMKzSxqcC0w== 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: DM6PR11MB3628.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69889415-a73a-405d-e1d7-08d839a7e58f X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Aug 2020 01:27:34.5039 (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: rlXKDAYLjE2NnIP4QQzJXLZm6P81TYff32zrxOlCCgBlI59AjuSoNHrIvv90oGkrDOM16PT2FjemPbfMlgkdYw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1290 X-OriginatorOrg: intel.com Subject: Re: [dts] [PATCH V1 1/2] test_plans:add new test plan X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" Acked-by: Zhaoyan Chen Regards, Zhaoyan Chen > -----Original Message----- > From: dts On Behalf Of Xu hailin > Sent: Friday, July 31, 2020 4:19 PM > To: dts@dpdk.org > Cc: Xu, HailinX > Subject: [dts] [PATCH V1 1/2] test_plans:add new test plan >=20 > From: "Xu,Hailin" >=20 > add cvl dcf new test plan:test_plans/cvl_dcf_date_path_test_plan.rst >=20 > Signed-off-by: Xu,Hailin > --- > test_plans/cvl_dcf_date_path_test_plan.rst | 203 > +++++++++++++++++++++ > 1 file changed, 203 insertions(+) > create mode 100755 test_plans/cvl_dcf_date_path_test_plan.rst >=20 > diff --git a/test_plans/cvl_dcf_date_path_test_plan.rst > b/test_plans/cvl_dcf_date_path_test_plan.rst > new file mode 100755 > index 0000000..380090f > --- /dev/null > +++ b/test_plans/cvl_dcf_date_path_test_plan.rst > @@ -0,0 +1,203 @@ > + > +Common steps for launching DCF > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > + > +Generate 1 trust VF on 1 PF, and request 1 DCF on the trust VF. > +PF should grant DCF mode to it. > + > +Generate 4 VFs on PF :: > + > + echo 4 > /sys/bus/pci/devices/0000:18:00.0/sriov_numvfs > + > +Set a VF as trust :: > + > + ip link set enp24s0f0 vf 0 trust on > + ip link set enp27s0f0 vf 0 mac D2:6B:4C:EB:1C:26 > + > +Launch dpdk on the VF, request DCF mode :: > + > + ./usertools/dpdk-devbind.py -b vfio-pci 18:01.0 > + ./x86_64-native-linuxapp-gcc/app/testpmd -l 6-10 -n 4 -w > + 18:01.0,cap=3Ddcf --file-prefix=3Dvf -- -i > + > + > +Test Case: Launch DCF and do macfwd > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +Execute **common steps** to prepare DCF test environment > + > +Set macfwd :: > + > + set fwd mac > + start > + > +Launch tcpdump to sniffer the packets from DCF :: > + > + tcpdump -i enp24s0f1 -vvv -Q in > + > +Send packets from tester(scapy) to the VF by MAC > address(D2:6B:4C:EB:1C:26) :: > + > + p =3D Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1",dst=3D"192.168.1.3")/Ra= w('x'*6 > 4) > + sendp(p, iface=3Dintf, count=3D100) > + > +Expect tester can get packets which loopbacked by DCF. > + > + > +Test Case: Check default rss for L3 > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +DCF data path support RSS packets by default. For L3 packets, input set = is > IP src/dst. > +For tunneling packets, input set is inner IP src/dst. > + > +Execute **common steps** to prepare DCF test environment > + > +Set rxonly forward mode :: > + > + set fwd rxonly > + set verbose 1 > + start > + > +Send a series packets to check if DCF RSS is correct for IPv4 :: > + > + intf=3D"enp175s0f0" > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.3")/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.3", > dst=3D"192.168.1.2")/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > + src=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1", > + dst=3D"192.168.1.2")/Raw('x'*64), iface=3Dintf) > + > +Expected: p1 hash value is not equal to p2 or p3, and should be same to > p4. > + > +Send a series packets to check if DCF RSS is correct for IPv6 :: > + > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IPv6(src=3D"::22", dst=3D"::11")/Raw('x'*64), = iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IPv6(src=3D"::22", dst=3D"::12")/Raw('x'*64), = iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IPv6(src=3D"::21", dst=3D"::11")/Raw('x'*64), = iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > + src=3D"00:11:22:33:44:55")/IPv6(src=3D"::22", dst=3D"::11")/Raw('x'*64)= , > + iface=3Dintf) > + > +Expected: p1 hash value is not equal to p2 or p3, and should be same to > p4. > + > +Send a series packets to check if DCF RSS is correct for tunnelling pack= et > (inner IPv4) :: > + > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/Raw('= x'*64), > iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IP(src=3D"192.168.1.1", dst=3D"192.168.1.3")/Raw('= x'*64), > iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IP(src=3D"192.168.1.3", dst=3D"192.168.1.2")/Raw('= x'*64), > iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"11:22:33:44:55:77")/IP(src=3D"1.1.1.2", > dst=3D"2.2.2.1")/GRE()/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/Raw('= x'*64), > iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > + src=3D"11:22:33:44:55:77")/IPv6(src=3D"::11", > + dst=3D"::22")/GRE()/IP(src=3D"192.168.1.1", > + dst=3D"192.168.1.2")/Raw('x'*64), iface=3Dintf) > + > + > +Expected: p1 hash value is not equal to p2 or p3. p1 hash value is equal > to p4 and p5. > + > + > +Send a series packets to check if DCF RSS is correct for tunnelling pack= et > (inner IPv6) :: > + > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IPv6(src=3D"::22", dst=3D"::11")/Raw('x'*64), ifac= e=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IPv6(src=3D"::22", dst=3D"::12")/Raw('x'*64), ifac= e=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IPv6(src=3D"::21", dst=3D"::11")/Raw('x'*64), ifac= e=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"11:22:33:44:55:77")/IP(src=3D"1.1.1.2", > dst=3D"2.2.2.1")/GRE()/IPv6(src=3D"::22", dst=3D"::11")/Raw('x'*64), ifac= e=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > + src=3D"11:22:33:44:55:77")/IPv6(src=3D"::33", > + dst=3D"::44")/GRE()/IPv6(src=3D"::22", dst=3D"::11")/Raw('x'*64), > + iface=3Dintf) > + > +Expected: p1 hash value is not equal to p2 or p3. p1 hash value is equal > to p4 and p5. > + > + > +Test Case: Check default rss for L4 > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +DCF data path support RSS packets by default. For L3 packets, input set = is > IP src/dst. > +For tunneling packets, input set is inner IP src/dst. > + > +Execute **common steps** to prepare DCF test environment > + > +Set rxonly forward mode :: > + > + set fwd rxonly > + set verbose 1 > + start > + > +Send a series packets to check if DCF RSS is correct for IPv4 :: > + > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/UDP(sport=3D1234, dport=3D5678)/Raw('x'*64), iface= =3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.3")/UDP(sport=3D1234, dport=3D5678)/Raw('x'*64), iface= =3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.3", > dst=3D"192.168.1.2")/UDP(sport=3D1234, dport=3D5678)/Raw('x'*64), iface= =3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/UDP(sport=3D1235, dport=3D5678)/Raw('x'*64), iface= =3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/UDP(sport=3D1234, dport=3D5679)/Raw('x'*64), iface= =3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > + src=3D"00:22:33:44:55:77")/IP(src=3D"192.168.1.1", > + dst=3D"192.168.1.2")/TCP(sport=3D1234, dport=3D5678)/Raw('x'*64), > + iface=3Dintf) > + > +Expected: p1 hash value is not equal to p2 or p3 or p4 or p5, and should > be equal to p6. > + > +Send a series packets to check if DCF RSS is correct for IPv6 :: > + > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IPv6(src=3D"::22", dst=3D"::11")/UDP(sport=3D1= 234, > dport=3D5678)/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IPv6(src=3D"::22", dst=3D"::12")/UDP(sport=3D1= 234, > dport=3D5678)/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IPv6(src=3D"::21", dst=3D"::11")/UDP(sport=3D1= 234, > dport=3D5678)/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IPv6(src=3D"::22", dst=3D"::11")/UDP(sport=3D1= 235, > dport=3D5678)/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IPv6(src=3D"::22", dst=3D"::11")/UDP(sport=3D1= 234, > dport=3D5679)/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > + src=3D"11:22:33:44:55:77")/IPv6(src=3D"::22", dst=3D"::11")/TCP(sport= =3D1234, > + dport=3D5678)/Raw('x'*64), iface=3Dintf) > + > +Expected: p1 hash value is not equal to p2 or p3 or p4 or p5, and should > be equal to p6. > + > +Send a series packets to check if DCF RSS is correct for tunnelling pack= et > (inner IPv4) :: > + > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/UDP(sport=3D1234, dport=3D5678)/Raw('x'*64), iface= =3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.3")/UDP(sport=3D1234, dport=3D5678)/Raw('x'*64), iface= =3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IP(src=3D"192.168.1.3", > dst=3D"192.168.1.2")/UDP(sport=3D1234, dport=3D5678)/Raw('x'*64), iface= =3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/UDP(sport=3D1235, dport=3D5678)/Raw('x'*64), iface= =3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/UDP(sport=3D1234, dport=3D5679)/Raw('x'*64), iface= =3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:22:33:44:55:77")/IP(src=3D"1.1.1.2", > dst=3D"2.2.2.1")/GRE()/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/UDP(sport=3D1234, dport=3D5678)/Raw('x'*64), iface= =3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > + src=3D"00:22:33:44:55:77")/IPv6(src=3D"::11", > + dst=3D"::22")/GRE()/IP(src=3D"192.168.1.1", > + dst=3D"192.168.1.2")/TCP(sport=3D1234, dport=3D5678)/Raw('x'*64), > + iface=3Dintf) > + > +Expected: p1 hash value is not equal to p2 or p3 or p4 or p5, and should > be equal to p6 and p7. > + > + > +Send a series packets to check if DCF RSS is correct for tunnelling pack= et > (inner IPv6) :: > + > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IPv6(src=3D"::22", dst=3D"::11")/UDP(sport=3D1234, > dport=3D5678)/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IPv6(src=3D"::22", dst=3D"::12")/UDP(sport=3D1234, > dport=3D5678)/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IPv6(src=3D"::21", dst=3D"::11")/UDP(sport=3D1234, > dport=3D5678)/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IPv6(src=3D"::22", dst=3D"::11")/UDP(sport=3D1235, > dport=3D5678)/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:11:22:33:44:55")/IP(src=3D"1.1.1.1", > dst=3D"2.2.2.2")/GRE()/IPv6(src=3D"::22", dst=3D"::11")/UDP(sport=3D1234, > dport=3D5679)/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > src=3D"00:22:33:44:55:77")/IP(src=3D"1.1.1.2", > dst=3D"2.2.2.1")/GRE()/IPv6(src=3D"::22", dst=3D"::11")/UDP(sport=3D1234, > dport=3D5678)/Raw('x'*64), iface=3Dintf) > + sendp(Ether(dst=3D"D2:6B:4C:EB:1C:26", > + src=3D"00:22:33:44:55:77")/IPv6(src=3D"::33", > + dst=3D"::44")/GRE()/IPv6(src=3D"::22", dst=3D"::11")/UDP(sport=3D1234, > + dport=3D5678)/Raw('x'*64), iface=3Dintf) > + > +Expected: p1 hash value is not equal to p2 or p3 or p4 or p5, and should > be equal to p6 and p7. > + > + > +Test Case: Create rule with to original VF action > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +DCF data path support RSS packets by default. For L3 packets, input set = is > IP src/dst. > +For tunneling packets, input set is inner IP src/dst. > + > +Execute **common steps** to prepare DCF test environment > + > +Set rxonly forward mode :: > + > + set fwd rxonly > + set verbose 1 > + start > + > +Send a packet, check the DCF can't recieve the packet (Dest mac address > is not DCF's mac) :: > + > + > + > sendp([Ether(dst=3D"68:05:ca:8d:ed:a8")/IPv6(src=3D"CDCD:910A:2222:5498:8= 4 > + 75:1111:3900:1518", > + > dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3D3)/TCP(sport=3D25,dp > ort > + =3D23)/("X"*480)], iface=3Dintf, count=3D1) > + > +Create a rule to DCF :: > + > + flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 > + dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 > + dst is 23 / end actions vf original 1 / end > + > +Send the packet again, check DCF can recieve the packet :: > + > + > + > sendp([Ether(dst=3D"68:05:ca:8d:ed:a8")/IPv6(src=3D"CDCD:910A:2222:5498:8= 4 > + 75:1111:3900:1518", > + > dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3D3)/TCP(sport=3D25,dp > ort > + =3D23)/("X"*480)], iface=3Dintf, count=3D1) > + > +Destory the rule on DCF :: > + > + flow destroy 0 rule 0 > + > +Send the packet agiain, check DCF can't recieve the packet :: > + > + > + > sendp([Ether(dst=3D"68:05:ca:8d:ed:a8")/IPv6(src=3D"CDCD:910A:2222:5498:8= 4 > + 75:1111:3900:1518", > + > dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3D3)/TCP(sport=3D25,dp > ort > + =3D23)/("X"*480)], iface=3Dintf, count=3D1) > + > + > +Test Case: Measure performance of DCF interface > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +The steps are same to iAVF performance test, a slight difference on > +launching testpmd devarg. DCF need cap=3Ddcf option. > +Expect the performance is same to iAVF > \ No newline at end of file > -- > 2.17.1