Commit Graph

1118 Commits

Author SHA1 Message Date
Paul Vinciguerra
7a99823c0b tests: filter sw_interface_dump in tests.
Type: test

Change-Id: I92921444ef6b0e574701398cf57971c9ecc1cc91
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-12 16:15:42 +00:00
Neale Ranns
52cd49616d bfd: UT for BFD session over GRE tunnel
Signed-off-by: Neale Ranns <nranns@cisco.com>

Adding UT for BFD over GRE tunnel.

Ticket: none
Type: test

Change-Id: I03eca4a0c7114cdc16fde9be4cd6db6216b8c845
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-07 15:21:16 +00:00
Neale Ranns
b02d230d52 VOM-test: fix the UT post BVI and Bridge-domain changes
Change-Id: Ibd9059e616f46f7017e397262bf4c0606d81eb0c
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-07 11:42:03 +00:00
Paul Vinciguerra
499ea648e2 tests: framework gracefully handle 'VppTransportShmemIOError'
Catches:
----
Traceback (most recent call last):
  File "/vpp/test/framework.py", line 593, in tearDown
    self.logger.info(self.vapi.ppcli("api trace save %s" % api_trace))
  File "/vpp/test/vpp_papi_provider.py", line 413, in ppcli
    return cli + "\n" + str(self.cli(cli))
  File "/vpp/test/vpp_papi_provider.py", line 402, in cli
    r = self.papi.cli_inband(cmd=cli)
  File "/vpp/src/vpp-api/python/vpp_papi/vpp_papi.py", line 100, in __call__
    return self._func(**kwargs)
  File "/vpp/src/vpp-api/python/vpp_papi/vpp_papi.py", line 414, in f
    return self._call_vpp(i, msg, multipart, **kwargs)
  File "/vpp/src/vpp-api/python/vpp_papi/vpp_papi.py", line 634, in _call_vpp
    msg = self.transport.read()
  File "/vpp/src/vpp-api/python/vpp_papi/vpp_transport_shmem.py", line 120, in read
    raise VppTransportShmemIOError(rv, 'vac_read failed')
VppTransportShmemIOError: [Errno -1] vac_read failed
----

Change-Id: I767e48c4d03081eb5df6a8aa67da7e192d25e4cc
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-07 09:48:05 +00:00
Paul Vinciguerra
20344a1e5c tests: fix broken test test_gtpu.py TestGtpuUDP
Test failing due to call to super.tearDown in setUp.

==============================================================================
FAIL: test UDP ports
------------------------------------------------------------------------------
Traceback (most recent call last):
  File "/vpp/test/test_gtpu.py", line 77, in test_udp_port
    self._check_udp_port_ip4(False)
  File "/vpp/test/test_gtpu.py", line 48, in _check_udp_port_ip4
    self.assertEqual(err, self.ip4_err + 1)
AssertionError: 0L != 1


Type: fix

Change-Id: Iec4ef5edd3ee11bcd962b77cc8159dee9cb15687
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-07 00:09:40 +00:00
Neale Ranns
922077505b IP-Punt-redirect: allow the use of a FIB path to describe how to
redirect

Change-Id: I2a3ba2a3d73ea8511e3a511855b041432328f0a8
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-06 12:12:58 +00:00
Benoît Ganne
286921eef8 gbp: fix lpm classification with vlan
Fix GBP LPM packet classification in the presence of a VLAN header.

Change-Id: I2ff63b34f7475d696b10b5a245ff802bbb1ff01a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-06-06 08:07:35 +00:00
Neale Ranns
59fa121f89 L3 cross connect
- all packets input on interface X are load-balanced over the set of
paths provided.

Change-Id: Ic27cb88c4cd5d6d3462570632daff7a43d5a652d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-05 11:33:12 +00:00
Neale Ranns
e6be702362 IPSEC: some CLI fixes
Change-Id: I45618347e37440263270baf07b2f82f653f754a5
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-05 11:29:46 +00:00
Paul Vinciguerra
4b58a86da4 Tests: simple refactor in vpp_pg_interface.
Pull common code into a single method.

Type: refactor

Change-Id: Ic540d23eebbd17f838ed7a1a9dee80815a27847c
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-04 16:05:57 +00:00
Neale Ranns
68577d2982 punt: fix the set_punt API/CLI which was rejecting valid ports
add a UT for the API

