From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0071.outbound.protection.outlook.com [104.47.38.71]) by dpdk.org (Postfix) with ESMTP id 0670869C6 for ; Wed, 19 Apr 2017 14:23:10 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Ip75/qtOCP06b6h9CMdDwQaYulueHHvlqfLYUjsUTUM=; b=bwE8FKsMG852/WUNpuihPWZj7aJ9IneC+utzEcL4ZL8gp8lGFVyCv6sAkcyy35z73ewedKuGyIU5KQEK7l8CRW/zpMwDl1T8Z20J2fjrXg5z4iAWPowPdiNSe4rMjsi6W0zUW7g7/uMzI6snnozJivJkfsVJHeVfaOgZuk167ow= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=caviumnetworks.com; Received: from angela-H81M-S1.semihalf.local (31.172.191.173) by CO2PR0701MB805.namprd07.prod.outlook.com (10.141.246.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.10; Wed, 19 Apr 2017 12:23:08 +0000 From: Angela Czubak To: dts@dpdk.org Cc: Angela Czubak Date: Wed, 19 Apr 2017 14:22:16 +0200 Message-Id: <1492604540-12114-24-git-send-email-aczubak@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1492604540-12114-1-git-send-email-aczubak@caviumnetworks.com> References: <1491501092-14278-1-git-send-email-aczubak@caviumnetworks.com> <1492604540-12114-1-git-send-email-aczubak@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [31.172.191.173] X-ClientProxiedBy: AM5PR0701CA0064.eurprd07.prod.outlook.com (10.169.145.154) To CO2PR0701MB805.namprd07.prod.outlook.com (10.141.246.23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a69a3834-6916-4330-cbbb-08d4871ed6da X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:CO2PR0701MB805; X-Microsoft-Exchange-Diagnostics: 1; CO2PR0701MB805; 3:MfPStMSc0w3IiPjm9MvXqRIiH/9mnNiRtra5+aEDAwhickh461xJJR5DZD+E5iAmXecpskdmkcGJIWsjFZ6Wq8WPJRufrHBPTFgyrPmpnZpWWySlBwLe1+HCnvFvQuH0voHsxDWu+OUX6CLHfRuw+7H7wxEZVaez8mUJeuH8nGnOlUBovyWG5Mq7uuG0xzYmbSaPLayE5WGWsfn1kxQ+vyEm7+BKQkDtU22WhHxf9Auyomeo50Sxn9exhLi50NKVASCfioovFPocMgVYYTLeK7TH0MitxSkyrQBpDrgqJhfQkURO4nki/6qYyqV3jomdbMQ0aChd8k1gd1FEjLoGeQ==; 25:ok7sjR2CbXAT2A4SK7qXXqIuqTPlwWXRFF02zRAJxuv0th7uyruw6AsrT5TmQTlNGNa+/0EyIhkSWPHVH12Ab+beAJVACD4m1UqSRp3rnQA/t2tRt9gAI+c5NsOX8c9hb3Qm8+S5xET149eAReX5dnLBjtHlGsoBBvbAgjZ8rXViMRtkASpJRXJleoBlC2N5d6vKoFPksQ0a9gC8fCeG9PGr3kmdZlPcmNxpfZCnWM71dOd0/ZMPpEjsVxKf4LXnzUX/VlbC6kXCox9JY7a05gWa139SI7JXfDw3p+HibIb9SDD87AdCVdrHIQopjuU9Xii6VH3P+Ol/mQ/jTcCTZQbK/7NmQeGG9jCLWe21lT3zp+B6B90leHXaVCJmsB9xsOfZHvY5zcR4brnJdRun4dJe0vRzKWWDNNeYWTGuYojo9FPBGiOZb+A+M99QhBE1srSnNkBdl67WW8z747x4JA== X-Microsoft-Exchange-Diagnostics: 1; CO2PR0701MB805; 31:ynaA6cdzm/dexMAuuF3+VqAu2PNYV0ld5nvt/1OPCDJYzsA0tF6bKQtSSxxgOFKKT7REhGqhxzyw6EbDu1clQ5mowgjF3g5UmtZvU025qQrI809IRQTbjJXx+Pag0KXZkGF0Es+O55vOOwYpRCQeaC1TG/ajzqqJ680FD7Whl5MGgbnjdBZDJyw1D+ik48SAI2z+mYuaNuZ0ZvaODVmzjqWf6phnbtqz6CvRCDJ/QBCg/O2m/2ykoywqWKzCwNXU; 20:UqwHQujTaLxb7w6kK+LptXw60Spc9s5c8DYbkSiG71onPeaKCb06goKwRzeqqAYWQqbf9CeRHsWKvuZcDROeJsnHvDXAfRh61WooP99NsPs6Ut8SXDVXzREfutDQfuNw4aoxZutVsmqgJHCKxPVqiTYsFMbxwU7lRGimrqb/YeYl0OuUwS2sD4JPnrVkVIxZGrER8/3nFaiDoZq7EvmW3zWyAz9yk3kU/3eeKLWm5vG9E2Cb0ssY2YWusbbgwP0sLdc8OszgNln99XqCirYYF0svXzNhTpkChnvaSKTdBsw8bO0xmlqwkyPsfUcTfRwlzcg29RdkpyKIfiwxhLbCbkwo+3AOf7lNteZJRb2+i8QZJrTXKUNGPaGn8TPCHLw048y6UbCh2EYJ8GXe0hSHV0CA8x2Hq0rO1X7zWgV42Z0ZxRE06IqRkBt09E7s/JvQyUDLeTYv/EPZDFEVDImAy2PjCKZQ/3uFBMdbnDI1ZvwHDW/enc7hseUN54UA5KKW6n3QcJtFAfnxdGpKZMoRKhdmO2BofdZyE0W1sTKy3oYoRshye4U6OPUJJkQ3DVsd0YdXl8d+xsuN4Wl9TQBrhcBkh9P4lRDooQltuUs/ZxM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(278428928389397); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(6041248)(20161123560025)(20161123564025)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(6072148); SRVR:CO2PR0701MB805; BCL:0; PCL:0; RULEID:; SRVR:CO2PR0701MB805; X-Microsoft-Exchange-Diagnostics: 1; CO2PR0701MB805; 4:gCqN6x02lYVFle9ZrwHqWz1gj3lRYw6myPFPD5YtpPsDl912qGO0GVR63l7u/JSbl2ex636BsINITlaN7a0O8+AXcFPSnELjR62NVSu2XQEYAFiM0wAZOQsllGuIQPXgBdnXj1GZIlt0FhGWE0NILJ0ufRc4RCacQ32gmmlUsUe4VkNgs8GtQ+ELqq9y4wjRSNT4xevc1wbFbP2AhI8CMpHqB1998tJFLqSV59xO9dBMg9ZQdJwRoGKKxIF/H2ntv029nRa2KXM0HeDFkJg3Ag50UxNo71XsXQTajKOwihBAZ0K2QE3kNTTfrJ6GxPi+vmJjKTbuWkFlyJQVl2hMlkJaZLw1OQoscz2ybG9nw4KvlLPvy/+ciP6OwVmd8yWfPzW2gm140t4KOT7LKrt7DH1zaBUGafk3MHOA9yz1NOA6GOBoPbYqu7TuVoTxtwI7QjkxTzCGtrTuCN0I3PvrsXDUjwj5X4YmDLH1wrbtm+h14CqakHOJem6OIEhzMyRgGQlU1um4nB9J9N5qY7FSuWHsD7mYmIMm4OKgeVbok3ODfBLwYLtBp0CTP+dyPQc7UQOe0erL5/Soy34jJBwX8YIb9KicOp/l+inxectyHrP1DReguC+9l0G7VKxs/WV5wKYLlpO4n7wfgC92T9NVozNNjYcxMOBdCQe0I7eHRMJcmX3flEqyuQNdv/SnLv5FQoE5SQyMLFpW4CZkDWqcljcU8nxOCyg3sUZWWrbXMlbWp6meC9LoaWnizbVH7tmE X-Forefront-PRVS: 028256169F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39410400002)(39850400002)(39400400002)(39840400002)(39450400003)(6486002)(5660300001)(38730400002)(6506006)(7736002)(6512007)(66066001)(305945005)(47776003)(53936002)(42882006)(110136004)(15650500001)(6916009)(2906002)(8676002)(4326008)(2950100002)(50226002)(81166006)(25786009)(107886003)(6666003)(36756003)(5003940100001)(42186005)(33646002)(3846002)(575784001)(6116002)(2351001)(2361001)(189998001)(76176999)(50986999)(48376002)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR0701MB805; H:angela-H81M-S1.semihalf.local; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CO2PR0701MB805; 23:HohA/yutaDGmLXlBGDN7PeWdbQa/QgOmmH3eaxEv?= =?us-ascii?Q?l0eVnw650mpOcZLhr5ojzMKue388ES+0ucn9EC9Ye/hTIzzwLTgQ8TitpJPf?= =?us-ascii?Q?j4kHQ2W1qEJjb8k/uUYws2FP8SSfdsbZUkJGKdHFC1JaUYuB2Jy0SLNSFZBA?= =?us-ascii?Q?L9CQe37x+ZfZIdsMq7kgAw5Ymlfk0DR84EzOUjKbabhkGiI1PS/CMvuJ7pH7?= =?us-ascii?Q?QAJX41c7I7GknhYDL+GQmE/Ybp+XG1XzYrsYE7rXv6rNsty5IYRtoj4WcjtT?= =?us-ascii?Q?aSJHB9LVnpaTrmPTSL2THJOZ5Sk70wkb7Dh6n405PuEDzM2etujxB5ppSWkg?= =?us-ascii?Q?9XxuUFP+eAjup9ZuPb24zXmN0/oHWZRY1+aDyPUtfywM424DvGS4cub0jDXn?= =?us-ascii?Q?2zUpWeNgIrgEw8fVw9t4vW4pRkmSR7QF6wfBxzW95q9gQSZIRfVBeSsnhZb3?= =?us-ascii?Q?CDTMWMiLaJuK3FFPse/6zZuu37izSk8NydHEMHcZOVMghLbroII/+KFvuueX?= =?us-ascii?Q?Jl3AR/UBTBfgKNXxoK+B8h30WgNNyLjTz/bG4qToZYkwbqyZOx3b6GCtKEUl?= =?us-ascii?Q?/BG1xZyM6vDOZP/NMPvHqzdJBD8AOSUViGFPc10m1szEEodunqDREjt6AdNI?= =?us-ascii?Q?wx0CieB147WOlXqC/vtW7XGOh96Gs1Hs19SsxHQJSUEYeYx+JgdiyZdTkvvI?= =?us-ascii?Q?lEXNfpuenVMOK4c+vraP5M5ZNSG9KZkpibIc4n0TewEPMT8CsSrXnNTQQ0gX?= =?us-ascii?Q?V9LOLO+ElwNPqPFMBFHyywYHjw0ojwPWWC9SXLaMzCZIdEqj/39jR03Ubhln?= =?us-ascii?Q?8zXnbmczBb9Dw1UH+QgT3naiJqa0/I8lEHVqfLzfXgvIECNUJdpEtuaAcGYo?= =?us-ascii?Q?zxHxujL7EIr5tU9VdhTsnZkwJUn0zNhPUtvKnnk/34gZbXRWqBdOUFif/Vxx?= =?us-ascii?Q?XpZ6krycEQdUgRRC97noUebbR26GstvTMJu0vKKvaSqrK90QSELV7wdty5aX?= =?us-ascii?Q?KCda7c3g9mlfxfMPYy6Qku/ECdSrslDq1gNKAdytxBFvmiEHmU8Y2lWaim6C?= =?us-ascii?Q?uAyC8xLZz+D9BZAoV5xxNntUfVqTu3HBfDdq9TjsAcoTXyzULZR3JEL2O8Px?= =?us-ascii?Q?aIW8awj68WA=3D?= X-Microsoft-Exchange-Diagnostics: 1; CO2PR0701MB805; 6:WFxuclltz/TuLmxA148hNIuwF7qooGVtifm1Ci+vkyHmn+TSHCrjDE1BzuX4Ta7D+oDcGb0IWGRcia5Vuwtor6YmWKcmfKT7+qK1qh4Im3iyrnKg2PmFLvLvkUjOPYrGreHM6UEbZIH9terZvlkspRWywU7Ml/PML2x9gFedVK1oQTW/MEOvM2tulTjot8V906a3iRTDf6bYfLBYK5YQt8WWreatGijMnSZzTiiDpxrHjXIgy37M+Xsn4BqkWW6kcQws8ik3HSmW6s0D8/rLnaZD7qbKa6/PCwMXwYJcz7mlkWmarU3BTfUfZ8aapPQrYXz/xSUTI3Pt9l3SMP3cd8Y3UbmmbAkQUY+t+lxLMXjwU3cQ0R+fav5cP9hFydHIHfqg0CGHugaPFxVigucGTb15RCt7IB9tR1rbmQ3haj4rVP3BL/MsJVe74Nj46/tvbQhyFhLwoHhRH9CMRfj6ow==; 5:GkQhWu6F2YOrG2Arxo6kIGCy9tmxsoFRL3Qqff0eADhGUwnLvfdHqpxX1EhvFJ/oGj48hOYsX2EY0Gy395XNZq5k47jBPYlnI+afTuPVEu6S/JLRWFxID6ueCMs6crvSmhRR6zlxYUwl8PscGlfiRw==; 24:iVDo+8tHAE8TMRmDtx/Kz5W/c2NHOb2lE+LW506JpjEFVN8BvkAXytucfkKH8pK7RUHfJg8/LLr49o5C8I853/2qhDvLQGat8KIZeb9oago= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CO2PR0701MB805; 7:lZsl2iKI1pXn/lzKmuvqNx0zkuj5vipRvZawk9l99X9vSwTmD6GgoKrvfvG12zG55COahbmPr6PZpR+KXPTSFDWvQNtLgujoxVZN3aMaz6BPtPQ6qTqsNbJ1Xb9fU3e7DXjoT74ZxUjT4dZ35J4LXi/ZlXbgHSj4xNteglEDypbQ7Qbq9IhlXPlib2SCBqS6J7V2jOFqPWtQNBSJSNUAEY3tX6BDrEPqmbax6Df2QgXapC0BRsUn/QuzJO2/WME7MAF8pgJTOxRnTitoKp/THZp4NPl1XY+9fTC0N/uuADyXoPO7NLo2YBoz4PtFxaschFBrO2p5XuvhNQ+dDbcrqQ== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2017 12:23:08.1958 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR0701MB805 Subject: [dts] [PATCH v3 23/27] tests: uni_pkt - taking into account cavium NICs 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: , X-List-Received-Date: Wed, 19 Apr 2017 12:23:10 -0000 Enabling following uni_pkt test cases by modifying conf/dpdk_support_test_case.xls: - NVGRE_tunnel - NVGRE_in_IPv6_tunnel - NVGRE_tunnel Testpmd must be run with hardware VLAN filter disabled as thunder driver does not support this feature - --disable-hw-vlan-filter is appended if NIC is Cavium device. What is more, Cavium has hardware packet type detection only for L3 and L4, therefore L2 is never checked and inner layers are skipped as well. Signed-off-by: Angela Czubak --- conf/dpdk_support_test_case.xls | Bin 25600 -> 8704 bytes tests/TestSuite_uni_pkt.py | 219 +++++++++++++++++++++++++++------------- 2 files changed, 147 insertions(+), 72 deletions(-) diff --git a/conf/dpdk_support_test_case.xls b/conf/dpdk_support_test_case.xls index 8f38c84ce8ff3338394944fa67c478d711ebe56a..2d8a342baf869d782921ad32e5c11cfa46f06a48 100644 GIT binary patch literal 8704 zcmeHMU2IfE6h3$VdJB}@@~0LdHz@xrwiE$_Ncp!3lnMwhBxSq3g@x_zX1lFmG%gBn zkYIT5g+xhs(3pTmgAbZmUW^YI4GD=DABrLVL?0HTQ4*kj-^{(;yGt8(kr=^FduHaG znfd0-Id{&?-TU=d^@FEAXt*L}X@&UZ)=;g4JaPl|i7p=z8IL+;w}ys>TrsL+={~Z+ zO-ENh92fuvLG*bI$OP4b#)0T#Qk_!|JLP?})G<{@u)tPH<1Z(ctd|tZtQ>@AD^Jt# z#CTyV8R?A|mGr+;pRxIi7PynG*zUD|t%*P$3d$#S7r5os-oGL~c|UL-xybjRU6NsJ zSQ|^mt$!=6Q98s7>M(#qW~C9rS>wa0bQ1YQIjdSeRryMpgkDH3Vl7t{L$3H+&`;!; z%4ey3B634MR%5}EbYd?gq)8g&3p5SAs(PRnG*+t? z_PU3ynA?jyGcZ9;GYW6CQ+76%9F!@T`?UNqWTAA^fJHe~SMuL0lhZCE^&d@6)RFo> zxboAmsm0|v$+h!BZHGd+eEul%=qU09qsVJVlm}hEd;ELChaH)hA(oN6UzPRwkSZtT z1FD>yuTkZcd=O=wOy!B*md^IXlGftgY8xEER{G1?_}li{cCLw%aXjS_3Y26qB}di0 z&yh4AML00Y<3X9VCF-hKSd%pq`|)k@&*uk$78*=m5TM)K;E(qux+ht zaf`{tvU}_t+IK#0we|IM+F2MNp6=vE%LpYL^hGTP0-PsNTK87#IrK7_reFcbTl?LHM#XzWAhR` z8)}A%RYG*tDrwKS>s#vLBvMu)(_i@#ac3?rFshh}b%A+y97x7ej(MJRSgT@yA?&aQ ziJMbF*dR`t>Xbg-=k>WCDLMBiU|1J6F;B^QwMiq`jyK-Dc5!oO`>GBl&ohQNX*Oe! zM2$meIUiV{Ml4kMYpO3#EKd5mk{wq09E|T)>4#NwJ@t9RxIe9$@2Q`XSZzrO7j!Mob@;+*@qR9Ihgv=t36&Y@S@#(i+ zz60r-k?CVFVm-?Eg}z~-j7+(VL9Seexo(ruhUNYATUhBFd@C#O$H-kSqkls3%&>kp z)%%+;I3sD!0LKoR^C_RZoF5$Z)NKK9)KGIlaMX<)$A>YK%Mp|M=r&?f6U`B`*hUoE zlx?(9SZSy^FA9BCMB&}9h~k4DVf70H$5G#~^1kN0D1L>)6HT{yQTz&pUS=ED8OEQ> zc~Jr-x&%se2`Cgk8APFd!q`79=S2xB6drZDr&pJtLP1bhZM17x-TBy)ci-aLLnSDo z5?w+Hg}aX9X!Ed48|J(yH6H&qx@w62h!Q(komj**>3woD9=t({qr^eAuwDGgPNpg;6k``vNLFI3w zxdtnrL0l@wiFm8<`S#%Uu!l1{31N=!P2}#kh*(=uM8sO12<9%i)DxE16X;yECopE% z6KaZ<;zZg5n%A*NVEr)M>c9=U zco$@Q2E>sEK)gX725}D@2XP;q1aU9C1LA)82!ta~*@ye$0*E(yM9ukHK}wO7V^}3a*?%G*R3t;zV%{Faf-TTt zpB7e;bAHAS&dpTm&{n6Tfq9c+S32yretd)0Gwb}e4kHM-e*QMY6qIe!hxPa1s|UaR zwc;yaxAF-kIeY<0Lo#}r=giNzQ|bC?ujNhz3d%an5LY_b>I-Cb`YgYT^)rU&Mqg6Z TE!EoJ`~9uz$wnCPPv-v{JrESQ literal 25600 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 diff --git a/tests/TestSuite_uni_pkt.py b/tests/TestSuite_uni_pkt.py index 6975f2d..882b758 100644 --- a/tests/TestSuite_uni_pkt.py +++ b/tests/TestSuite_uni_pkt.py @@ -46,9 +46,19 @@ user applications import utils from test_case import TestCase from exception import VerifyFailure -from packet import Packet import time +# so as to bind GRE for GRE testing +from scapy.packet import * +from scapy.fields import * +from scapy.layers.inet import UDP,IP +from scapy.layers.inet6 import IPv6 +from scapy.layers.l2 import Ether +from scapy.layers.l2 import GRE +IPPROTO_GRE=47 + +# to override the one from scapy +from packet import Packet class TestUniPacket(TestCase): @@ -63,8 +73,10 @@ class TestUniPacket(TestCase): self.dut_port = valports[0] tester_port = self.tester.get_local_port(self.dut_port) self.tester_iface = self.tester.get_interface(tester_port) - self.dut.send_expect( - "./%s/app/testpmd -c f -n 4 -- -i --txqflags=0x0" % self.target, "testpmd>", 20) + cmd = "./%s/app/testpmd -c f -n 4 -- -i --txqflags=0x0" + if "cavium" in self.dut.nic_type: + cmd += " --disable-hw-vlan-filter" + self.dut.send_expect(cmd % self.target, "testpmd>", 20) self.dut.send_expect("set fwd rxonly", "testpmd>") self.dut.send_expect("set verbose 1", "testpmd>") self.dut.send_expect("start", "testpmd>") @@ -121,6 +133,9 @@ class TestUniPacket(TestCase): elif "niantic" in self.nic.lower() or "i350" in self.nic.lower(): outerL4Type = "" ipv4_default_packet_type = ["L2_ETHER", "L3_IPV4"] + elif "cavium" in self.dut.nic_type: + outerL4Type = "" + ipv4_default_packet_type = ["L3_IPV4"] pktType = { "MAC_IP_PKT": ipv4_default_packet_type + [outerL4Type], "MAC_IP_UDP_PKT": ipv4_default_packet_type + ["L4_UDP"], @@ -139,6 +154,8 @@ class TestUniPacket(TestCase): elif "niantic" in self.nic.lower() or "i350" in self.nic.lower(): pktType.pop("MAC_IP_ICMP_PKT") pktType.pop("MAC_IPFRAG_TCP_PKT") + elif "cavium" in self.dut.nic_type: + pktType.pop("MAC_IP_ICMP_PKT") self.run_test(pktType) @@ -152,6 +169,9 @@ class TestUniPacket(TestCase): elif "niantic" in self.nic.lower() or "i350" in self.nic.lower(): outerL4Type = "" ipv6_default_packet_type = ["L2_ETHER", "L3_IPV6"] + elif "cavium" in self.dut.nic_type: + outerL4Type = "" + ipv6_default_packet_type = ["L3_IPV6"] pktType = { "MAC_IPv6_PKT": ipv6_default_packet_type + [outerL4Type], @@ -245,36 +265,55 @@ class TestUniPacket(TestCase): checked that whether NVGRE tunnel packet can be normally detected by Fortville. """ - self.verify(("fortville" in self.nic or "fortpark_TLV" in self.nic), + self.verify(("fortville" in self.nic or "fortpark_TLV" in self.nic or "cavium" in self.dut.nic_type), "NVGRE tunnel packet type detect only support by Fortville") - nvgre_base_packet_type = ["L2_ETHER", "L3_IPV4_EXT_UNKNOWN", "TUNNEL_GRENAT"] - # INNER IPV4 not with vlan - nvgre_ipv4_default_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER", "INNER_L3_IPV4_EXT_UNKNOWN"] - # INNER IPV6 not with vlan - nvgre_ipv6_default_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER", "INNER_L3_IPV6_EXT_UNKNOWN"] - # INNER IPV4 with vlan - nvgre_ipv4_vlan_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER_VLAN", "INNER_L3_IPV4_EXT_UNKNOWN"] - # INNER IPV6 with vlan - nvgre_ipv6_vlan_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER_VLAN", "INNER_L3_IPV6_EXT_UNKNOWN"] - - - pktType = { - "MAC_IP_NVGRE_MAC_IPFRAG_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_FRAG"], - "MAC_IP_NVGRE_MAC_IP_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_NONFRAG"], - "MAC_IP_NVGRE_MAC_VLAN_PKT": nvgre_base_packet_type + ["INNER_L2_ETHER"], - "MAC_IP_NVGRE_MAC_VLAN_IPFRAG_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_FRAG"], - "MAC_IP_NVGRE_MAC_VLAN_IP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_NONFRAG"], - "MAC_IP_NVGRE_MAC_VLAN_IP_UDP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_UDP"], - "MAC_IP_NVGRE_MAC_VLAN_IP_TCP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_TCP"], - "MAC_IP_NVGRE_MAC_VLAN_IP_SCTP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_SCTP"], - "MAC_IP_NVGRE_MAC_VLAN_IP_ICMP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_ICMP"], - "MAC_IP_NVGRE_MAC_VLAN_IPv6FRAG_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_FRAG"], - "MAC_IP_NVGRE_MAC_VLAN_IPv6_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_NONFRAG"], - "MAC_IP_NVGRE_MAC_VLAN_IPv6_UDP_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_UDP"], - "MAC_IP_NVGRE_MAC_VLAN_IPv6_TCP_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_TCP"], - "MAC_IP_NVGRE_MAC_VLAN_IPv6_SCTP_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_SCTP"], - "MAC_IP_NVGRE_MAC_VLAN_IPv6_ICMP_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_ICMP"] - } + if "cavium" in self.dut.nic_type: + nvgre_base_packet_type = ["L3_IPV4", "TUNNEL_NVGRE"] + pktType = { + "MAC_IP_NVGRE_MAC_IPFRAG_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_IP_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_VLAN_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_VLAN_IPFRAG_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_VLAN_IP_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_VLAN_IP_UDP_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_VLAN_IP_TCP_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_VLAN_IP_SCTP_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_VLAN_IP_ICMP_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_VLAN_IPv6FRAG_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_VLAN_IPv6_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_VLAN_IPv6_UDP_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_VLAN_IPv6_TCP_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_VLAN_IPv6_SCTP_PKT": nvgre_base_packet_type, + "MAC_IP_NVGRE_MAC_VLAN_IPv6_ICMP_PKT": nvgre_base_packet_type + } + else: + nvgre_base_packet_type = ["L2_ETHER", "L3_IPV4_EXT_UNKNOWN", "TUNNEL_GRENAT"] + # INNER IPV4 not with vlan + nvgre_ipv4_default_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER", "INNER_L3_IPV4"] + # INNER IPV6 not with vlan + nvgre_ipv6_default_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER", "INNER_L3_IPV6"] + # INNER IPV4 with vlan + nvgre_ipv4_vlan_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER_VLAN", "INNER_L3_IPV4"] + # INNER IPV6 with vlan + nvgre_ipv6_vlan_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER_VLAN", "INNER_L3_IPV6"] + + pktType = { + "MAC_IP_NVGRE_MAC_IPFRAG_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_FRAG"], + "MAC_IP_NVGRE_MAC_IP_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_NONFRAG"], + "MAC_IP_NVGRE_MAC_VLAN_PKT": nvgre_base_packet_type + ["INNER_L2_ETHER"], + "MAC_IP_NVGRE_MAC_VLAN_IPFRAG_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_FRAG"], + "MAC_IP_NVGRE_MAC_VLAN_IP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_NONFRAG"], + "MAC_IP_NVGRE_MAC_VLAN_IP_UDP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_UDP"], + "MAC_IP_NVGRE_MAC_VLAN_IP_TCP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_TCP"], + "MAC_IP_NVGRE_MAC_VLAN_IP_SCTP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_SCTP"], + "MAC_IP_NVGRE_MAC_VLAN_IP_ICMP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_ICMP"], + "MAC_IP_NVGRE_MAC_VLAN_IPv6FRAG_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_FRAG"], + "MAC_IP_NVGRE_MAC_VLAN_IPv6_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_NONFRAG"], + "MAC_IP_NVGRE_MAC_VLAN_IPv6_UDP_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_UDP"], + "MAC_IP_NVGRE_MAC_VLAN_IPv6_TCP_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_TCP"], + "MAC_IP_NVGRE_MAC_VLAN_IPv6_SCTP_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_SCTP"], + "MAC_IP_NVGRE_MAC_VLAN_IPv6_ICMP_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_ICMP"] + } self.run_test(pktType) def test_NVGRE_in_IPv6_tunnel(self): @@ -282,45 +321,76 @@ class TestUniPacket(TestCase): checked that whether NVGRE in IPv6 tunnel packet can be normally detected by Fortville. """ - self.verify(("fortville" in self.nic or "fortpark_TLV" in self.nic), + self.verify(("fortville" in self.nic or "fortpark_TLV" in self.nic or "cavium" in self.dut.nic_type), "NVGRE in IPv6 detect only support by Fortville") - nvgre_base_packet_type = ["L2_ETHER", "L3_IPV6_EXT_UNKNOWN", "TUNNEL_GRENAT"] - # INNER IPV4 not with vlan - nvgre_ipv4_default_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER", "INNER_L3_IPV4_EXT_UNKNOWN"] - # INNER IPV6 not with vlan - nvgre_ipv6_default_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER", "INNER_L3_IPV6_EXT_UNKNOWN"] - # INNER IPV4 with vlan - nvgre_ipv4_vlan_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER_VLAN", "INNER_L3_IPV4_EXT_UNKNOWN"] - # INNER IPV6 with vlan - nvgre_ipv6_vlan_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER_VLAN", "INNER_L3_IPV6_EXT_UNKNOWN"] - - pkt_types = { - "MAC_IPv6_NVGRE_MAC_PKT": nvgre_base_packet_type + ["INNER_L2_ETHER"], - "MAC_IPv6_NVGRE_MAC_IPFRAG_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_FRAG"], - "MAC_IPv6_NVGRE_MAC_IP_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_NONFRAG"], - "MAC_IPv6_NVGRE_MAC_IP_UDP_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_UDP"], - "MAC_IPv6_NVGRE_MAC_IP_TCP_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_TCP"], - "MAC_IPv6_NVGRE_MAC_IP_SCTP_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_SCTP"], - "MAC_IPv6_NVGRE_MAC_IP_ICMP_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_ICMP"], - "MAC_IPv6_NVGRE_MAC_IPv6FRAG_PKT": nvgre_ipv6_default_packet_type + ["INNER_L4_FRAG"], - "MAC_IPv6_NVGRE_MAC_IPv6_PKT": nvgre_ipv6_default_packet_type + ["INNER_L4_NONFRAG"], - "MAC_IPv6_NVGRE_MAC_IPv6_UDP_PKT": nvgre_ipv6_default_packet_type + ["INNER_L4_UDP"], - "MAC_IPv6_NVGRE_MAC_IPv6_TCP_PKT": nvgre_ipv6_default_packet_type + ["INNER_L4_TCP"], - "MAC_IPv6_NVGRE_MAC_IPv6_SCTP_PKT": nvgre_ipv6_default_packet_type + ["INNER_L4_NONFRAG"], - "MAC_IPv6_NVGRE_MAC_IPv6_ICMP_PKT": nvgre_ipv6_default_packet_type + ["INNER_L4_NONFRAG"], - "MAC_IPv6_NVGRE_MAC_VLAN_IPFRAG_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_FRAG"], - "MAC_IPv6_NVGRE_MAC_VLAN_IP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_NONFRAG"], - "MAC_IPv6_NVGRE_MAC_VLAN_IP_UDP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_UDP"], - "MAC_IPv6_NVGRE_MAC_VLAN_IP_TCP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_TCP"], - "MAC_IPv6_NVGRE_MAC_VLAN_IP_SCTP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_SCTP"], - "MAC_IPv6_NVGRE_MAC_VLAN_IP_ICMP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_ICMP"], - "MAC_IPv6_NVGRE_MAC_VLAN_IPv6FRAG_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_FRAG"], - "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_NONFRAG"], - "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_UDP_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_UDP"], - "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_TCP_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_TCP"], - "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_SCTP_PKT":nvgre_ipv6_vlan_packet_type + ["INNER_L4_NONFRAG"], - "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_ICMP_PKT":nvgre_ipv6_vlan_packet_type + ["INNER_L4_NONFRAG"] - } + if "cavium" in self.dut.nic_type: + #cavium recognizes only L3 and L4 by hardware + nvgre_base_packet_type = ["L3_IPV6", "TUNNEL_NVGRE"] + pkt_types = { + "MAC_IPv6_NVGRE_MAC_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_IPFRAG_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_IP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_IP_UDP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_IP_TCP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_IP_SCTP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_IP_ICMP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_IPv6FRAG_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_IPv6_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_IPv6_UDP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_IPv6_TCP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_IPv6_SCTP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_IPv6_ICMP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_VLAN_IPFRAG_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_VLAN_IP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_VLAN_IP_UDP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_VLAN_IP_TCP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_VLAN_IP_SCTP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_VLAN_IP_ICMP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_VLAN_IPv6FRAG_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_UDP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_TCP_PKT": nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_SCTP_PKT":nvgre_base_packet_type, + "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_ICMP_PKT":nvgre_base_packet_type + } + else: + nvgre_base_packet_type = ["L2_ETHER", "L3_IPV6_EXT_UNKNOWN", "TUNNEL_GRENAT"] + # INNER IPV4 not with vlan + nvgre_ipv4_default_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER", "INNER_L3_IPV4_EXT_UNKNOWN"] + # INNER IPV6 not with vlan + nvgre_ipv6_default_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER", "INNER_L3_IPV6_EXT_UNKNOWN"] + # INNER IPV4 with vlan + nvgre_ipv4_vlan_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER_VLAN", "INNER_L3_IPV4_EXT_UNKNOWN"] + # INNER IPV6 with vlan + nvgre_ipv6_vlan_packet_type = nvgre_base_packet_type + ["INNER_L2_ETHER_VLAN", "INNER_L3_IPV6_EXT_UNKNOWN"] + + pkt_types = { + "MAC_IPv6_NVGRE_MAC_PKT": nvgre_base_packet_type + ["INNER_L2_ETHER"], + "MAC_IPv6_NVGRE_MAC_IPFRAG_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_FRAG"], + "MAC_IPv6_NVGRE_MAC_IP_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_NONFRAG"], + "MAC_IPv6_NVGRE_MAC_IP_UDP_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_UDP"], + "MAC_IPv6_NVGRE_MAC_IP_TCP_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_TCP"], + "MAC_IPv6_NVGRE_MAC_IP_SCTP_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_SCTP"], + "MAC_IPv6_NVGRE_MAC_IP_ICMP_PKT": nvgre_ipv4_default_packet_type + ["INNER_L4_ICMP"], + "MAC_IPv6_NVGRE_MAC_IPv6FRAG_PKT": nvgre_ipv6_default_packet_type + ["INNER_L4_FRAG"], + "MAC_IPv6_NVGRE_MAC_IPv6_PKT": nvgre_ipv6_default_packet_type + ["INNER_L4_NONFRAG"], + "MAC_IPv6_NVGRE_MAC_IPv6_UDP_PKT": nvgre_ipv6_default_packet_type + ["INNER_L4_UDP"], + "MAC_IPv6_NVGRE_MAC_IPv6_TCP_PKT": nvgre_ipv6_default_packet_type + ["INNER_L4_TCP"], + "MAC_IPv6_NVGRE_MAC_IPv6_SCTP_PKT": nvgre_ipv6_default_packet_type + ["INNER_L4_NONFRAG"], + "MAC_IPv6_NVGRE_MAC_IPv6_ICMP_PKT": nvgre_ipv6_default_packet_type + ["INNER_L4_NONFRAG"], + "MAC_IPv6_NVGRE_MAC_VLAN_IPFRAG_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_FRAG"], + "MAC_IPv6_NVGRE_MAC_VLAN_IP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_NONFRAG"], + "MAC_IPv6_NVGRE_MAC_VLAN_IP_UDP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_UDP"], + "MAC_IPv6_NVGRE_MAC_VLAN_IP_TCP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_TCP"], + "MAC_IPv6_NVGRE_MAC_VLAN_IP_SCTP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_SCTP"], + "MAC_IPv6_NVGRE_MAC_VLAN_IP_ICMP_PKT": nvgre_ipv4_vlan_packet_type + ["INNER_L4_ICMP"], + "MAC_IPv6_NVGRE_MAC_VLAN_IPv6FRAG_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_FRAG"], + "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_NONFRAG"], + "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_UDP_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_UDP"], + "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_TCP_PKT": nvgre_ipv6_vlan_packet_type + ["INNER_L4_TCP"], + "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_SCTP_PKT":nvgre_ipv6_vlan_packet_type + ["INNER_L4_NONFRAG"], + "MAC_IPv6_NVGRE_MAC_VLAN_IPv6_ICMP_PKT":nvgre_ipv6_vlan_packet_type + ["INNER_L4_NONFRAG"] + } self.run_test(pkt_types) @@ -328,9 +398,13 @@ class TestUniPacket(TestCase): """ checked that whether GRE tunnel packet can be normally detected by Fortville. """ - self.verify(("fortville" in self.nic or "fortpark_TLV" in self.nic), + bind_layers(IP, GRE, frag=0, proto=IPPROTO_GRE) + self.verify(("fortville" in self.nic or "fortpark_TLV" in self.nic or "cavium" in self.dut.nic_type), "GRE tunnel packet type detect only support by Fortville") - IPv4_packet_type = [" L2_ETHER", " L3_IPV4_EXT_UNKNOWN", "L4_NONFRAG"] + if "cavium" in self.dut.nic_type: + IPv4_packet_type = ["L3_IPV4", "TUNNEL_GRE"] + else: + IPv4_packet_type = [" L2_ETHER", " L3_IPV4_EXT_UNKNOWN", "L4_NONFRAG"] pktType = { "MAC_IP_GRE_IPFRAG_PKT": IPv4_packet_type, @@ -342,6 +416,7 @@ class TestUniPacket(TestCase): "MAC_IP_GRE_PKT": IPv4_packet_type } self.run_test(pktType) + split_layers(IP, GRE, frag=0, proto=IPPROTO_GRE) def test_Vxlan_tunnel(self): """ -- 2.7.4