Maciek,

No.
There is a breakage with VXLAN. Here is the analysis from Neale:


======================================================================
ERROR: Encapsulation test
----------------------------------------------------------------------
Traceback (most recent call last):
 File "/vpp/test/template_bd.py", line 91, in test_encap
   self.check_encapsulation(pkt)
 File "/vpp/test/test_vxlan.py", line 53, in check_encapsulation
   self.assertEqual(pkt[VXLAN].vni, type(self).vni)
 File 
"/vpp/build-root/python/virtualenv/local/lib/python2.7/site-packages/scapy/packet.py",
 line 817, in __getitem__
   raise IndexError("Layer [%s] not found" % lname)
IndexError: Layer [VXLAN] not found



Is more subtle. 
The VxLAN encap test passes every time when just the VxLAN suite is run.
Here is the VPP trace with the VxLAN encapped packet:

00:00:02:549965: pg0-tx
 192 bytes
 current data -50, length 192, free-list 6, trace 0x0
 00000000: 0000000000000000000000000000000000000000000000000000000000000000
 00000020: 0000000000000000000000000000000000000000000000000000000000000000
 00000040: 000000000000000000000000000002010000ff0202fe9a2f300a0800450000b2
 00000060: 00000000fd116317ac100101ac100102dc4012b5009e0000 <<0800000 
000000100>>
 00000080: 0000000000010000000000020800450000800001000040117063040302010102
 000000a0: 03044e202710006c2582a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
 000000c0: a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
 000000e0: a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
 00000100: a5a5a5a5a5a5a5a5a5a5a5a5a5a5

Scapy interprets this as:

###[ Ethernet ]### 
 dst       = 02:01:00:00:ff:02
 src       = 02:fe:9a:2f:30:0a
 type      = 0x800
###[ IP ]### 
 …
  ###[ UDP ]###
   sport     = 56384
   dport     = 4789
   len       = 158
   chksum    = 0x0
   ###[ VXLAN ]### 
     flags     = 134217728L
     vni       = 0x1
     reserved  = 0x0
     ###[ Ethernet ]### 
       ….

Note the flags field is a 4 byte integer with value 0x08000000. As was in the 
header.


When the VxLAN test runs along with all the other tests we get the same packet 
in the VPP trace.



00:00:02:726784: pg0-tx
 192 bytes
 current data -50, length 192, free-list 6, trace 0x0
 00000000: 0000000000000000000000000000000000000000000000000000000000000000
 00000020: 0000000000000000000000000000000000000000000000000000000000000000
 00000040: 000000000000000000000000000002010000ff0202fe994605ca0800450000b2
 00000060: 00000000fd116317ac100101ac100102dc4012b5009e0000  <<08000000 
00000100>>
 00000080: 0000000000010000000000020800450000800001000040117063040302010102
 000000a0: 03044e202710006c2582a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
 000000c0: a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
 000000e0: a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5
 00000100: a5a5a5a5a5a5a5a5a5a5a5a5a5a5



But this time Scapy interprets this as:

###[ Ethernet ]### 
…
 ###[ IP ]###
   …
   ###[ UDP ]###
     ...
     ###[ VXLAN ]###
       flags     = Instance
       reserved1 = 0
       vni       = 0x1
       reserved2 = 0x0

Where according to the .py definition of a VxLAN header:

class VXLAN(Packet):
   name = "VXLAN"

   fields_desc = [
 FlagsField("flags", 0x8, 8,
   ['OAM', 'R', 'NextProtocol', 'Instance',
    'V1', 'V2', 'R', 'G']),

The flag ‘Instance’ refers to 0x10 not 0x08. Bit shift left one.
And then, according to the error, it cannot find the VxLAN header.

FIIK what that’s about.

Neale

> On 12 Dec 2016, at 17:19, Maciek Konstantynowicz (mkonstan) 
> <mkons...@cisco.com> wrote:
> 
> Hello, Does anyone know if vpp make test is back on track to be ready to be 
> used for vpp make verify jobs on a per patch basis?
> 
> Being lazy I know - cause I could run it myself :)
> 
> -Maciek
> 
> _______________________________________________
> vpp-dev mailing list
> vpp-dev@lists.fd.io
> https://lists.fd.io/mailman/listinfo/vpp-dev

_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev
  • [vpp-dev] vpp... Maciek Konstantynowicz (mkonstan)
    • Re: [vpp... Ole Troan
      • Re: ... Matej Klotton -X (mklotton - PANTHEON TECHNOLOGIES at Cisco)
        • ... Ed Warnicke
          • ... Ed Warnicke
            • ... Matej Klotton -X (mklotton - PANTHEON TECHNOLOGIES at Cisco)
    • Re: [vpp... Maciek Konstantynowicz (mkonstan)
      • Re: ... Klement Sekera -X (ksekera - PANTHEON TECHNOLOGIES at Cisco)
        • ... Neale Ranns (nranns)
          • ... Maciek Konstantynowicz (mkonstan)
            • ... Dave Wallace
              • ... Klement Sekera -X (ksekera - PANTHEON TECHNOLOGIES at Cisco)

Reply via email to