Change-Id: I93fb6ec2c5f74b991bf7f229250a30c0395b8e24
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-04 15:55:31 +00:00
Neale Ranns
b538dd8686 Punt: specify packets by IP protocol Type
Change-Id: I0c2d6fccd95146e52bb88ca4a6e84554d5d6b2ed
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-04 10:32:46 +00:00
Ole Troan
288e093624 ipip: refactor ipip.api with explicit types
Use explicit types vl_api_address/prefix in ipip.api.

Change-Id: Ib3133cebdbe4437742924efd49cde4009c4cc31b
Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
2019-05-30 11:15:35 +00:00
Jakub Grajciar
ebae4196b2 gtpu: unit-test check udp ports
Change-Id: I3efbbb1aefb43ecdf7016541b97343f9ca41f842
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-05-29 18:30:18 +00:00
Paul Vinciguerra
02d576b754 Tests: vpp_pg_interface. Don't rewrite Dot1AD ethertype.
Type: Refactor

Change-Id: I42f65bcc76e4b0fcfbfe051c1c382a940bff1b3a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-29 13:09:24 +00:00
Klement Sekera
6aa58b732b make test: fix packet counter assert
Change-Id: Ic6e6ac0629bbf07f7dad1803a85aabfdccbc2035
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-05-29 09:15:53 +00:00
Paul Vinciguerra
4d376f67a6 map: Use vl_api_string macros.
* Add optional tag to api call in tests
* Add test for map_domain_dump() for api code coverage.

Type: fix

Change-Id: I2f7784aecdca4bf9e94de3319f959786e3d2c607
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-29 07:41:53 +00:00
Jakub Grajciar
f34f1a424e l2tp: l2tp-decap-local don't accept packets unless configured
Change-Id: I2e48eb772dc44912192d0684b8ee631d8d975e9e
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-05-28 15:35:54 +00:00
Alexandre Poirrier
a618e2082d make test: add option in pg interfaces for duplicating packets
Change-Id: Ia6d6de5de0414291d5637fb4b8c1480925f646d3
Signed-off-by: Alexandre Poirrier <apoirrie@cisco.com>
2019-05-28 15:05:12 +00:00
Neale Ranns
50f0ac0f09 Punt: socket register for exception dispatched/punted packets based on reason
- add to the Punt API to allow different descriptions of the desired packets: UDP or exceptions
- move the punt nodes into punt_node.c
- improve tests (test that the correct packets are punted to the registered socket)

Change-Id: I1a133dec88106874993cba1f5a439cd26b2fef72
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-05-28 13:30:44 +00:00
Dave Barach
9080096f7c Add an ip6 local hop-by-hop protocol demux table
Add a minimal ip6 hbh header processing test.

ioam plugin: use ip6_local_hop_by_hop_register_protocol() in
udp_ping_init().

Please test the ioam plugin udp_ping path AYEC, so I can
publish the patch.

Change-Id: I74e35276d6c38c31022026cfd238fad5e4a54485
Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-28 13:04:54 +00:00
Jakub Grajciar
f03becacfe gre: don't register gre input nodes unless a gre tunnel is created
Change-Id: Id5c0f420e32e0504cea660fed2013f3ad28088aa
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-05-28 08:50:21 +00:00
Neale Ranns
cbd0824d6c IPIP tunnel: use address types on API
Change-Id: Ida6a8f96bd858246e993250087bed45e7084ede1
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-05-27 13:18:05 +00:00
Klement Sekera
34641f2d29 make test: fix bug due to concurrent commits
Change-Id: I912745950fe6e3f1688ef66b430ef86cdddd04cd
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-05-22 19:14:22 +00:00
Dave Wallace
1f37a7bd86 make test: Fix QUIC External apps transfer test
Change-Id: Idc4cd1d3b29d4656f2df998162e6f99116518a58
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-22 12:56:36 +00:00
Ole Troan
233e468183 stats: support multiple works for error counters
The current code only allowed access to the main thread error counters.
That is not so useful for a multi worker instance.
No return a vector indexed by thread of counter_t values.

Type: fix

Change-Id: Ie322c8889c0c8175e1116e71de04a2cf453b9ed7
Signed-off-by: Ole Troan <ot@cisco.com>
2019-05-22 09:43:49 +00:00
Vladimir Ratnikov
f48050785f openssl plugin 3des routine iv_len fix
Since 3DES has 8 bytes of initialization vector and
code contains hardcode for 16 bytes, check added to
determine if crypto algorythm is 3DES_CBC and set
corresponding iv_len param

