feat(reassembly): add few suites for ip reassembly 86/35686/77
authorVratko Polak <vrpolak@cisco.com>
Tue, 23 May 2023 08:34:05 +0000 (10:34 +0200)
committerVratko Polak <vrpolak@cisco.com>
Wed, 24 May 2023 12:40:36 +0000 (12:40 +0000)
commit1fd3d96de221e7bf281f7ce96dc5cad0170a602d
treef94e408ee9cedeebe99ff0d70807aefb57812f1f
parentd6604cd860130f3d0520acefc1a0ced70e231b8c
feat(reassembly): add few suites for ip reassembly

In tunneling scenarios, VPP needs to reassembly packet fragments
before decapsulation. Conveniently, VPP also fragments the packets
after encapsulation (at least for some encapsulation protocols)
if they do not fit into MTU.

So this change adds few suites, adapted from existing 3-node ones
which additionally lower MTU on DUT1-DUT2 link.
The intended packet size is 1518B. 64B packets will fit,
and most of IMIX packets will also fit without fragmentation.
VPP refuses to reassembly 9000B packets as they have too many fragments.

+ Add a keyword so suites need only one additional line of code.
+ Add new test tag REASSEMBLY for the added suites.
+ Tell autogen the one soak test case for reaseembly should be 1518B.
- It is possible to increase fragment limit for 9000B, not done yet.
- Ipsec policy suites are added but they should not be used.
 - VPP does fragmentation twice (before and after encapsulation).
 - VPP does not perform reassembly (only last fragment is decrypted).
 - TRex does not realize the packet from VPP is only a fragment.
 - The result is false pass with unfairly good performance.
 + Suites still included, to simplify verifying VPP fixes for the above.

Change-Id: If33c60d767fea161d9e4ffabb8ded3d81c8f39ed
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
docs/content/overview/csit/test_tags.md
resources/libraries/python/Constants.py
resources/libraries/python/autogen/Regenerator.py
resources/libraries/robot/shared/interfaces.robot
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlsw-ip4base-int-aes128cbc-hmac512sha-reassembly-ndrpdr.robot [new file with mode: 0644]
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlsw-ip4base-int-aes256gcm-reassembly-ndrpdr.robot [new file with mode: 0644]
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1000tnlsw-ip4base-policy-aes256gcm-reassembly-ndrpdr.robot [new file with mode: 0644]
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlsw-ip4base-int-aes128cbc-hmac512sha-reassembly-ndrpdr.robot [new file with mode: 0644]
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlsw-ip4base-int-aes256gcm-reassembly-ndrpdr.robot [new file with mode: 0644]
tests/vpp/perf/crypto/10ge2p1x710-ethip4ipsec1tnlsw-ip4base-policy-aes256gcm-reassembly-ndrpdr.robot [new file with mode: 0644]
tests/vpp/perf/ip4_tunnels/10ge2p1x710-ethip4gtpusw-ip4base-reassembly-ndrpdr.robot [new file with mode: 0644]