test suite reviews and discussions
 help / color / mirror / Atom feed
From: Angela Czubak <aczubak@caviumnetworks.com>
To: dts@dpdk.org
Cc: Angela Czubak <aczubak@caviumnetworks.com>
Subject: [dts] [PATCH v3 23/27] tests: uni_pkt - taking into account cavium NICs
Date: Wed, 19 Apr 2017 14:22:16 +0200	[thread overview]
Message-ID: <1492604540-12114-24-git-send-email-aczubak@caviumnetworks.com> (raw)
In-Reply-To: <1492604540-12114-1-git-send-email-aczubak@caviumnetworks.com>

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 <aczubak at caviumnetworks.com>
---
 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
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
TE!EoJ`~9uz$wnCPPv-v{JrESQ

literal 25600
zcmeHQeQ;FQbw6*lE3L$b5MRb%;34rLKwu$(48=x##Mn%Ppf)jNj7Kce6R1eLn$-%!
zj2YzC=^wS5I*{Vp&?au;W}3K3{n0v|x;38h*lkB{Gj15y4&yo<*ON4zw5E02c<gL{
zzkB!XzIXTS({7w(+R471_x9cM?){x}&pG$pkG)U&*55U~{rFQ0zbnSEO={%F*?Ot<
z&@J4zyXjei=h-Zi?)Qzj2dR4eKhi*b9EPlo$+3=C>;8Jel3E!2yAqK<j=qSi$Uosc
zETg=)f1bxqB}2lZ442_}w^+4efmS1zaBY(7DUr-p*E#C?4VCwKb-e{o{vGwWvgNfU
zn~_gY_E2QI%J-Y<+N`cKakb<*Rpw1a*&s{gD)PtWVY+)nj@DVbBq75xBu6EU>(494
zLisBQkUi_l5wmtE{*<MB8S1C3$J{A$Sh7)`r?N}x!jk$aazy01DY!&M%K=lA)Ob@U
zMw?~H=1@7JQ|7n|ZwSY@Dp8rP<Oq{=Td1V;uZ>gYxOs{kmUM^K_IN;TM{+)#$a#<j
zKM%L9NJB|EmPBum7%VHz%bQ!;T3XusR&PDr>Lw1aUJ_k~{^JJU^SkeG2JZ1^YL+@#
zT*$P(-H(Gbp;kfEW;2(8mdkpRtdS0pK8mu&b|uRt54S49;niDngywb4kh`ySdmp&0
zm(}>7sJGl2+goUj?JLnOZSqTgX1WG`eo8bC%kJ(1(=J&HdlZ<u<@0>q!iu%G<UIMZ
zAbvN0+8Jx!n!EO<nwLZu$`djV4-TZq9X!c>?M@7jIe0o({y-Y>bYBwB^kr}m^n2th
zsEu{EESD$kb<p8Gi2b&-fY^dhyR66AE`3nZR=Hd55Jv`7o>rv7%N$0Tx6#IVyq~qz
zx4vAqN#{7DO8@EUfx5L|yZjL`^!#k@N%RYT{paa_RD%B167;W^pkFLO|3(S=lO^cC
zTY~;z33@4cO5s1FaO$8I<%fAa{9XyVmZvzsmZzBh<q|kgm7qUcg8r8!=)X~d{%0lV
zmCExc3MXEqAMGdgF8%XOO^-}_WST@TsQe9i`rzOTOJ7(j(dQJs7BNrh`G1f>9j<?_
zE<tZAL0=O{p9V~Y|DQQ{(fHF#&}X>xyxp~*&vfbEmi@S0iqWW&AK_EuYdY9zI-;>l
zw{eSX2HlXS$<1%jXS?*gK6QJU<I=w^M{v8)#h>fa^YVX9$r*F$27W%?UTSKZKW#qj
z^_a?!PD9HNzS>^ej<p!$1=(x9o8Q34sKC`jLS$QBZwp+yksoAmu=%AA#H;(_bLBod
zT>jW8bH<<f&YAc+Ipd=<LqukvAF08e#bmCdnu!rgq__aHR8&9@fGglYK`P=9t+W75
zTM-A^yrKeil@_2;D&oMfQBeWLlZpy35L8rv5u&033>_5}U`(l~0E10vfgMJBU=*q;
z-5xmEsu5?9F6R#1&csa+hNdz==!T_17{|&0p=*`~VbCiBgzj1zWNvvNbm7t<43A|<
zLbomr!k9TF$Yf8rbr@jF013Aaqj4D^;numnJdkkfpd%|sl5p!RDi0*wI+(9|BtgR8
zm*}?B(HU+X%xB913AfIY@<76^gPyk>Ny4pTmj@DVon_^Lgj)wo08>{-ut*cu09(of
z3AfJj@<76^v!XnZaO<or4<y_=tI7ijw@zywgyW@4Qk(US!`OECAp6SSW((o*b4KU2
z8ae7z=f%7qoRMIVYuB#jLF#hAXV0F^x+@iN56#XU^&T3q)zJ_@I}<mBT7$e=C=Tq@
z;T>VRHGATTCyIpX?(QxUiZoLw(p+p;C@-ye6uTDLL&pW?IJvFT0_!R*u)fj)H|7h_
z+BBfgWr{1^o-aU4aCm1FFvl@iTFZqDa===?pMz_<m;cS{lqLw)6FqT9`GD8{bT$&h
z<4$KeAldG4kd5VlnEjLK2%7*>@SLLR6l=Z9SAe5%L+fUPxd}N6t+>1UWU$t=laCfP
zn4exNHm$fBLh12NU}$keMs~u=3spQW-r@tf<dpEI><=z^Kuq;)&8vsXFPgEsPMOV4
z=0V&b_w>_G7sV6O%y>c?u+`zl6ECee$lZ**UYj8vd7a!9Dk$>)?1J1a5USv+MVcyh
z)os24rf*wk;-4})oNg3|mYyw9?`GTfws*I~DVAh=UJ|++jN#X3ae*EA0)bv}J~A82
z{g`idw6Cz&**p6Con&Uix%gf=$Id->SkWcf8Cbk;mla~mI-EPCA0J1OlHm^xsEvgm
zvFf7E;MI5E%f@)G^eWjETrMG-CX-D^F`MQPHacD^HZf=L+STs_vzcwO=`3cmGK7te
zsESRkGx&q|-U?<j$7Hjyn9Z6HHag}iHg(S6JOB8v!EEN5Y&I3MSs%iNQ8{OuxHI_X
z5C0>W%{-G$S23H85H^hEIX3mq;78woBbd#6ve_8!X-mOoV;P<{+4IfGcY@hmXR-<K
zw3ZMyUQe6sdH0*o1+!UTvI+3CRUvG=o;KO@5AQr5%;tKNO@ODZ4PoQ;w8@^y%Wnp=
zS!l8e@U$C4*myl{vgf(Cz8B19k;x{&(>g=gcs*^h=ff+{2D7<=Y`Vfd%?6vUGCZxL
z^S7UQU9*9kb0<zdrY$zv1bEu=5H?;<>*##*!smn8EHT*xcv@=+8?UEzbiVZZ#b7o|
zO*R3Z))vCX>uDXGPkr%~U^ceNCcx9$L)dsdt)uhYt5<{BEHl{zc-qDgHeOHb==|V?
z-wI+g9XkjxmCpB@JB)sFakj2xUn#Qh{=WzYZ7G1lqfF3c2B_DI@axU~y}_W%3!v~H
z6Lf_E>h&3si+}#<V9*r>P<V?8y4nEsdWgux!0!ixt}KAUH%!oV2B_B`L_YcC%fX<l
z3ZU==6Lf<C>b1Vee_z-g1R9rCj^lPF2F}H|_$_ZO%GStEObrL}U1N;HHLO!`bi{iu
zX5=EtEbL{#ymMD#xPN>&kr_%Q&&BWe14ia&r-|M-)-U7Ov6aBkYe-TUf^mq=kpw|G
zl6Dzzp+hmK75r$0hnxmk$m~tUeW`k1>U^XT8(%Or+jZROKVk23hKJ9^&l+-Fmu-Mt
z$1xb}mlGHo?!w(LK3=J~h@l3B-T>-K#esfpUMih(rP3)^DxEqXiOSlEn(Vo_?H46h
z117tmk`a6oU?sx5Z4<S~+iK*k#a7fpUK@++?bvwYmRUCuMVXaGnP@hSGUM1ZmsVrn
zemR{lv3{ZsCDt1y>ax>|O89xrlN-6==GIfA!--@flS-eq4>+eX=i;~dp(2~Iv*cDe
zg`JbMeNx#!1wl?j=LaCpDfk2DHLmq(?3{Z=rG26v(tXl^tk2Gt-Ov}!m6Ce_G61mK
z0Xd5MG^j&hbRrL12Oph~2^Y2=Lw~F++?Gng|F`<Ft%cdB+y>N?(E_+A;);kmxL7kW
zy}(M~?M`A~D0$4r6vU{1%`6z~c8J9$MX`=SR6X@jo`rU}bk7+LM-Q)qWIDc{kIa-#
zFE~P~3EmU{uES~x@ND;2Uf|S#;2XW*2(2dg>;P~bUQ2-M5l2LUZ}Ng8#2Rs?W=;S&
z!>o3MI<H#T7`i6na0CM+5?3H4&8`+_^2446xd~1tdy=E$aMN+W-6M0Mlsz!dDB1}f
zvJjfMFymUDt2ZArG|j@kO88^XQ1XN`kc&;GgD*hL?8!N?cJ4xSs>!#Me4KP6BUfu`
zq5bKy1@cR;GoDE&5c-Tx!@2>TMlW2FHBG}Y8T9ltNX2?A*SPh)gf*RfV?-N*4Lbdb
zvji-A(Ol9hco8aRLJPO(Ida8kU~eF%=Dn%(NMhLTI3KCU&N=vcZz|)Qiy!raMjFrx
z37UbFf(pCc1XqFF_{$ZXLa(4xZv53LH~#9>`N%Z6S@0{wzVVE5fqM<6^8me1DW%v6
zy!{iyxz7nmC`h7Ht|U6;N}^MA=vyXYQ08*K2(cI}vtPw9ca?%VJRfP0ZS>s(Lz!V{
zYlFX3O(X1e0Pd23C8@9CHe?Z^TS25UbO~djq~>}BL4|8~h$=7hErw9<ZgkSMbyM`Y
zCfSazTn;AENd`jQ7j*jtjZ8zgau6KSXlQOM4C(_o;!qm?Z2XXX*0ZAXFlyI?&jElO
zRkghnBA-@wdr^0W*l{@G7HDxuPAU&7<Y1FJhAy9LKV5PJ`<6vMgIc}Ds0Pot^SI+=
zHjwf|E^WG$4pK5)r*tWukHr_rV;;G*uj}Q@FX2UkFL|D^+(U463!fLQI8Ko(n<Mg}
zyb|G$1pL()T}Xdo%(0V+5eHK3yA$!Rch4?3YbKFC=41fZpBfp#BG(w6?C9yi`t4vU
zojEx)JnZy2iDSb~TOmC*I+PyD6cPHyV3}bDybk`d-8(*V)Jel)!yTh1GJOM1#_7*2
zXVM-`^q+7twkFxB<nU>GY<zSS?2xc`-_?Wt5PSCb4JG^b>_54&FEgG@I>U2FJK1GW
zXN!!c?sd{i&bH)GBAFTLhqepFZC!k7rruIrWtZCN7puH-y;@E?ksPpxIybd@>)Vy9
zFErPC*KK#)noGivDp?)_=y0xEUaQfC#rR$03?=QM(Uav@6n$Mmnl_avTNc#iu2UGs
z<?4bTqEyl@8z776WL(bR2Pr_w`}lqU--|F3`6`^f0j7HtUOg>78>h%BbT&uu{QDo_
zBK`6CIC-a!`S?P=fFO1O4e5gC$<BYa<RWMnJv27Fhd_JCLn98me*H$zEZ-YF(;`rO
z?m$D3zrif*SJ2pJfFC=V2tr7sx^Kc&FvN|^hky9qYkQCG@9tCdHHyAgU4K<kCfKp%
zjui;)B5l_Fc=95)mkT$a%de^252))(<Q`PVyWQN%@7}lOQNGu`+H=2G-pXNroG&XX
zwS3#62F7I|`j>`Od;s5#cpHc{KNR5rpa&r|gAWJMAOG+MMe34iE<>5fkHdQ`=$&%$
z&89<<Ly=B({C&6kZOJ7}Yc3TOZGy<n@G^aT3K;N4<%=TASJIxM(!?KG%uQrE9pRI$
zh37S#7RL)|*wS+I3r5U5=r!yJkTHS@kh*WvRka!wjfq<LfO?ptQ38_&UPUx|kC_i0
ze-VxR&3xP&VbZ8DFYP1MGSqflJkcq70fp76i1L3oRf81e)X$<wk&8~nkfOXyu{>&@
zPZ5)H>t_)xCQ)LYB4*(kQK(Zsqm~+#ggWI#p{)uieE+S0!U0bs*Uc0P<!w~IhZBW<
zUC3Djlt$$l`k5DnBkM+dGzx3h$SJPEWcOV_iTY%T`efnAsSyJPU5@o^#DK+3c~S5K
zlcz>8A4*K2p!-zZsk=s*lTUe3YJDiRK9pL8!YIVr(sGR|9_f@9rOt;^=R>JeD2&T2
zM;kZtU8h{iixT&t#C<4ng~EMyugiSd3?qFJ!?@kP&o=zt_NT0@Z07~fcsz*s{-Cer
zM^HA3`ZVBmDflO$8D8S}#A1&^h>^v|;@8PBPay<3#-5r_g!K)&Ju9ZXV957>w_jk?
zWKW}`COy*1y3x}8#$sKCQPYibc^!zdiAruS5Cd(ZY@ze$*e9^S$F{<+<G1*#6@Hdh
z@R;=%`1Z#bm(;2$p<fAf<+nfcg=;_BcYM~@J{Om@tDboS16=tXoQ$Y^z8xp~i`#KB
z<{ZGu*nI>iN5rRavUhp_C!_eoIN8^|gF@Wf%CbDnd&Z-^L;dO0SZXk1-+HRw8P<{U
z@_jQ}-gw#Cj^`84I{)?3``@zI>s61c2C5pUYM`otss^eWsA{09fvN_o8mMZZs)4Eo
zsu~E_K-m00a^=-4m)0+ub^Z~||J#1_b<Y1^!pXTl=l`7db47GNPVDWFLpV8iKZ29<
z{o^>femaVi>i}F2;JU!$INfysJ%696%7a|;dkKJ<munCD2kXLZN8z?prXwT4xu`&)
z4yMv4#`p{Om?~dgFMv*}M^yt=4OBHy)j(APRSi@%P}M+H162)FHBi;SFPsKAkLPrm
z^J4xU&n-pVio|&~=lR^D#$BbHN^|bcc|3P{alaVn`rPBi-~2h>clUjA&d+s$1vt6Q
zn}6Gjf0~PbS&M%di&Jy{&j1_W%WyX1Y{9u4=L(!Faq@X9zE|U1gL5s;Hk|8lV%M>H
z{t@ypU-kIOHE;)B7U262Hr`g_pNHTZYLy)GC8l<mQ3Cpr9p_c#vbyHBvg!N$)%|}F
zBpd|yG+tUes^mD4&r|LV{sTasKV>Ml+z0$yCpcnqr+RgQuOPDSd>Lv`$wW%wolTv)
s_}U8oY(s26<?>%j7&aapG5G|z@g30->_4UjDwAjPPf-6=WSrywzkQe=82|tP

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

  parent reply	other threads:[~2017-04-19 12:23 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-06 17:51 [dts] [PATCH 00/26] DTS support for Cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 01/26] framework settings: Adding cavium PCI IDs and drivers Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 02/26] framework dut and project_dpdk: using correct available binding scripts Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 03/26] framework dut and project_dpdk: binding smaller number of hugepages for arm64 Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 04/26] framework crb: Appending only 10G devices for cavium Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 05/26] framework project_dpdk: asserting loading vfio-pci by using DPDK binding script Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 06/26] framework: checking link with IPv4 ping Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 07/26] tests: ipv4_reassembly - added splitting result in tcpdump_command Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 08/26] framework: getting DPDK binding script moved to a method in dut Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 09/26] tests: Modified tests to take cavium nics into account Angela Czubak