Change-Id: Iac50c8a8241e321e3b4d576c88f2496852bd905c
Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
2019-05-20 16:59:53 +00:00
Klement Sekera
3a343d42d7 reassembly: prevent long chain attack
limit max # of fragments to 3 per packet by default
add API option to configure the limit at runtime

Change-Id: Ie4b9507bf5c6095b9a5925972b37fe0032f4f9e8
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-05-20 12:13:11 +00:00
Paul Vinciguerra
b7658201d9 Tests: Refactor. Remove copies of enums.
Use the enums provided from the api definitions instead.

Change-Id: I43b7591df920c984e439efc4b3ec3c4121c539d8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-17 21:03:29 +00:00
Dave Wallace
0d144c78d7 make test: Add QUIC serial transfer test
Change-Id: I7ed68dd199daa31269d45d67e0a4fa632e1a08d1
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-17 20:43:23 +00:00
Paul Vinciguerra
9673e3e628 Tests: Raise exception if API cli_inband command fails.
* Configure tests to raise exception if cli_inband fails.
* Fix failing tests.
* Add filename detail to pcap.stat clib_error_return for debugging.

Note: this change identifies spurious issues with packet-generator such as:
  CliFailedCommandError: packet-generator capture: pcap file
  '/tmp/vpp-unittest-Test6RD-v09RPA/pg0_out.pcap' does not exist.

These issues resolve themselves on remaining test passes.

Change-Id: Iecbd09daee954d892306d11baff3864a43c5b603
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-17 20:42:10 +00:00
Mohsin Kazmi
fe52dea08f gbp: Add unit tests for contracts
Change-Id: Ib6615739b1db44b7788f462196cd477b6e23d67e
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-05-17 09:47:25 +00:00
Paul Vinciguerra
4271c97191 tests: refactor. Replace literal constant w/ named constant.
* change literal packet count vlaues from 65 to a named constant of 67.
  (This value was recommended to exercise single, dual, and quad loops)

Change-Id: Ieb1738dddacb8b6ea7fa25883032ac01a98399e1
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-16 20:32:41 -04:00
Paul Vinciguerra
19542299d3 vpp_papi: remove dependency on environment var. VPP_API_DIR.
Change-Id: I9e3af8674e8aae27079fd03f6286f165d777814f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-15 06:56:53 +00:00
Paul Vinciguerra
38404db183 tests: test_pipe.py. Fix missing import.
* Fix missing import (does not impact 'make test', fixes issue
  running under 'make test-shell')

Change-Id: I634378a8809df5c5b9671555932e797d04a2abbb
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-14 19:54:56 +00:00
Paul Vinciguerra
80b5e4f69e tests: fix TestMPLSPIC tests in test_mpls.py.
* Corrected stray ARP/ND packets in captures interfering with test results.
* Added tests to match counts of recv'd pkts against sent.
* Changes the number of packets to 67 for exercising single,
  dual, and quad-loops.

Change-Id: I9147b8578988607ea4444741d10854e4d8683191
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-14 13:54:24 +00:00
Dave Wallace
07c0a9d068 make test: vcl fix OSError exception handling
Change-Id: I4bf7da6752d85e384a8e8f3110964c4b142edcb5
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-14 01:09:48 +00:00
Dave Wallace
3bffd4be22 make test: Add QUIC external echo transfer test
- Add namespace configuration to echo_client
- Add external echo transfer testcase
- Refactor quic test class to reduce unnecessary method args
- Increase default fifo size to 64 and data transfer to 10 mbytes
- Remove sleep() between starting internal server & client apps

Change-Id: Ia9de46a314d58e7809f005f6a5211760e63789bf
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-14 01:09:32 +00:00
Ole Troan
72d8758fdc cli: Add return value in cli_inband
Even when a CLI command called through the cli_inband API failed
the API would return 0 (SUCCESS). This patch fixes that,
but since most CLI handlers return error->code == 0,
in most failure cases it will return -1 (UNSPECIFIED ERROR).

Type: fix

Change-Id: Ic83f3b23e8e8954bb8aa211301baba24e8c20ef6
Signed-off-by: Ole Troan <ot@cisco.com>
2019-05-10 21:50:34 +00:00
Paul Vinciguerra
bff9f2f2e7 tests: test/vpp_papi_provider.py Specify exception to catch.
Change-Id: If936b198bcac7a317d52f958561c3e19d158450a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-10 20:34:46 +00:00
Dave Barach
7d31ab2a5c add mactime plugin unit / code coverage tests
The unit and code coverage tests are boring. The rest of the patch
involves test and packet-generator infra cleanups.

