Commit Graph

1238 Commits

Author SHA1 Message Date
Paul Vinciguerra
64e9d28d37 build tests: fail test run if we can't patch scapy
Type: fix

Change-Id: I694e44f449863b3edbbc8b6095e94f770dc20330
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-18 23:10:19 +00:00
Paul Vinciguerra
53131d2a26 tests: fix cdp patch for scapy 2.4.3
Type: test
Fixes: 5d4b8912d2

Change-Id: Ib64ae00eba41b2b6afc728142cbccc02d07f4997
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-18 20:42:36 +00:00
Neale Ranns
568acbb7c9 ipsec: Fix decap of IPSEC/GRE in transport mode
Type: fix

in transport mode the header sequence is:
  MAC - IP (tun) - ESP - GRE - L2
so popping the GRE header is done in the ESP decrypt node.

Change-Id: Ia125eb65b9300368617d2bffca09683851e43be0
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-18 05:54:40 +00:00
Paul Vinciguerra
6461b7a319 tests: fix import from change to scapy 2.4.3
Type: test
Fixes: 8d27fa73f2

Change-Id: I4656a9769011ed2399c1799f6f17520e44f375c7
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-17 23:46:48 +00:00
Benoît Ganne
8d27fa73f2 classify: add complex encap packet tracing test
Type: test

Change-Id: I392975c00d7dae86dacedf7559aafa431e71cb14
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17 17:58:05 +00:00
Neale Ranns
e11dce20c9 nhrp: mGREv6
Type: test

Change-Id: I7d0496c37e06d3b6eee325a262e5398860282b63
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-17 17:52:28 +00:00
Neale Ranns
cbe25aab3b ip: Protocol Independent IP Neighbors
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-17 10:56:20 +00:00
Neale Ranns
3fd9904743 fib: Glean on NBMA interface points to drop
Type: fix

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Iaae7a9e120bbf8168c581b06d3ac0e124b32e0e7
2019-12-17 00:17:19 +00:00
snaramre
5d4b8912d2 tests: changes for scapy 2.4.3 migration
Type: fix
Change-Id: I7e041b666dabd90df23a920a1f1d99db4c10ddfe
Signed-off-by: snaramre <snaramre@cisco.com>
2019-12-14 22:14:12 +00:00
Jakub Grajciar
5d4c99f27e devices: vhost API cleanup
Use consistent API types.

Type: fix

Change-Id: I2dec594cb834a45004edc9ca58ad7c7b4bd7ff06
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-12-11 15:23:55 +00:00
Jakub Grajciar
5de4fb7076 devices: tap API cleanup
Use consistent API types.

Type: fix

Change-Id: I11cc7f6347b7a60e5fd41e54f0c7994e2d81199f
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-12-11 09:39:42 +00:00
Dave Barach
6b3f25caff vlib: improve test coverage
Add tests.
Remove unused rule-based parser code.

Type: test

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I3ca3a9dd9da8ee8f3a47004c98f2f5644db10057
2019-12-09 21:19:47 +00:00
Ole Troan
55636cb623 gtpu: use explicit types in api
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I16fcbd5e63526dbf062a3032701479324fe2a4f5
2019-12-09 12:43:47 +00:00
Ole Troan
04338e85ae pppoe: use explicit types in api
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ifd1e1907740e55420dc040eb2afbbbf9887aea3c
2019-12-07 11:18:58 +00:00
Paul Vinciguerra
61e3ade843 tests: move bfd over gre to extended tests
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-05 21:20:15 +00:00
Dave Barach
87d24db65f classify: vpp packet tracer support
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-05 15:31:57 +00:00
Klement Sekera
66cea092c7 tests: fix wrong checksum error message
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-05 14:57:20 +00:00
Ole Troan
fd574087e4 papi: add call stats
Type: feature
Change-Id: Ic6d44122d3e62e09402e3f1946f7e57e9b5e7c5f
Signed-off-by: Ole Troan <ot@cisco.com>
2019-12-05 14:56:23 +00:00
Paul Vinciguerra
8b2fffd93f tests: Revert "Python Tests: Make VppTestCase unit testable."
Type: test
This reverts commit 087c811b63.

Change-Id: Ica12597f27d5a75c33c12c2d27a227dc4866adcb
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-05 14:55:55 +00:00
Ole Troan
0c6293230d tests: add test run time.
Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Id7b30b5fe63e68ae88f3a42aa77d2614ccda724d
2019-12-05 13:26:01 +00:00
Dave Wallace
e89bfe33ab build: fix vom_test dependency on EXTENDED_TESTS
- 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-05 01:23:54 +00:00
Paul Vinciguerra
1043fd38d8 tests: fix exception handling around vapi.connect()/.disconnect()
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-04 23:17:37 +00:00
Paul Vinciguerra
207083f595 tests: add interface function chaining
Type: test

Change-Id: I24e740aa87a8a4061fa98740f2d636997e18f08d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-04 23:16:44 +00:00
Neale Ranns
3bab8f9c53 fib: Decouple source from priority and behaviour
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-04 22:47:12 +00:00
Neale Ranns
5f8f617332 gre: Multi-point interfaces
Type: feature

