From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0045.outbound.protection.outlook.com [104.47.40.45]) by dpdk.org (Postfix) with ESMTP id 5365F68C5 for ; Thu, 6 Apr 2017 19:52:12 +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=YV5ZHApIV77chdK1myrBMuQ1TPklkhF1P8WP+Hf3CkRwc0JSmAHVU8sGkhzcipmgjkbKnGruFygNrFhnZeFH2Oo2+w7Q+sdHwUPs/wXbJ6eO5q5rVjDYQ4cnmmJCbFfj9ZwgyWZoPv4AwkjAnmJOKKwsRfI2xOROmTk7FLSoPSw= 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 DM2PR0701MB810.namprd07.prod.outlook.com (10.242.127.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1005.10; Thu, 6 Apr 2017 17:52:10 +0000 From: Angela Czubak To: dts@dpdk.org Cc: Angela Czubak Date: Thu, 6 Apr 2017 19:51:30 +0200 Message-Id: <1491501092-14278-25-git-send-email-aczubak@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1491501092-14278-1-git-send-email-aczubak@caviumnetworks.com> References: <1491501092-14278-1-git-send-email-aczubak@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [31.172.191.173] X-ClientProxiedBy: AM5PR0701CA0051.eurprd07.prod.outlook.com (10.169.145.141) To DM2PR0701MB810.namprd07.prod.outlook.com (10.242.127.24) X-MS-Office365-Filtering-Correlation-Id: 02bbfe2d-9151-4c2e-b4de-08d47d15a66d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:DM2PR0701MB810; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB810; 3:8qMBz2oMcveXKt5PHrJZJMPnAYrP6Pl0FQtZDQCEfN+nHPsW075ZNdrmLEi9+PId5FRtbERZeZKx7aoA9typRW2tQWQS6Ly/7kyMHuQAYD+3S0xdvyF9D7ikB1OiTKuRahAe3M2vs4tG9+alGgN1z7/fG2aiv9quh3RkABoWxBGa4dbv39EwlHIH+qf3o+96N3A7qY6zFAFYDkxTch6p3EUfRfEdDm2/R+ScECGL4VMGZm9kyiAuG5+lUvvPcjJyg+D121FgLs9Gwe2rywaay4dF5o3FmIEfHSKof7yFSEuj35e3lFeT8x4AT7jvyl/JfDK9Ir6Q7qMOMMymiK3Uqg==; 25:7FX9y+JZibxKUTGJjb+nznthskLgDpzMDaY1yl2YT1jgf5+IdHOhVU2OC8A527Bs4J9gGZfJGQfGpIjIe3PPgWR7JuBfRM0MVAryX4h78Jee8bitKaCasojYNElrAxLoZ/qiKhethaK90MnjjqeywHuenxxSQfx+LZo/ozaYv6ZZP3pKRwtHtHLs6GL0oOuBgm81YtckpDLEsv+XYg/Yy21nR88MeiiqRUHHGUCGzw766aqKIYySCCh8mBy7J6u+qzvOyt0vdmNXJFxbb9R0NA15Bdobr2dgWgyRCIZxK46CyjkHpK9nBVjU3TAEGJFrPWedIApMxtqU5fTLrIlCeNOkOjxaYMGP80RqFJvoCgzZJyqce/lcHkF4vfw8BJndqkbFEjpzoJGEycQ6u9BNT/k2mf/pqnZuAaI3yZIv/J5LpLORlVQPwfdGTJbtOMJzqErk7NJBvYGixEk3NhKw3w== X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB810; 31:p2IBulnEmXuLD3V5rbu8BmHc0r6oO1Y6N1AgUL0NY4zf3za5XsEnhHje+M8nhm942JcRI0CclKXATO8l/VL96QDs7xOCi5jFlxtW1fcCk3+u0KDOFJSb6Oq7TREuAiLAFS2+56c9Gk9C3LJ1EYEQczA/GuoIb0NBXd/9xGvlO/noCgnMF695VX1mGlBmJQWVwjnCwWI8+TirnhFowyksu0stMI9VSRWazMnd3Ipb2g8=; 20:j81jZwY6GXTGGSS1jkJC6FZLZBg405CeXcaDbFRsQra1J4jHUeFWANw3J612Yt/zk/MSxdyKq6UWNShoXQKGnpUn0lT6lL5tmY34TGMlOA5nmD4KpUqSvtGP13mqAk6nnKo+QUVfR4mOpbZcQv0p+4NRKGWc+VfbdgBK7bLaO5QXe9DvTc6+V7tzWKWonlH10NO4xgn8exnHyIvRM8zBYxPRGaCon/T4QPJeHSVnnXpadmyffL1rSxvz5HgYDF9P3Wbi0I7MaAm8fQuuPm4VQGJ8l8GTehIXVKRF0K9HYgrovPxthCErzryM7hhNFR1JRxs/q/9kqmAyapeWyYXjv60D4wp7ZqVdvwD2S9De2Bo9nPng4YTVvlXYVIaKVykZueZFqP7AT3d+zodUB6hpF8a7co7qk6RBK5MOOfs2dpHhRuYl8sepCTkiwNzRF3f3cBnnqiTj3Blfd8Ho8Z1hKNDk6s4GNubqwL11JarmyXU+rxpVFAwnrKn2L/35mQBjb97O4sdWiwx6OBLb6abSEob+E48RyKSAFnip5GBJdW0+cL43zVqkyiJvT1SQapBY360nUnJN5puKcryiF1W16LRx1kuUL1524tf0deYJFEM= 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)(93006095)(10201501046)(3002001)(6041248)(20161123555025)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(20161123562025)(6072148); SRVR:DM2PR0701MB810; BCL:0; PCL:0; RULEID:; SRVR:DM2PR0701MB810; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB810; 4:XvkF46JmGVQbwFV7dbLmHui1K3stpoM7Z2J1oK0WEZ7jv/JgGIKQdxF0O4JM8PudXj1acI7dEKJJnMxzkF7XNrIyOiiVe2aijtv7RXID8PR84HlQqsY56mWXbeWGC7im88IHbfzxHZ6MY7yC/v29V0QZmDoQpSs/sJYRZMi3LkV5gDHUQfD2n3ZHaxHRsFDVI+s0vzZYjk3EPyLkuelPmSqde+A5mgPd+EoAziyQb6zaEK5GLw3eAxP7kf7nVf9F2m6RibZwxXAlUjWfmDJKhgprvz51s6grL+XIWd2euIFBZWn04tprUFCsa+SBJobGQcFpKzRZXhvwtCZDDB7V5xML3Nv/nvzY6GLFqEMW6zQy3iVaXVTrwWiqFit4dK6sw9xcUsSJDUr2hCbcbVPgeJtdJbqXDEvNIog39sVAsGtnG4468yJbvMInt/JTTkhyPLlDjDFU7lYVM7Jl14CP+iQ4ZODuFhDs0+NGJMTRAc9eiKDRt3CVUYPTeqiP7a8mLiDbNH0bfnhep66AyfhTLWuiu7fkpt7fACmX1E0eZu0nrcNXKWgEUtwYN0TxQUbYIypHPKNcVfld1WMRT8cMMaXA+Qw7rzDqtMJuRX9EAoZz8Cy3JqTyPMiGpmIQmUvDuy39hNtQfITzLWAchz1HDqW2iO/mNdm226cApMwSnb/2aqoG2FK8pxfFx9pvu1Zp0saCIm0GaPQevXepJ4e5R5X4b35iGmQcakXk25QZ6tUO6YeUzNQJEzWQcG+zWscu X-Forefront-PRVS: 02698DF457 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39830400002)(39450400003)(39400400002)(39410400002)(3846002)(50226002)(6116002)(47776003)(33646002)(6506006)(189998001)(6486002)(48376002)(50466002)(36756003)(66066001)(8676002)(5003940100001)(2361001)(42882006)(110136004)(107886003)(38730400002)(76176999)(25786009)(2351001)(575784001)(6666003)(81166006)(42186005)(15650500001)(50986999)(6916009)(6512007)(7736002)(53936002)(4326008)(5660300001)(305945005)(2950100002)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0701MB810; H:angela-H81M-S1.semihalf.local; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0701MB810; 23:PPrYOB1RCifCFHX7Y9fCp9kOy3/5X9d0NafeRe3T?= =?us-ascii?Q?lsdj6cVb66IJ7+Rqs38P42+Z0GVtPNLbH5FfvfXRYHohEvcFofNkgOYYEvbT?= =?us-ascii?Q?3U4QHJceXW2218R9KJCEe41rnBQccWwXKbhroRc8yRtn+NyEKACJtKu8yrpI?= =?us-ascii?Q?BZ5B2YLLHQa7YoX++rKMX3AOaB9COtbTPKW/dn73D8agb/rwwJvklWcXRtDF?= =?us-ascii?Q?XaVhuN5rLTYrN4I5Y/6m9U/XTaxzfbXVlRMv81f/t4hGDZ2Us5v40IUSBequ?= =?us-ascii?Q?QSwfkQ2NK7y/znKscGiyXhNBPRCRM6sqOq52DGQaQaF/1ywZAgjfxUHhSY9L?= =?us-ascii?Q?FsZQ3gPTL3BoyObzZu3bNkuUvBBmVFEoPmhPjNEFOsKH/WLVuw0Lqma55bJ1?= =?us-ascii?Q?ycpMBT8DDuGmltUZJl+Rf1hZzc/4VDYQoZLvF7vnQgx6Gt/EbeXoTJUxGn0Q?= =?us-ascii?Q?FPQy9BmNv0vpOet/CDv6I+0YYZfmsJrPh5wyjMGIkHH0yK/XnMna/8R41jkv?= =?us-ascii?Q?k1e03LXQlZgmoVlHwBGMlXTdUTV/aNLArpD7GXO5HwicLRPHpT57H5Ac+fUT?= =?us-ascii?Q?AXDyz5mC0/jhgAca07ZFN2fkUuhMxztu0xCtU7SHzD2NqwAmwYX/97ojH9Gh?= =?us-ascii?Q?48SX1cQP70vLTvUm33QGu3B4HNdLEVndVDf6JdHh1b4O1zqIkBpbmycAUTqQ?= =?us-ascii?Q?RDx3evDvtkzwN/OQ+dlXLq+5X6uYhMi355/2D8ARJuzK/+RQd7MfSWe4FYlW?= =?us-ascii?Q?OpUATVPGt14Cj24ai8u9HoKpZj+Nsr4WAUbYMuY27nMWTMvg4avVUNvKGP1n?= =?us-ascii?Q?vKCf40RGADLC9g94LFHttM8abFzq8qIyUdtSaid9VArqkYNpEVJl3B5aS6Dy?= =?us-ascii?Q?tyJWVafuvN8GMCtJXuroa+SeJksbfz8ath0GRCE0LiLXNPh4WLmp5m0vmZF0?= =?us-ascii?Q?MkobJJndIGpuMYMeh1wUIaDBkTinkHqv+sCv36sRtkvDl7/MetgrokDM8TMw?= =?us-ascii?Q?OCagHjI4ZdKUJn6+DwN/GZ+bnPT10JWXy2zFjIy0rWIaIp8rvjksKqVn6+hO?= =?us-ascii?Q?85FSK/gIPEPtFHfAzIABIkYpjtWS?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB810; 6:1UHL+KC8UIKfTggpvnFN8qXQlOE8HI4fsARhF3Q3yV1NNPKYtBkUBTncr4ousSJNNEC76f+U4lKgEIFPltIWfrA0yTpv2l+Ht6IgR2zE3SAMmVO2J7ttrcbAuJ5LFD4GiNaDzPAmkdUq5cTv2BiFTC0i/oRFwcSxCGqteWN8PXX9FG6pvDoSHwR8PcIIHpeGibnMiha3uZp/eiQLJ1r0ANWeVg32ZDM16EjSmhgp4lLZ+w4mD93Z3ujh8TjXSFxZPE+pS/xEMrzVg3Iss8NhVDf/ACh5ATnSdgpWOP0iCdq6aRym3KcnWoDIzgr34w8T9UqfQ8ZuLuqJj20ZCQq5IChZPjnFZaQMGgPVOMLykz15BMuSWbgoVJkedm/9CWtRIKSXYMFxkGDOewOYzkeO7g==; 5:rt7ihTarVlr9detKir4Gkz54S7QGQLxwm4hBqGM6MRnFKfKFft2zzprh19nWDcRIMLoaqKY9umHDDtRwdmr9yu+joxEMnCeeUJbxG15ZdN0TEBTRt3WoPrVFt/zD31YLqdvgI3iUahDV2AJuM9xx3Q==; 24:fD/y4xTdEXXAIffckiT7FqgjEePFVDzfBbnlsm/VHJ36VjFi2yzcT7p2UyCUp6X0yxP3inCoVl6odzVWcZqUSMAKCPMkffed5hIVrDMMKrQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB810; 7:A+lPODm3T97+o0A2fyWVh+1Sp4eLHv1yvMmz2juSjKMzF9RsGMDZG81g+ERbs8gH4kOQm++Gq4wPaLexwJMDNFEIPxsTdHV8pEPTrWKaSdMoaVLPIGLlj0vdrq6aoZN8A3wzuZ9oSzaThDNKX8KvmeOKDlcfSt7fMRODYJH4UaZbCfJq0v/yw5xTUbz9KhNFrr0TugZuWWc3d3OPnZsoceleM4xos4YeRrv1dd6JiaRo8UtwgIZmr0mslVm16VOIZbuW+k1q1mXCyfGqeIFF4+IwNuuUQs3mV+xVJPhGE11jEK/UvtBKcnm7122eFxl7GEA0PERY5UvmAshy4jUjDQ== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Apr 2017 17:52:10.0250 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0701MB810 Subject: [dts] [PATCH 24/26] 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: Thu, 06 Apr 2017 17:52:13 -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