aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_reassembly.py
AgeCommit message (Collapse)AuthorFilesLines
2019-08-20tests: Revert "Tests: Example duplicate code refactoring."Klement Sekera1-243/+277
This reverts commit 6955595a577e1b7d316b5b69267bf1d1d951a4ab. The result is that test filtering for reassembly tests works again. Type: fix Change-Id: I4acb094b5b4aa264745986afa0bb0528789807b3 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-06-18fib: fib api updatesNeale Ranns1-5/+4
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-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-20reassembly: prevent long chain attackKlement Sekera1-0/+72
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-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-04-18GRE: API updateNeale Ranns1-2/+2
Change-Id: I5010cd34123c6498230dedac6ba8dd774a1085f9 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-11Tests: Refactor tearDown show command logging, add lifecycle markers.Paul Vinciguerra1-1/+9
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-10Tests Cleanup: Fix missing calls to setUpClass/tearDownClass.Paul Vinciguerra1-0/+16
Continuation/Part 2 of https://gerrit.fd.io/r/#/c/17092/ Change-Id: Id0122d84eaf2c05d29e5be63a594d5e528ee7c9a Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11VPP-1508: Use scapy.compat to manage packet level library differences.Paul Vinciguerra1-4/+8
Change-Id: Icdf6abc9e53d33b26fd1d531c7dda6be0bb9cb55 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07Tests: Refactor payload_to_info()Paul Vinciguerra1-3/+3
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-06Tests: Example duplicate code refactoring.Paul Vinciguerra1-273/+243
Refactor of duplicate methods in test/test_reassembly.py. Change-Id: I46f880da6a0ced2acae1fa33c6892d0148b26139 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-19reassembly: fix buffer usage counterKlement Sekera1-0/+5
Change-Id: I713904f8eb2f724cb08dba494c160c14cc8b24a1 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-01-10Enable random reassembly test for ARMjuraj.linkes1-4/+1
The underlying failure has been fixed and now the test can be re-enabled. Change-Id: I75251f6150ef1771dc23ea079799229690cf87d9 Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
2018-12-20Tests: Cleanup @skip decorator.Paul Vinciguerra1-1/+1
The runnning environment is static as of module load time, so only evalute the conditions once at module load time. Track-by: VPP-1518 Change-Id: I73b0d17ae1ff90789e70307f168d43921829aec8 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-12-20reassembly: replace asserts with error countersKlement Sekera1-2/+3
Change-Id: Iaa39aea990bc04147f6a049215e990a567d30106 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-12-16VPP-1523: harden reassemblyKlement Sekera1-2/+42
Change-Id: I00d7b38bd99e81e3921ce08cce50d613f11de36e Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-12-13reassembly: fix internal buffer count accountingKlement Sekera1-0/+31
Change-Id: I6af2c8552aeafe0abc8b8c3e5af1a05640e95919 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-12-13VPP-1522: harden reassembly codeKlement Sekera1-3/+28
Change-Id: Ib5a20bff7d8a340ecf50bcd4a023d6bf36382ba3 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-12-06Skip failing ARM testcases for CIjuraj.linkes1-1/+4
There are a few tests that fail on ARM and thus we can't enable testing in CI. Skip the failing tests until they're fixed so that we catch new failures in CI (when we enable testing for the remaining tests). Change-Id: Ie896ef5c449ef965029633e38d317a8d5ac26352 Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
2018-11-27VPP-1508 python3 tests: use six.iteritemsPaul Vinciguerra1-5/+7
This replaces dictionary.iteritems() on Python 2 and dictionary.items() on Python 3. Change-Id: I58a3ded7d284c59e28d484b0c285aac435bfc229 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-10-04Support reassembly for fragments coming to ip4-local nodeJuraj Sloboda1-1/+118
Change-Id: I3aa4708c1c3cdda344f282d56b617677080eaaa1 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2018-09-11GBP Endpoint UpdatesNeale Ranns1-1/+2
- common types on the API - endpoints keyed in various ways for DP lookup - conparison functions for VPP IP address types Change-Id: If7ec0bbc5cea71fd0983fe78987d147ec1bd7ec8 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-04-03reassembly: bug fixesKlement Sekera1-2/+1
This change fixes a bug which would corrupt features infra by making feature infra resistant to double-removal. It also fixes 'out of memory' issue by properly initializing the bihash tables. Change-Id: I78ac03139234a9a0e0b48e7bdfac1c38a0069e82 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-03-21reassembly: feature/concurrencyKlement Sekera1-0/+972
This change makes ip reassembly an interface feature, while adding concurrency support. Due to this, punt is no longer needed to test reassembly. Change-Id: I467669514ec33283ce935be0f1dd08f07684f0c7 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-03-07test: disable reassembly tests and system modification scriptDamjan Marion1-966/+0
One of basic requirements from day one for maek test is that it should run unpriviledged, so modifying system paremeters is unacceptable. Disabling script and reassembly tests as they need to be done in different way. Change-Id: I063c73eb82f2ebd7499e8adb1574a9fd2475fb5b Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-02-01IPv4/6 reassemblyKlement Sekera1-0/+966
Change-Id: Ic5dcadd13c88b8a5e7896dab82404509c081614a Signed-off-by: Klement Sekera <ksekera@cisco.com>