2017-04-10 17:08   ` Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 10/26] tests: checksum_offload - fixes Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 11/26] tests: dynamic_config - taking into account cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 12/26] tests: fdir - skipping fdir tests for Cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 13/26] tests: ieee1588 - skipping ieee1588_enable test " Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 14/26] tests: jumboframes - skipping jumboframes tests testing bigger than allowed frames " Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 15/26] tests: l2fwd - fixes to run on two cards (same NIC) and expecting "L2FWD: entering main loop" instead of "memory mapped" Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 16/26] tests: link_status_interrupt - skipping test_link_status_interrupt_port_available for Cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 17/26] tests: link_status_interrupt - skipping tests verifying adding MAC addresses " Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 18/26] tests: pmdpcap - modifying the right config file + importing utils after scapy Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 19/26] tests: pmdrssreta - skipping tests for Cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 20/26] tests: queue_start_stop - taking into account cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 21/26] tests: quota_watermark - skipping tests for Cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 22/26] tests: short_live - taking into account cavium NICs + fixes Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 23/26] tests: tso - taking into account cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 24/26] tests: uni_pkt " Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 25/26] tests: unit_tests_dump " Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 26/26] tests: unit_tests_lpm - asking for lesser amount of hugepages if they are 524288kB Angela Czubak
2017-04-10 17:08 ` [dts] [PATCH v2 00/28] DTS support for Cavium NICs Angela Czubak
2017-04-10 17:08   ` [dts] [PATCH v2 01/28] framework settings: Adding cavium PCI IDs and drivers Angela Czubak
2017-04-10 17:08   ` [dts] [PATCH v2 02/28] framework dut and project_dpdk: using correct available binding scripts Angela Czubak
2017-04-17  6:35     ` Liu, Yong
2017-04-10 17:08   ` [dts] [PATCH v2 03/28] framework dut and project_dpdk: binding smaller number of hugepages for arm64 Angela Czubak
2017-04-10 17:08   ` [dts] [PATCH v2 04/28] framework crb: Appending only 10G devices for cavium Angela Czubak
2017-04-10 17:08   ` [dts] [PATCH v2 05/28] framework project_dpdk: asserting loading vfio-pci by using DPDK binding script Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 06/28] framework: checking link with IPv4 ping Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 07/28] tests: ipv4_reassembly - added splitting result in tcpdump_command Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 08/28] framework: getting DPDK binding script moved to a method in dut Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 09/28] tests: Modified tests to take cavium nics into account Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 10/28] tests: checksum_offload - fixes Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 11/28] tests: dynamic_config - taking into account cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 12/28] tests: fdir - skipping fdir tests for Cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 13/28] tests: ieee1588 - skipping ieee1588_enable test " Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 14/28] tests: jumboframes - skipping jumboframes tests testing bigger than allowed frames " Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 15/28] tests: l2fwd - fixes to run on two cards (same NIC) and expecting "L2FWD: entering main loop" instead of "memory mapped" Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 16/28] tests: link_status_interrupt - skipping test_link_status_interrupt_port_available for Cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 17/28] tests: link_status_interrupt - skipping tests verifying adding MAC addresses " Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 18/28] tests: pmdpcap - modifying the right config file + importing utils after scapy Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 19/28] tests: pmdrssreta - skipping tests for Cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 20/28] tests: queue_start_stop - taking into account cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 21/28] tests: quota_watermark - skipping tests for Cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 22/28] tests: short_live - taking into account cavium NICs + fixes Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 23/28] tests: tso - taking into account cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 24/28] tests: uni_pkt " Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 25/28] tests: unit_tests_dump " Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 26/28] tests: unit_tests_lpm - asking for lesser amount of hugepages if they are 524288kB Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 27/28] framework: Adding linkspeed parameter for Cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 28/28] tests: pmd - Recompiling DPDK only if that is relevant Angela Czubak
2017-04-17  8:02   ` [dts] [PATCH v2 00/28] DTS support for Cavium NICs Liu, Yong
2017-04-19 12:21 ` [dts] [PATCH v3 00/27] " Angela Czubak
2017-04-19 12:21   ` [dts] [PATCH v3 01/27] framework settings: Adding cavium PCI IDs and drivers Angela Czubak
2017-04-19 12:21   ` [dts] [PATCH v3 02/27] framework dut and project_dpdk: using correct available binding scripts Angela Czubak
2017-04-19 12:21   ` [dts] [PATCH v3 03/27] framework dut and project_dpdk: binding smaller number of hugepages for arm64 Angela Czubak
2017-04-19 12:21   ` [dts] [PATCH v3 04/27] framework crb: Appending only 10G devices for cavium Angela Czubak
2017-04-19 12:21   ` [dts] [PATCH v3 05/27] framework project_dpdk: asserting loading vfio-pci by using DPDK binding script Angela Czubak
2017-04-19 12:21   ` [dts] [PATCH v3 06/27] framework: checking link with IPv4 ping Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 07/27] tests: ipv4_reassembly - added splitting result in tcpdump_command Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 08/27] tests: Modified tests to take cavium nics into account Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 09/27] tests: checksum_offload - fixes Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 10/27] tests: dynamic_config - taking into account cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 11/27] tests: fdir - skipping fdir tests for Cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 12/27] tests: ieee1588 - skipping ieee1588_enable test " Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 13/27] tests: jumboframes - skipping jumboframes tests testing bigger than allowed frames " Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 14/27] tests: l2fwd - fixes to run on two cards (same NIC) and expecting "L2FWD: entering main loop" instead of "memory mapped" Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 15/27] tests: link_status_interrupt - skipping test_link_status_interrupt_port_available for Cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 16/27] tests: link_status_interrupt - skipping tests verifying adding MAC addresses " Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 17/27] tests: pmdpcap - modifying the right config file + importing utils after scapy Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 18/27] tests: pmdrssreta - skipping tests for Cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 19/27] tests: queue_start_stop - taking into account cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 20/27] tests: quota_watermark - skipping tests for Cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 21/27] tests: short_live - taking into account cavium NICs + fixes Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 22/27] tests: tso - taking into account cavium NICs Angela Czubak
2017-04-19 12:22   ` Angela Czubak [this message]
2017-04-19 12:22   ` [dts] [PATCH v3 24/27] tests: unit_tests_dump " Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 25/27] tests: unit_tests_lpm - asking for lesser amount of hugepages if they are 524288kB Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 26/27] framework: Adding linkspeed parameter for Cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 27/27] tests: pmd - Recompiling DPDK only if that is relevant Angela Czubak
2017-04-20  5:55   ` [dts] [PATCH v3 00/27] DTS support for Cavium NICs Liu, Yong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1492604540-12114-24-git-send-email-aczubak@caviumnetworks.com \
    --to=aczubak@caviumnetworks.com \
    --cc=dts@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).