Teach the "make test-xxx" family of targets to set the api test plugin
path correctly, to make "binary-api <api-message-name> <args>" debug
CLI commands work correctly in the "make test"
environment. Unfortunately involves both the top-level and test
Makefiles.

Add a minor pg cli feature, a CLI to manually set
s->sw_if_index[VLIB_TX].

Consider the case where one configures an interface with both a
device-input and an output feature. To test the output feature using
the pg, it's necessary to inject packets into the interface output
node with both b->sw_if_index[VLIB_TX] and b->sw_if_index[VLIB_RX] set
correctly. For example:

packet-generator new {
 name tx
 limit 15
 size 128-128
 interface local0  # rx: device input feature not configured on local0
 tx-interface loop0 # tx: output node requires b->sw_if_index[VLIB_TX]
 node loop0-output
 data {
   hex 0x01005e7ffffa000dead0000008000102030405060708090a0b0c0d0e0f0102030405
   }
}

Fix a longstanding bug in the packet generator stream setup.  Remove
kludges which set b->sw_if_index[VLIB_TX] to ~0 [in multiple places]
instead of using the stream value s->sw_if_index[VLIB_TX], and setting
THAT datum correctly.

Change-Id: I1097a18e8db73661ded6b822c1d718f7e5cf36ed
Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-09 20:08:58 +00:00
Dave Wallace
211b28a1c2 make test: add quic multistream test case
- Also refactor test_quic.py to prepare for
  external echo tests & ipv6 tests

Change-Id: I7dff60b375ed67d920e73294e0bf491cd3206d56
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-09 14:16:00 +00:00
Klement Sekera
f40ee3a206 make test: introduce COREDUMP_COMPRESS option
setting COREDUMP_COMPRESS=y (or =1) indicates that any core file
is to be compressed by the test framework unless DEBUG=core is set.

Change-Id: Ib0d6d30a7398dbeb6ab5e5dbb411bf5c641b5206
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-05-08 22:14:44 +00:00
Paul Vinciguerra
c7834e0564 VPP-1508: Fix zip() under python3.
Under py3, zip() returns an iterator. Fix so no longer needed in a list contex.

Change-Id: I64b4560d990686cc87fd26d703030f9fb2494f12
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-08 01:33:45 +00:00
Dave Barach
749a89c317 Improve lcov reported code coverage stats
Remove unused code from the vppinfra build
Add a bihash test case

Change-Id: Ia930309efa28620dd1c0d69aaec432e2d8bd962c
Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-07 19:50:22 +00:00
Alexandre Poirrier
cc991497b8 make test: add python3 compatibility in extend_packet
Change-Id: I342ff8e44e0d1ebd9f2c8cc386372b2f5a731080
Signed-off-by: Alexandre Poirrier <apoirrie@cisco.com>
2019-05-07 19:15:12 +00:00
Dave Wallace
3e9b7a219d make test: Fix truncated core file
- Wait for coredump to complete before killing VPP.

Change-Id: Ib7b96b339f796f9ef7e0eadff81d181464b8a03a
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-06 20:49:32 +00:00
Dave Barach
ad64687e8b gcov / test framework: sigterm not sigkill
Otherwise, gcov data vanishes without a trace.

Add a __gcov_flush() call to the unix signal handler, under #ifdef
CLIB_GCOV. Add -DCLIB_GCOV to vpp_gcov_TAG_CFLAGS.

Change-Id: I2726e671b26dfbe7fae88f46a8207bb2b5106884
Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-06 20:48:51 +00:00
Filip Varga
04bb642dcf NAT: VPP-1646 test case asserts
Change-Id: I466cea5cbe82a34d4b0b20a76bf5df4d529670e4
Signed-off-by: Filip Varga <fivarga@cisco.com>
2019-05-06 07:21:50 +00:00
Filip Varga
f4749ca4d2 NAT: VPP-1661 - test case cleanup and refactoring
Change-Id: I0eb85252d4b489ba25dcf59252e2bcf3b0cd5c6a
Signed-off-by: Filip Varga <fivarga@cisco.com>
2019-05-02 14:04:07 +00:00