summaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)AuthorFilesLines
2019-12-17nhrp: mGREv6Neale Ranns1-0/+78
Type: test Change-Id: I7d0496c37e06d3b6eee325a262e5398860282b63 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-17ip: Protocol Independent IP NeighborsNeale Ranns17-69/+289
Type: feature - ip-neighbour: generic neighbour handling; APIs, DBs, event handling, aging - arp: ARP protocol implementation - ip6-nd; IPv6 neighbor discovery implementation; separate ND, MLD, RA - ip6-link; manage link-local addresses - l2-arp-term; events separated from IP neighbours, since they are not the same. vnet retains just enough education to perform ND/ARP packet construction. arp and ip6-nd to be moved to plugins soon. Change-Id: I88dedd0006b299344f4c7024a0aa5baa6b9a8bbe Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-17fib: Glean on NBMA interface points to dropNeale Ranns1-0/+6
Type: fix Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: Iaae7a9e120bbf8168c581b06d3ac0e124b32e0e7
2019-12-14tests: changes for scapy 2.4.3 migrationsnaramre17-35/+231
Type: fix Change-Id: I7e041b666dabd90df23a920a1f1d99db4c10ddfe Signed-off-by: snaramre <snaramre@cisco.com>
2019-12-11devices: vhost API cleanupJakub Grajciar1-3/+3
Use consistent API types. Type: fix Change-Id: I2dec594cb834a45004edc9ca58ad7c7b4bd7ff06 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-12-11devices: tap API cleanupJakub Grajciar2-0/+65
Use consistent API types. Type: fix Change-Id: I11cc7f6347b7a60e5fd41e54f0c7994e2d81199f Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-12-09vlib: improve test coverageDave Barach1-0/+26
Add tests. Remove unused rule-based parser code. Type: test Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I3ca3a9dd9da8ee8f3a47004c98f2f5644db10057
2019-12-09gtpu: use explicit types in apiOle Troan1-34/+0
Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I16fcbd5e63526dbf062a3032701479324fe2a4f5
2019-12-07pppoe: use explicit types in apiOle Troan1-2/+0
Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Ifd1e1907740e55420dc040eb2afbbbf9887aea3c
2019-12-05tests: move bfd over gre to extended testsPaul Vinciguerra1-0/+1
This test should be fixed or removed. EXTENDED_TESTS should not become "BROKEN_TESTS" Type: test Change-Id: Id998f0d3b7bd31100f917d076fbd7ddb46d99ed2 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-05classify: vpp packet tracer supportDave Barach1-0/+64
Configure n-tuple classifier filters which apply to the vpp packet tracer. Update the documentation to reflect the new feature. Add a test vector. Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Iefa911716c670fc12e4825b937b62044433fec36
2019-12-05tests: fix wrong checksum error messageKlement Sekera1-1/+3
This change fixes the error message, which would previously report mismatch on IPv6 layer instead of TCP layer. Type: fix Change-Id: Ie78779685362a420d155f928b3cdb341bc3fb8bc Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-12-05papi: add call statsOle Troan1-0/+1
Type: feature Change-Id: Ic6d44122d3e62e09402e3f1946f7e57e9b5e7c5f Signed-off-by: Ole Troan <ot@cisco.com>
2019-12-05tests: Revert "Python Tests: Make VppTestCase unit testable."Paul Vinciguerra1-5/+0
Type: test This reverts commit 087c811b63aa6b0575149749e188bb37e7fb0513. Change-Id: Ica12597f27d5a75c33c12c2d27a227dc4866adcb Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-05tests: add test run time.Ole Troan1-3/+6
Type: feature Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Id7b30b5fe63e68ae88f3a42aa77d2614ccda724d
2019-12-05build: fix vom_test dependency on EXTENDED_TESTSDave Wallace1-1/+3
- Note: This was not caught by CI because the VPP 'make verify' target always build libvom.so Type: fix Fixes: f0797d130 Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I8663e317e4e793c386b09d1cb887133de1e43faf
2019-12-04tests: fix exception handling around vapi.connect()/.disconnect()Paul Vinciguerra1-5/+5
vapi.connect() only raises subclasses of vpp_papi.VPPIOError. vapi.disconnect() doesn't raise any exceptions, removed uneeded try block. Type: test Change-Id: Ide6e6db298b205f14382065862e358757619a5ba Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-04tests: add interface function chainingPaul Vinciguerra2-8/+31
Type: test Change-Id: I24e740aa87a8a4061fa98740f2d636997e18f08d Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-04fib: Decouple source from priority and behaviourNeale Ranns1-0/+18
Type: feature the fib_source_t enum alone no longer defines the priority and behaviour, instead each source must be allocated these attributes. This allows the creation of other sources by the plugins (and soon over the API). Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I890ee820fbc16079ee417ea1fbc163192806e853
2019-12-04gre: Multi-point interfacesNeale Ranns4-15/+152
Type: feature Change-Id: I0129ad6ace44a50a8a3b26db8e445cd06b2b49e8 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-04build: fix make test with distributed srcDave Wallace7-1171/+210
This patch addresses the functionality that is missing for distributed make test source files. In addition it extends the concept of colocating test source code with functional source code (eg. src/vcl/test). It also cleans up deficiencies in the make test makefiles. NOTE: Due to the way sphinx document tools work, all test, all of the make test python code is gathered using soft links into the directory: .../build-root/build-test/src Change summary: - Remove 'make test' help details from main makefile help output to reduce clutter and redundant help output - Move all generated build output to .../build-root/build-test - Move test_vcl.py as first usecase for distributed core feature make test code - Add test-wipe-all target and fix wipe targets to remove all generated files - Fix 'make test-doc' to generate module documentation for all source files - Remove unused targets in test/doc/Makefile - Fix 'make test-shell' - Fix test/ext Makefile to not generate bogus output Type: fix Fixes: a43c93f8554ad7418e31be3791b3fb71232f60ac Change-Id: Icc2ddb81d474081c3ede4548ecd7a0624651f62d Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-12-03ipip: Tunnel flags controlling copying data to/from payload/encapNeale Ranns2-83/+549
Type: feature Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I9467f11775936754406892b8e9e275f989ac9b30
2019-12-03classify: API cleanupJakub Grajciar4-682/+435
Use consistent API types. Type: fix Change-Id: Ib5b1efa76f0a9cecc0bc146f8f8a47c2442fc1db Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-03papi: add a per-call _timeout optionPaul Vinciguerra1-1/+6
add the ability to override the default timeout value on a per-call basis. Use: rv = self.vapi.papi.cli_inband(cmd='wait 10', _timeout=15) Type: feature Change-Id: Ia90a58586a1f63e02118599a2a4b7141e5a0b90d Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-03tests: vpp_interface fix ip6 setterPaul Vinciguerra1-1/+1
Type: fix Fixes: efd7bc2b1c8db160933ed3e9ab3cde0d07aaf863 Change-Id: I254f9fe44189f88621b9b0ff3f869efb9966ada5 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-02tests: GRE over IPSec unit testsNeale Ranns1-0/+97
Type: test Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I4ae1b56f273026aca86775fb61feabcdeb62c62e
2019-12-02tests: raise exception in vpp_interface for invalid sw_if_indexPaul Vinciguerra1-0/+3
Type: test Change-Id: I34058f2bd20f61a8f8355299a8df95f2948c25eb Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-02tests: BFD python3 changessnaramre1-40/+5
Type: fix Change-Id: Ie441e81fe3971d70f96196c79d74658f910b4875 Signed-off-by: snaramre <snaramre@cisco.com>
2019-11-27vlib: add 'wait' cli commandPaul Vinciguerra2-4/+51
When running exec scripts, there can be a need to wait between statements. Type: feature Change-Id: I2a45b390697e09fc222358c9354f28e3368a06ba Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-11-27tests: display stdout and stderr when output caching is disabledBenoît Ganne1-2/+2
Type: fix Change-Id: I4286ba58bb15dd67c1199f76166bedf3b4e0344c Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-11-27misc: add address sanitizer heap instrumentationBenoît Ganne1-0/+3
Introduce AddressSanitizer support: https://github.com/google/sanitizers/ This starts with heap instrumentation. vlib_buffer, bihash and stack instrumentation should follow. Type: feature Change-Id: I7f20e235b2f79db72efd0e756f22c75f717a9884 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-11-26fib: Fix crash on cover update to non activated adj sourceNeale Ranns2-0/+65
if the adj source is not active then there is no existing cover during a cover update Type: fix Ticket: VPP-1803 Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: Ie912f1c99345de4fb012bdcd97b443098d4a7351
2019-11-26fib: Table ReplaceNeale Ranns7-48/+337
Type: feature from the API doc, a table replace is: " The use-case is that, for some unspecified reason, the control plane has a very different set of entries it wants in the table than VPP currently has. The CP would thus like to 'replace' VPP's current table only by specifying what the new set of entries shall be, i.e. it is not going to delete anything that already eixts. the CP delcartes the start of this procedure with this begin_replace API Call, and when it has populated all the entries it wants, it calls the below end_replace API. From this point on it is of coursce free to add and delete entries as usual. The underlying mechanism by which VPP implements this replace is purposefully left unspecified. " In the FIB, the algorithm is implemented using mark and sweep. Algorithm goes: 1) replace_begin: this marks all the entries in that table as 'stale' 2) download all the entries that should be in this table - this clears the stale flag on those entries 3) signal the table converged: ip_table_replace_end - this removes all entries that are still stale this procedure can be used when an agent first connects to VPP, as an alternative to dump and diff state reconciliation. Change-Id: I168edec10cf7670866076b129ebfe6149ea8222e Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-11-25tests: fix typo in test_vlibPaul Vinciguerra1-3/+3
Trailing comma made last line of a multi-line command a new command. Logs: 22:39:49,695 Return value: cli_inband_reply(_0=794, context=2, retval=0, reply='loop0\n') 22:39:49,695 CLI: packet-generator new { name vlib limit 15 size 128-128 interface loop0 node ethernet-input data { IP6: 00:d0:2d:5e:86:85 -> 00:0d:ea:d0:00:00 ICMP: db00::1 -> db00::2 incrementing 30 } 22:39:49,695 Calling cli_inband('cmd':'packet-generator new {\n name vlib\n limit 15\n size 128-128\n interface loop0\n node ethernet-input\n data {\n IP6: 00:d0:2d:5e:86:85 -> 00:0d:ea:d0:00:00\n ICMP: db00::1 -> db00::2\n incrementing 30\n }\n\n','context':3,'_vl_msg_id':792) 22:39:49,696 Return value: cli_inband_reply(_0=794, context=3, retval=0, reply='') 22:39:49,696 CLI: } 22:39:49,696 Calling cli_inband('cmd':'}\n\n','context':4,'_vl_msg_id':792) 22:39:49,697 Return value: cli_inband_reply(_0=794, context=4, retval=-1, reply="unknown inpu... 22:39:49,697 } FAIL reply unknown input `}' Type: fix Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com> Change-Id: Iaa82d432677d742e766e42383364adda5bd87665
2019-11-20vlib: improve code coverage, part deuxDave Barach1-0/+18
Type: test Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: If31f4b50da7a6e4a9704ceb3415c582143c08355
2019-11-18vlib: improve code coverage in src/vlibDave Barach1-0/+29
Type: test Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I2dc4c09730f77931a2b484a6dd5dc669068f8e57
2019-11-15tests: Add UT to test incomplete MPLS adjacencies send ARP requestsNeale Ranns1-3/+42
Type: test Change-Id: I81e07233aec54c786e4e9beb8c4f06d0a3dca90f Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-11-15tests: Remove the unrequired VPP IP address/prefix class wrappersNeale Ranns12-281/+147
Type: refactor Change-Id: I204f3f8eebc5f5d5a377e91262f91c615fd00168 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-11-13vlib: improve vlib "make test" code coverageDave Barach1-0/+114
Type: test Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Idf982fddad9e577595d2e05ac78c39705e9d616d
2019-11-12interface: Allow VLAN tag-rewrite on non-sub-interfaces too.Jon Loeliger1-0/+50
This fix was first made in commit fdea5c6a00b74971dbb1b7ec4e25839a871006ca but was subsequently lost in commit 053204ab039d34a990ff0e14c32ce3b294fcce0e Added unit test for setting VTR on a non-sub-interface to help ensure no future regressions of this ability. Type: fix Change-Id: I71ce2684fb72383741455829ae2d397ea2e95eae Signed-off-by: Jon Loeliger <jdl@netgate.com>
2019-11-12ip: IP address and prefix types (moved from LISP)Neale Ranns1-0/+20
Type: refactor Change-Id: I2c6b59013bfd21136a2955442c779685f951932b Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-11-11ip: functional interface to ip fragmentationOle Troan2-2/+49
This provides a functional interface to IP fragmentation. Allowing external features to fragment. Supports arbitrary encap size, for e.g. MPLS or inner fragmentation of tunnels. This also removed dual loop in MAP that was fundamentally broken. Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Ia89ecec8ee3cbe2416edbe87630fdb714898c2a8 Signed-off-by: Ole Troan <ot@cisco.com>
2019-11-08ipsec: remove dedicated IPSec tunnelsNeale Ranns9-79/+131
APIs for dedicated IPSec tunnels will remain in this release and are used to programme the IPIP tunnel protect. APIs will be removed in a future release. see: https://wiki.fd.io/view/VPP/IPSec Type: feature Change-Id: I0f01f597946fdd15dfa5cae3643104d5a9c83089 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-11-08tests: python3 use byte strings in raw()Ole Troan13-69/+69
Raw('\xaf) and Raw(b'\xaf) are two quite different things in python 2 versus 3. In most cases this didn't make a difference, apart from those cases where length of payload actually mattered. Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I3cba5c1486e436a3ca8aa10a7b393da75aa9f6b9
2019-11-07interface: shmemioerror while getting name_filter argAleksander Djuric1-1/+6
Type: fix Signed-off-by: Aleksander Djuric <aleksander.djuric@gmail.com> Change-Id: I5e0eb7024d208040d79e9d6db863f41e2ecf4ee6 Signed-off-by: Ole Troan <ot@cisco.com>
2019-11-07tests: make threads in punt tests join when finishedAndrew Yourtchenko1-8/+23
The 42693521f6046997133c8f63bcfc9d615d96f69d added the timeout to the child process join + print the name of the offending child process. Upon testing the issue furher, appeared the offenders were always the same - punt tests. The processes running them were stuck trying to acquire lock, even if all the user-accessible execution has finished. Some searching revealed that one needs to tread carefully when dealing with Thread and Multiprocessing at the same time. punt tests used threads but did not call thread.join. Somehow it worked in some cases but not the others. This fix makes the threads exit cleanly - which also makes the timeouts waiting for the process to join disappear. Type: test Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: I05d99bb48a9987544bbfe45118755c09d7867aa0 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-11-05misc: Fix python scripts shebang lineRenato Botelho do Couto75-75/+75
Type: fix Since CentOS 8, RPM build script doesn't accept '#!/usr/bin/env python' as a valid shebang line. It requires scripts to explicitly chose between python2 or python3. Change all to use python3 as suggested by Paul Vinciguerra. Depends-On: https://gerrit.fd.io/r/23170 Signed-off-by: Renato Botelho do Couto <renato@netgate.com> Change-Id: Ie72af9f60fd0609e07f05b70f8d96e738b2754d1
2019-11-05ip: Fragmentation fixesNeale Ranns4-6/+34
Type: fix if the packet is about to be fragmented, then don't call any of the actions that expect the rewrite to have been written. 1) don't double count packets thru the adjacency (original & fragments) 2) don't double decrement the TTL for fragments 3) return to ip4-midchain post ip-frag if that's where we started. 4) only run midchain/mcast fixups if not fragmenting (if no errors) Change-Id: Ib2866787a42713ee5871b87b597d8f74b901044b Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-11-05tests: support setting random seedKlement Sekera4-1/+13
Log the random seed used when running tests and provide means to re-use it in a later run. Type: feature Change-Id: I18d2a36ee802b901d4cca5577df41cec07f09cc0 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-11-05tests: avoid test runner hanging on child test process joinAndrew Yourtchenko1-1/+13
In parallel test, the single process is spawning a bunch of child processes running the tests, and communicates to them. When the child process signals that it has finished, the parent calls child.join(). Sometimes this join never returns. The result is a lot of defunct python processes, and the test run just hangs. I have seen this failure intermittently a fair bit in a busy containerized environment, and by chance, consistently reproduced it on a Thinkpad X280 with 8G of RAM and Ubuntu 19.04, which allowed to diagnose it. Type: test Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: If0a3110fc2d23e73d77c310d61c3ea90a2b53610