Change-Id: I0129ad6ace44a50a8a3b26db8e445cd06b2b49e8
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-04 22:45:11 +00:00
Dave Wallace
f0797d130f build: fix make test with distributed src
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: a43c93f855

Change-Id: Icc2ddb81d474081c3ede4548ecd7a0624651f62d
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-12-04 20:20:13 +00:00
Neale Ranns
9534696b46 ipip: Tunnel flags controlling copying data to/from payload/encap
Type: feature

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I9467f11775936754406892b8e9e275f989ac9b30
2019-12-03 19:36:26 +00:00
Jakub Grajciar
692bfc85f2 classify: API cleanup
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-03 14:53:47 +00:00
Paul Vinciguerra
e2ccdf0316 papi: add a per-call _timeout option
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-03 09:28:18 +00:00
Paul Vinciguerra
5d440d9cb6 tests: vpp_interface fix ip6 setter
Type: fix
Fixes: efd7bc2b1c

Change-Id: I254f9fe44189f88621b9b0ff3f869efb9966ada5
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-03 06:51:16 +00:00
Neale Ranns
abde62fb83 tests: GRE over IPSec unit tests
Type: test

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I4ae1b56f273026aca86775fb61feabcdeb62c62e
2019-12-02 23:33:42 +00:00
Paul Vinciguerra
5ef9ca6c0d tests: raise exception in vpp_interface for invalid sw_if_index
Type: test

Change-Id: I34058f2bd20f61a8f8355299a8df95f2948c25eb
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-02 21:40:31 +00:00
snaramre
73aff479bd tests: BFD python3 changes
Type: fix
Change-Id: Ie441e81fe3971d70f96196c79d74658f910b4875
Signed-off-by: snaramre <snaramre@cisco.com>
2019-12-02 17:38:23 +00:00
Paul Vinciguerra
bfd7d294d0 vlib: add 'wait' cli command
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-27 17:00:12 +00:00
Benoît Ganne
1a7ed5e3e6 tests: display stdout and stderr when output caching is disabled
Type: fix

Change-Id: I4286ba58bb15dd67c1199f76166bedf3b4e0344c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-11-27 15:25:31 +00:00
Benoît Ganne
9fb6d40eb3 misc: add address sanitizer heap instrumentation
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-27 10:50:28 +00:00
Neale Ranns
9efcee6e7b fib: Fix crash on cover update to non activated adj source
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-26 23:19:32 +00:00
Neale Ranns
9db6ada779 fib: Table Replace
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-26 09:15:11 +00:00
Paul Vinciguerra
41a817a318 tests: fix typo in test_vlib
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-25 14:50:31 +00:00
Dave Barach
e51a9bbe76 vlib: improve code coverage, part deux
Type: test

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: If31f4b50da7a6e4a9704ceb3415c582143c08355
2019-11-20 17:38:49 +00:00
Dave Barach
c17fc44735 vlib: improve code coverage in src/vlib
Type: test

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I2dc4c09730f77931a2b484a6dd5dc669068f8e57
2019-11-18 17:17:40 -05:00
Neale Ranns
1976f36b09 tests: Add UT to test incomplete MPLS adjacencies send ARP requests
Type: test

Change-Id: I81e07233aec54c786e4e9beb8c4f06d0a3dca90f
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-11-15 16:12:54 +00:00
Neale Ranns
efd7bc2b1c tests: Remove the unrequired VPP IP address/prefix class wrappers
Type: refactor

Change-Id: I204f3f8eebc5f5d5a377e91262f91c615fd00168
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-11-15 13:19:20 +00:00
Dave Barach
d9ca7c9604 vlib: improve vlib "make test" code coverage
Type: test

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Idf982fddad9e577595d2e05ac78c39705e9d616d
2019-11-13 20:59:45 +00:00
Jon Loeliger
9485d99bd3 interface: Allow VLAN tag-rewrite on non-sub-interfaces too.
This fix was first made in
    commit fdea5c6a00
but was subsequently lost in
    commit 053204ab03

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-12 20:37:55 +00:00
Neale Ranns
ea93e48cf6 ip: IP address and prefix types (moved from LISP)
Type: refactor

Change-Id: I2c6b59013bfd21136a2955442c779685f951932b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-11-12 18:56:04 +00:00
Ole Troan
eb284a1f8f ip: functional interface to ip fragmentation
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-11 12:33:36 +00:00
Neale Ranns
12989b5388 ipsec: remove dedicated IPSec tunnels
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-08 20:06:56 +00:00
Ole Troan
770a0deaad tests: python3 use byte strings in raw()
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-08 13:25:56 +00:00
Aleksander Djuric
c12eae73f9 interface: shmemioerror while getting name_filter arg
Type: fix

Signed-off-by: Aleksander Djuric <aleksander.djuric@gmail.com>
Change-Id: I5e0eb7024d208040d79e9d6db863f41e2ecf4ee6
Signed-off-by: Ole Troan <ot@cisco.com>
2019-11-07 14:39:02 +00:00