==============================================================================
L2BD arp termination Test Case
==============================================================================
12:02:21,850 Couldn't stat : /tmp/vpp-unittest-TestL2bdArpTerm-_h44qo/stats.sock
L2BD arp term - add 5 hosts, verify arp responses OK
L2BD arp term - delete 3 hosts, verify arp responses OK
L2BD arp term - recreate BD1, readd 3 hosts, verify arp responses OK
L2BD arp term - 2 IP4 addrs per host OK
L2BD arp term - create and update 10 IP4-mac pairs OK
L2BD arp/ND term - hosts with both ip4/ip6 OK
L2BD ND term - Add and Del hosts, verify ND replies OK
L2BD ND term - Add and update IP+mac, verify ND replies OK
L2BD arp term - send garps, verify arp event reports OK
L2BD arp term - send duplicate garps, verify suppression OK
L2BD arp term - disable ip4 arp events,send garps, verify no events OK
L2BD ND term - send NS packets verify reports OK
L2BD ND term - send duplicate ns, verify suppression OK
L2BD ND term - disable ip4 arp events,send ns, verify no events OK
==============================================================================
TEST RESULTS:
Scheduled tests: 14
Executed tests: 14
Passed tests: 14
==============================================================================
Test run was successful
Change-Id: I6bb1ced11b88080ffaa845d22b0bc471c4f91683
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
VPP graph dispatch trace record description:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Major Version | Minor Version | NStrings | ProtoHint |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Buffer index (big endian) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ VPP graph node name ... ... | NULL octet |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Buffer Metadata ... ... | NULL octet |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Buffer Opaque ... ... | NULL octet |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Buffer Opaque 2 ... ... | NULL octet |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VPP ASCII packet trace (if NStrings > 4) | NULL octet |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Packet data (up to 16K) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Graph dispatch records comprise a version stamp, an indication of how
many NULL-terminated strings will follow the record header, and a
protocol hint.
The buffer index allows downstream consumers of these data to easily
filter/track single packets as they traverse the forwarding
graph. FWIW, the 32-bit buffer index is stored in big endian format.
As of this writing, major version = 1, minor version = 0. Nstrings
will be either 4 or 5.
Here is the current set of protocol hints:
typedef enum
{
VLIB_NODE_PROTO_HINT_NONE = 0,
VLIB_NODE_PROTO_HINT_ETHERNET,
VLIB_NODE_PROTO_HINT_IP4,
VLIB_NODE_PROTO_HINT_IP6,
VLIB_NODE_PROTO_HINT_TCP,
VLIB_NODE_PROTO_HINT_UDP,
VLIB_NODE_N_PROTO_HINTS,
} vlib_node_proto_hint_t;
Example: VLIB_NODE_PROTO_HINT_IP6 means that the first octet of packet
data SHOULD be 0x60, and should begin an ipv6 packet header.
Change-Id: Idf310bad80cc0e4207394c80f18db5f77c378741
Signed-off-by: Dave Barach <dave@barachs.net>
This prints the format strings required to rerun the failed test next to
the failures.
Change-Id: I973d8ae025f026129826356bce265b1e70086d2f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Instead of waiting for notification from binary api.
Change-Id: I5ecab857d6bcdbed62d6bb06709570c4cf6b19ea
Signed-off-by: Florin Coras <fcoras@cisco.com>
Add dependency on the API compiler, so that builds can deal with changes to the tool.
Change-Id: I2587235fefa93a69955495870d49f36b4203bfea
Signed-off-by: Ole Troan <ot@cisco.com>
self.assertTrue(packet.haslayer(msg_type))
File "/usr/lib/python2.7/unittest/case.py", line 422, in assertTrue
raise self.failureException(msg)
AssertionError: 0 is not true
* Scapy packet.haslayer() returns 1 or 0.
Replace with assertEqual(packet.haslayer(), 1) to fix tracebacks.
* Scapy has multiple layers called TCP/UDP
Specify the module name to prevent namespace collisions.
* Remove duplicate import.
Change-Id: I600f9f330075cd40e1da50f8b2ceb24f645f2c20
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
DHCP tests failed intermittantly with a core dump.
Let's see if this fixes it.
Change-Id: I42829a2c7e7f5a9a6775330d37bf972ff0008210
Signed-off-by: Ole Troan <ot@cisco.com>
This patchset adds and raises the following custom exception classes:
* class VPPApiError(Exception):
* class VPPNotImplementedError(NotImplementedError):
* class VPPIOError(IOError):
* class VPPRuntimeError(RuntimeError):
* class VPPValueError(ValueError):
* class VPPSerializerValueError(ValueError):
* class VPPStatsIOError(IOError):
* class VPPStatsClientLoadError(RuntimeError):
* class VppTransportShmemIOError(IOError):
* class VppTransportSocketIOError(IOError)
Change-Id: Ia40900fd2dcef148d01125d6c691329fc666901e
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
'raise NotImplemented' should be 'raise NotImplementedError'.
NotImplemented is not part of the Exception heirarchy.
Change-Id: I7fb647f1d56e689fafa2cd9a5566da826def072b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
First argument of a classmethod should be named 'cls'.
Change-Id: Iff4b8d856e57c13a3404dbf6780c1d4add45b36a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
First argument of a method should be named 'self'.
Change-Id: I7260916ce9d96108202b650dbf7ac8ce4b3aafdc
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
- intercept fork and register a new worker with vpp
- share sessions between parent and forked child
- keep binary api state per worker
Change-Id: Ib177517d661724fa042bd2d98d18e777056352a2
Signed-off-by: Florin Coras <fcoras@cisco.com>
instead of using build-root, use /test/venv directory for virtualenv
similarly, don't pollute build-root with test-built binaries
Change-Id: I1e63c04037eaee718b27b34ef16c9eb0252afa53
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Previously all types are compound. This adds support for aliases,
so one can do things like:
typedef u32 interface_index;
or
typedef u8 ip4_address[4];
Change-Id: I0455cad0123fc88acb491d2a3ea2725426bdb246
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Import queue in an py2-py3 compatable way.
Change-Id: I83f166a959c4ee55438e3997edbcb596dc72059f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
'async' and 'await' are reserved keywords starting with Python 3.7.
This change is necessary to support VPP-1508.
Change-Id: Iba2b3aef98a0ecaabc1622719b364f8f4ab5d5a3
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Usual suspect, CentOS 7. Kernel doens't like MAP_HUGETLB to be
set together with MAP_SHARED even if we are mapping hugetlb backed file.
Change-Id: I6bb0fe14e9e42286963bb648840279942b2e8307
Signed-off-by: Damjan Marion <damarion@cisco.com>
Example:
dpdk {
dev 0000:01:00.0 { name eth0 }
dev 0000:02:00.0 { name eth1 }
}
Change-Id: I11e60e969a7e3548c99ac0c0c3531767819cb157
Signed-off-by: Damjan Marion <damarion@cisco.com>
Prefetching first 2 packets' header is useless cause of the prefetching
action is not done before using the packets.
There's no performance drop in Xeon platform and slightly performance
gain in Atom platform after rmoving the prefetch.
Change-Id: Ib4b074af20d7cd5053aecc7147b162141aec31f5
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Python2 defaults to old style classes to maintain compatability with python 2.1.
Moving to new style classes will ensure consistent behavior across interpreters.
Change-Id: I89493d608d1edb63989000c17a9566a97785a4aa
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>