20 Commits

Author SHA1 Message Date
Paul Vinciguerra
7f9b7f9f49 Tests Cleanup: Fix missing calls to setUpClass/tearDownClass.
Continuation/Part 2 of https://gerrit.fd.io/r/#/c/17092/

Change-Id: Id0122d84eaf2c05d29e5be63a594d5e528ee7c9a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-04-10 14:37:40 +00:00
Paul Vinciguerra
f7f13347bc tests: update test_lb.py to use api call lb_conf.
Change-Id: I96a1d4b2b3ae22cf164c0acd6db9b323cd70f51a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-22 08:30:11 +00:00
Ole Troan
a5b2eec053 vpp_papi_provider: Remove more wrapper functions.
Split this work up into pieces.
Please don't add new wrappers to vpp_papi_provider.py.

Change-Id: I0f8f2afc4cd2bba07ea70ddecea2d7319f7b2e10
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-11 21:57:19 +00:00
Paul Vinciguerra
a7427ec6f8 VPP-1508: Use scapy.compat to manage packet level library differences.
Change-Id: Icdf6abc9e53d33b26fd1d531c7dda6be0bb9cb55
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 08:11:16 +00:00
Paul Vinciguerra
eaea421e1f Tests: Refactor payload_to_info()
All callers of payload_to_info were required to wrap payload with str().
Refactor to call scapy's payload.load for raw payloads or specify the
specific fieldname.

Change-Id: I1c80599d4df8dc129dbb8274733afaad406d5bcf
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07 22:29:44 +00:00
Hongjun Ni
219cc90cb4 Support lb on both vip and per-port-vip case
Previously, a service is specified by vip.
This patch extend that a service is specified
by both vip and per-port-vip cases.

Change-Id: Icbfd1f972c6bafde7d85c6abb498576bd9ba250d
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-08-31 16:00:17 +00:00
Hongjun Ni
6fb0d9b269 L3DSR fix ip checksum issue and add test
Change-Id: Iedebbac71d3e694b915d6a126c80ecc3b5473a4a
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-06-26 14:56:30 +00:00
Hongjun Ni
d92a0b553f Rework kube-proxy into LB plugin
Add support of NAT66

Change-Id: Ie6aa79078a3835f989829b9a597c448dfd2f9ea3
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-05-18 07:45:31 +00:00
Hongjun Ni
647f609a11 Add L3DSR feature in LB plugin
L3DSR is used to overcome Layer 2 limitations
of Direct Server Return Load Balancing.
It maps VIP to DSCP bits, and reuse TOS bits to transfer it
to server, and then server will get VIP from DSCP-to-VIP mapping.
Please refer to https://www.nanog.org/meetings/nanog51/presentations/Monday/NANOG51.Talk45.nanog51-Schaumann.pdf

Change-Id: I403ffeadfb04ed0265086eb2dc41f2e17f8f34cb
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2018-02-02 02:20:46 +00:00
Gabriel Ganne
8e66b9bf4b Use crc32 wrapper (VPP-1086)
This allows arm platforms to also take advantage of crc32 hardware
acceleration.

* add a wrapper for crc32_u64. It's the only one really used. Using it
  instead of a call to clib_crc32c() eases building symmetrical hash
  functions.
* replace #ifdef on SSE4 by a test on clib_crc32c_uses_intrinsics.
  Note: keep the test on i386
* fix typo in lb test log

Change-Id: I03a0897b70f6c1717e6901d93cf0fe024d5facb5
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2017-12-16 19:32:25 +00:00
Gabriel Ganne
b3d1b20357 lb plugin tests - wipe flowtable after each unit test
Add new cli api: "test lb flowtable flush" which flushes everything.
Call this new cli function after the end of each lb unit test.

Change-Id: I71d04a7bfba398f7d4dd9cc3ed24bba786943663
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2017-10-31 08:00:36 +00:00
Gabriel Ganne
aa0dda48ac fix test_lb_ip4_gre6() cleanup
missing "del" keyword, and as a result, we were trying to add the as
twice.

Change-Id: If78ce03f0c71591c05ff6f4748fd9c929d0f861f
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2017-10-24 15:35:48 +02:00
Klement Sekera
dab231a11e make test: improve handling of packet captures
Perform accounting of expected packets based on created packet infos.
Use this accounting info to automatically expect (and verify) the
correct number of packets to be captured. Automatically retry the read
of the capture file if scapy raises an exception while doing so to
handle rare cases when capture file is read while only partially
written during busy wait. Don't fail assert_nothing_captured if only
junk packets arrived.

Change-Id: I16ec2e9410ef510d313ec16b7e13c57d0b2a63f5
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-23 17:38:33 +00:00
Klement Sekera
65cc8c0dbf make test: filter IPv6 RAs out by default
Most of the test cases are not interested in IPv6 Router Alerts,
so change the default behaviour of get_capture to filter out
these packets with the possibility of turning the filtering off,
for test cases which are interested in the RAs.

Change-Id: I0b5ee685f82c49cd32c6d6a4638eb3493d2988fc
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-19 21:33:42 +00:00
Klement Sekera
9225dee965 make test: improve robustness and performance
Introduce an API which asserts empty capture for interface.
Throw exception in old API if the capture does not exist, thus
making it clear if the test expects packets to arrive or not.
Improve performance by not doing sleeps after starting the packet
generator, rather lazily deleting captures when needed.
Fix wrong usage of packet.show() in various tests.

Change-Id: I456cb23316eef99b3f35f80344fe595c4db9a21c
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-16 08:09:40 +00:00
Klement Sekera
7bb873a4cc make test: fix missing log/packet messages
Change-Id: Idb3119792943664748c4abc3829ad723f4156dfe
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-12-05 18:44:45 +00:00
Matej Klotton
d6338ab752 Enable verification received packet for LB test
Change-Id: I9c8a2f5744f322b2bd91c5ae24aeb1279cd11e0c
Signed-off-by: Matej Klotton <mklotton@cisco.com>
2016-11-10 15:36:19 +01:00
Klement Sekera
d72fdf5712 Disable non-working checks in load-balancer test and rename ip->ip4
Change-Id: If62011e29e912bf0c47625b0d3b3624ef6375013
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-11-09 11:44:59 +00:00
Klement Sekera
f62ae1288a refactor test framework
Change-Id: I31da3b1857b6399f9899276a2d99cdd19436296c
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Matej Klotton <mklotton@cisco.com>
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-10-26 17:42:19 +02:00
Pierre Pfister
f588f35d66 Test: Add test case for Load Balancer plugin
This adds a basic test for the four existing encap modes
for the load balancer plugin.
- ip4 over gre4
- ip4 over gre6
- ip6 over gre4
- ip6 over gre6

Apparently, scapy does not support GRE and IPv6 combinations.
Hence, those tests do send packets through VPP, but only
ip4 over gre4 output is actually parsed and verified.

Change-Id: I7cedb0f88fd0788ee51b1428ddf9cff7c037511f
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-10-10 21:05:14 +00:00