diff options
author | Vratko Polak <vrpolak@cisco.com> | 2023-05-23 10:34:05 +0200 |
---|---|---|
committer | Vratko Polak <vrpolak@cisco.com> | 2023-05-24 12:40:36 +0000 |
commit | 1fd3d96de221e7bf281f7ce96dc5cad0170a602d (patch) | |
tree | f94e408ee9cedeebe99ff0d70807aefb57812f1f /resources/libraries/python/autogen/Regenerator.py | |
parent | d6604cd860130f3d0520acefc1a0ced70e231b8c (diff) |
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>
Diffstat (limited to 'resources/libraries/python/autogen/Regenerator.py')
-rw-r--r-- | resources/libraries/python/autogen/Regenerator.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/resources/libraries/python/autogen/Regenerator.py b/resources/libraries/python/autogen/Regenerator.py index 4474996ef1..47e5b9fe86 100644 --- a/resources/libraries/python/autogen/Regenerator.py +++ b/resources/libraries/python/autogen/Regenerator.py @@ -1,4 +1,4 @@ -# Copyright (c) 2022 Cisco and/or its affiliates. +# Copyright (c) 2023 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -190,8 +190,12 @@ def add_default_testcases(testcase, iface, suite_id, file_out, tc_kwargs_list): # Soak test take too long, do not risk other than tc01. if kwargs[u"phy_cores"] != 1: emit = False - if kwargs[u"frame_size"] not in MIN_FRAME_SIZE_VALUES: - emit = False + if u"reassembly" in suite_id: + if kwargs[u"frame_size"] != 1518: + emit = False + else: + if kwargs[u"frame_size"] not in MIN_FRAME_SIZE_VALUES: + emit = False kwargs = filter_and_edit_kwargs_for_astf(suite_id, kwargs) if emit and kwargs is not None: file_out.write(testcase.generate(**kwargs)) |