summaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)AuthorFilesLines
2019-06-18ipsec: ipsec-tun protectNeale Ranns7-129/+792
please consult the new tunnel proposal at: https://wiki.fd.io/view/VPP/IPSec Type: feature Change-Id: I52857fc92ae068b85f59be08bdbea1bd5932e291 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-18fib: fib api updatesNeale Ranns52-1422/+1224
Enhance the route add/del APIs to take a set of paths rather than just one. Most unicast routing protocols calcualte all the available paths in one run of the algorithm so updating all the paths at once is beneficial for the client. two knobs control the behaviour: is_multipath - if set the the set of paths passed will be added to those that already exist, otherwise the set will replace them. is_add - add or remove the set is_add=0, is_multipath=1 and an empty set, results in deleting the route. It is also considerably faster to add multiple paths at once, than one at a time: vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.11 100000 routes in .572240 secs, 174751.80 routes/sec vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.12 100000 routes in .528383 secs, 189256.54 routes/sec vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.13 100000 routes in .757131 secs, 132077.52 routes/sec vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.14 100000 routes in .878317 secs, 113854.12 routes/sec vat# ip_route_add_del 1.1.1.1/32 count 100000 multipath via 10.10.10.11 via 10.10.10.12 via 10.10.10.13 via 10.10.10.14 100000 routes in .900212 secs, 111084.93 routes/sec Change-Id: I416b93f7684745099c1adb0b33edac58c9339c1a Signed-off-by: Neale Ranns <neale.ranns@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-18stats: fix memory leakage when adding / deleting interfacesOle Troan1-1/+18
This fixes two leaks in registering errors in the stats segment. - The error name created by vlib_register_errors() was not freed. - Duplicate error names (when interface readded) was added to the vector. This fix also adds memory usage statistics for the statistics segment as /mem/statseg/{used, total} Change-Id: Ife98d5fc5baef5bdae426a5a1eef428af2b9ab8a Type: fix Signed-off-by: Ole Troan <ot@cisco.com>
2019-06-18ip: reassembly-separate feature and custom codeKlement Sekera1-0/+18
This change is made fix a crash, because is_feature flag semantics turn out to be different from "custom app code" semantics. Introduce a flag which custom plugins/apps can use to instead of tying that code to is_feature flag. Change-Id: Ief5898711e68529f9306cfac54c4dc9b3650f9e3 Ticket: N/A Type: fix Fixes: 21aa8f1022590b8b5caf819b4bbd485de0f1dfe5 Signed-off-by: Klement Sekera <ksekera@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com>
2019-06-14ipsec: Correctly rewind the buffer to the IP header when punting UDP ↵Neale Ranns3-15/+47
encapped SPI-0 packets Type: fix Fixes: b71fa75d48 Change-Id: I2d81b373f7659e702759939c096b315afa36f621 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-12tests: filter sw_interface_dump in tests.Paul Vinciguerra2-3/+3
Type: test Change-Id: I92921444ef6b0e574701398cf57971c9ecc1cc91 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-07bfd: UT for BFD session over GRE tunnelNeale Ranns2-14/+113
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-07VOM-test: fix the UT post BVI and Bridge-domain changesNeale Ranns1-7/+27
Change-Id: Ibd9059e616f46f7017e397262bf4c0606d81eb0c Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-07tests: framework gracefully handle 'VppTransportShmemIOError'Paul Vinciguerra2-16/+18
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-07tests: fix broken test test_gtpu.py TestGtpuUDPPaul Vinciguerra1-1/+1
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-06IP-Punt-redirect: allow the use of a FIB path to describe how toNeale Ranns1-3/+6
redirect Change-Id: I2a3ba2a3d73ea8511e3a511855b041432328f0a8 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-06gbp: fix lpm classification with vlanBenoît Ganne1-0/+33
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-05L3 cross connectNeale Ranns1-0/+174
- 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-05IPSEC: some CLI fixesNeale Ranns1-0/+28
Change-Id: I45618347e37440263270baf07b2f82f653f754a5 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-04Tests: simple refactor in vpp_pg_interface.Paul Vinciguerra1-25/+23
Pull common code into a single method. Type: refactor Change-Id: Ic540d23eebbd17f838ed7a1a9dee80815a27847c Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-04punt: fix the set_punt API/CLI which was rejecting valid portsNeale Ranns1-1/+20
add a UT for the API Change-Id: I93fb6ec2c5f74b991bf7f229250a30c0395b8e24 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-04Punt: specify packets by IP protocol TypeNeale Ranns1-3/+160
Change-Id: I0c2d6fccd95146e52bb88ca4a6e84554d5d6b2ed Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-05-30ipip: refactor ipip.api with explicit typesOle Troan1-37/+67
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-29gtpu: unit-test check udp portsJakub Grajciar1-0/+87
Change-Id: I3efbbb1aefb43ecdf7016541b97343f9ca41f842 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-05-29Tests: vpp_pg_interface. Don't rewrite Dot1AD ethertype.Paul Vinciguerra1-11/+0
Type: Refactor Change-Id: I42f65bcc76e4b0fcfbfe051c1c382a940bff1b3a Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-29make test: fix packet counter assertKlement Sekera3-27/+33
Change-Id: Ic6e6ac0629bbf07f7dad1803a85aabfdccbc2035 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-05-29map: Use vl_api_string macros.Paul Vinciguerra1-4/+44
* 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-28l2tp: l2tp-decap-local don't accept packets unless configuredJakub Grajciar1-0/+48
Change-Id: I2e48eb772dc44912192d0684b8ee631d8d975e9e Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-05-28make test: add option in pg interfaces for duplicating packetsAlexandre Poirrier1-2/+12
Change-Id: Ia6d6de5de0414291d5637fb4b8c1480925f646d3 Signed-off-by: Alexandre Poirrier <apoirrie@cisco.com>
2019-05-28Punt: socket register for exception dispatched/punted packets based on reasonNeale Ranns2-326/+505
- 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-28Add an ip6 local hop-by-hop protocol demux tableDave Barach1-1/+14
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-28gre: don't register gre input nodes unless a gre tunnel is createdJakub Grajciar1-0/+46
Change-Id: Id5c0f420e32e0504cea660fed2013f3ad28088aa Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-05-27IPIP tunnel: use address types on APINeale Ranns2-22/+25
Change-Id: Ida6a8f96bd858246e993250087bed45e7084ede1 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-05-22make test: fix bug due to concurrent commitsKlement Sekera1-4/+4
Change-Id: I912745950fe6e3f1688ef66b430ef86cdddd04cd Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-05-22make test: Fix QUIC External apps transfer testDave Wallace1-3/+9
Change-Id: Idc4cd1d3b29d4656f2df998162e6f99116518a58 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-22stats: support multiple works for error countersOle Troan6-64/+84
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-20openssl plugin 3des routine iv_len fixVladimir Ratnikov1-2/+10
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-20reassembly: prevent long chain attackKlement Sekera3-0/+95
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-17Tests: Refactor. Remove copies of enums.Paul Vinciguerra4-62/+69
Use the enums provided from the api definitions instead. Change-Id: I43b7591df920c984e439efc4b3ec3c4121c539d8 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-17make test: Add QUIC serial transfer testDave Wallace1-2/+38
Change-Id: I7ed68dd199daa31269d45d67e0a4fa632e1a08d1 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-17Tests: Raise exception if API cli_inband command fails.Paul Vinciguerra7-18/+29
* 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-17gbp: Add unit tests for contractsMohsin Kazmi1-1/+224
Change-Id: Ib6615739b1db44b7788f462196cd477b6e23d67e Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-05-16tests: refactor. Replace literal constant w/ named constant.Paul Vinciguerra14-216/+257
* 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-15vpp_papi: remove dependency on environment var. VPP_API_DIR.Paul Vinciguerra1-10/+9
Change-Id: I9e3af8674e8aae27079fd03f6286f165d777814f Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-14tests: test_pipe.py. Fix missing import.Paul Vinciguerra1-4/+5
* 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-14tests: fix TestMPLSPIC tests in test_mpls.py.Paul Vinciguerra1-28/+82
* 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-14make test: vcl fix OSError exception handlingDave Wallace1-1/+1
Change-Id: I4bf7da6752d85e384a8e8f3110964c4b142edcb5 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-05-14make test: Add QUIC external echo transfer testDave Wallace1-8/+104
- 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-10cli: Add return value in cli_inbandOle Troan1-0/+36
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-10tests: test/vpp_papi_provider.py Specify exception to catch.Paul Vinciguerra1-1/+1
Change-Id: If936b198bcac7a317d52f958561c3e19d158450a Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-09add mactime plugin unit / code coverage testsDave Barach3-0/+160
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-09make test: add quic multistream test caseDave Wallace1-40/+118
- 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-08make test: introduce COREDUMP_COMPRESS optionKlement Sekera2-13/+17
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-08VPP-1508: Fix zip() under python3.Paul Vinciguerra1-4/+4
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-07Improve lcov reported code coverage statsDave Barach1-2/+23
Remove unused code from the vppinfra build Add a bihash test case Change-Id: Ia930309efa28620dd1c0d69aaec432e2d8bd962c Signed-off-by: Dave Barach <dave@barachs.net>