25 Commits

Author SHA1 Message Date
Vladimir Isaev
698eb87a8e vxlan: Fixed checksum caclculation offset
VXLAN uses csum_offload for IPv6 packets.

But without gso node we have csum calculated only for inner
packet.
This patch adds support for outer header csum calculation.
Checksum for inner packet should be calculated before
interface-output node (for example in vxlan node).

Type: fix

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Signed-off-by: Vladimir Isaev <visaev@netgate.com>
Change-Id: Ica68429ede4426293769207cd83c791ebe72fe56
2020-06-08 14:17:59 +00:00
Paul Vinciguerra
2f1563129a tests: vpp_interface remove deprecated packed properties
The api no longer requires packed ip addresses.

Type: test

Change-Id: If67365d86b7c3189f871a58234e99f9c8f875371
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-05-03 15:21:42 -04:00
Neale Ranns
91fd910d7d geneve: Fix the byte swapping for the VNI
Type: fix

- swipe away the vomit indent left last time.
- add tests for VNIs > 16bit

Change-Id: I2d1f591bfb9d7a18996c38969365a509168d4193
Signed-off-by: Neale Ranns <nranns@cisco.com>
2020-04-10 12:21:30 +00:00
Jakub Grajciar
7c0eb56f40 vxlan: vxlan/vxlan.api API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I7f6f37ec6eed780322e2488d6eb0f5681945ba09
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-16 09:18:46 +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
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
Renato Botelho do Couto
ead1e536d6 misc: Fix python scripts shebang line
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-05 21:08:59 +00:00
Neale Ranns
097fa66b98 fib: fib api updates
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-18 13:31:39 +00:00
Paul Vinciguerra
90cf21b5d8 Tests: Refactor tearDown show command logging, add lifecycle markers.
This change adds a consistent interface for adding test-specific show commands to
log.txt.

It also adds log markers for the execution of setUp[Class], tearDown[Class]
in the logs.

Change-Id: I7d42e396e594a59e866a7d55dac0af25548e657a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-04-11 07:23:11 +00:00
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
c599c6f001 Tests: Raise exception, don't raise string.
This was deprecated ~ python 2.4, and causes a TypeError as sideEffect.

>>> raise "foo"
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: exceptions must derive from BaseException

Change-Id: I4117b6d60ae896eaa1ef2a73a323d8d241f8c3a7
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-12 17:48:49 -07: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
Ole Troan
7f99183a20 Test framework: StringIO fixes for Python3
Add 2/3 support to binarytomac and mactobinary and move to vpp_mac.py

Change-Id: I3dc7e4a24486aee22140c781aae7e44e58935877
Signed-off-by: Ole Troan <ot@cisco.com>
2018-12-10 08:01:56 +00:00
Ole Troan
b3655e5592 VPP-1392: VXLAN fails with IP fragmentation
Not only is it wasteful to send all fragments back through ip4-lookup, but
it doesn't work with tunnel mechanisms that don't have IP enabled on their
payload side.

Change-Id: Ic92d95982dddaa70969a2a6ea2f98edec7614425
Signed-off-by: Ole Troan <ot@cisco.com>
2018-08-17 21:38:47 +00:00
Eyal Bari
cef1e2a8b4 test:vxlan over ipv6 tests
Change-Id: Id910db0e3a07ecc6f469e2f0d1e97f39ba48cc60
Signed-off-by: Eyal Bari <ebari@cisco.com>
2018-06-21 19:21:36 +00:00
Gabriel Ganne
7e665d64eb make "test-all" target pass again
The "test-all" target is still never called as part of any continuous
test (as it probably should) but at least it can now be expected to
succeed.

VXLAN-GPE:
* decapsulate Ethernet to "l2-input" instead of "ethernet-input"
  otherwise the inner mac address get checked against the interface one
  (external) and packet gets dropped (mac mismatch)
* set packet input sw_if_index to unicast vxlan tunnel for learning

TEST:
* VXLAN:
  * reduce the number of share tunnels:
    => reduce test duration by half
    => no functional change
* VXLAN-GPE:
  * fix test TearDown() cli: command is "show vxlan-gpe" only
  * remove vxlan-gpe specific tests as the were a duplicated of the
    BridgeDomain one and already inherited.
  * disable test_mcast_rcv() and test_mcast_flood() tests
* P2PEthernetAPI:
  * remove test: "create 100k of p2p subifs"
    there already is a "create 1k p2p subifs" so this one is a load test
    and not a unit test.
    See: lists.fd.io/pipermail/vpp-dev/2017-November/007280.html

Change-Id: Icafb83769eb560cbdeb3dc6d1f1d3c23c0901cd9
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2017-12-13 19:03:56 +00:00
Eyal Bari
d927834a1f VXLAN/TEST:validate vxlan del reply has valid sw_if_index
Change-Id: Icf7420b7ee212e9341f63f005dc287d019fd8e4c
Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-04-07 15:04:51 +00:00
Eyal Bari
6ae5ee7add VXLAN:validate mcast encapsulation ip/mac
Change-Id: I399257e372f83f4d12dc7873617980af6e46a9bc
Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-03-29 16:59:03 +00:00
Eyal Bari
4bce290f3e test adding and removing shared mcast dst tunnels
Adds and delete 2000 multicast vxlan tunnels sharing group address
to test mcast tunnel ref count code as part of the stability stage (before starting traffic tests)

Change-Id: Ic50cedf80471e14431feb493104eff5ea7d5d429
Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-01-25 15:17:18 +00:00
Eyal Bari
d81da8c0b5 vxlan unit test - minor fixes
moved ip4_range and ip4n_range to util
added n_ucast_tunnels

Change-Id: I9140c4e54a0636d90a97db03da842f5183319af5
Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-01-11 15:08:18 +00:00
Eyal Bari
c4aaee1146 Added basic tests for multicast vxlan tunnels
unicast flood test - test headend replication
multicast flood test - test flooding when a multicast vxlan tunnel is present in BD
multicast receive test - verify that multicast packet are received on their
   corresponding unicast tunnels and that unmatched packets are dropped

all tests run after adding and removing 200 mcast tunnels to test stability

Change-Id: Ia05108c39ac35096a5b633cf52480a9ba87c14df
Signed-off-by: Eyal Bari <ebari@cisco.com>
2017-01-06 20:29:33 +00:00
Matej Klotton
deb6984471 make test: Use VXLAN built in scapy 2.3.3
- fix documentation issues.
- fix mpls test.

Change-Id: Ieef6b4b5e4aca99e89bd03e45a991be89d42adba
Signed-off-by: Matej Klotton <mklotton@cisco.com>
2016-12-13 07:06:56 +01: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
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
Damjan Marion
f56b77a076 test: new test infrastructure
Change-Id: I73ca19c431743f6b39669c583d9222a6559346ef
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Signed-off-by: Stefan Kobza <skobza@cisco.com>
Signed-off-by: Matej Klotton <mklotton@cisco.com>
Signed-off-by: Maciek Konstantynowicz <mkonstan@cisco.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-03 19:58:19 +00:00