diff options
author | Vratko Polak <vrpolak@cisco.com> | 2020-05-04 13:05:26 +0200 |
---|---|---|
committer | Vratko Polak <vrpolak@cisco.com> | 2020-05-06 14:03:21 +0000 |
commit | 79f5ba9bf7656972dd988508eff9465562dde42c (patch) | |
tree | a84714e81d65bfc4f0454fa8e327d4129f58ac79 | |
parent | 16ef90a2415aa3b65341fdb6517cf58721bfff7a (diff) |
Separate files needing GPL license
+ Keep apache license for now, until this is completed:
https://wiki.fd.io/view/TSC/Relicensing_Procedure
+ Add utilities for switching license comment blocks.
- They do not preserve attributes, so executable flag is lost.
+ Move the affected files to GPL/.
+ Update paths so files are executed from the new location.
+ Change the way scripts are started to do not require executable flag.
+ Employ OptionString when constructing longer command lines.
+ Move also PacketVerifier.py and TrafficScriptArg.py
as they are linked with traffic scripts.
+ That means the two files are outside "resources" package tree now.
+ Added __init__.py files so relative imports work in new package tree.
+ Start traffic scripts as python modules to allow relative imports.
+ Once again needed because they are outside the default PYTHONPATH.
Change-Id: Ieb135629e890adbaf5b79497570f3be25b746f9f
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
-rw-r--r-- | GPL/README.txt | 11 | ||||
-rw-r--r--[-rwxr-xr-x] | GPL/tools/trex/trex_server_info.py (renamed from resources/tools/trex/trex_server_info.py) | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | GPL/tools/trex/trex_stateless_profile.py (renamed from resources/tools/trex/trex_stateless_profile.py) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | GPL/tools/trex/trex_stateless_stop.py (renamed from resources/tools/trex/trex_stateless_stop.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/profile_trex_stateless_base_class.py (renamed from resources/traffic_profiles/trex/profile_trex_stateless_base_class.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-dot1qip4asym-ip4src254.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-dot1qip4asym-ip4src254.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-dot1qip6asym-ip6src253.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-dot1qip6asym-ip6src253.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd10000.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd10000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd100000.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd100000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd1000000.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd1000000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst10000.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst10000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst100000.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst100000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst1000000.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst1000000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4src253.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4src253.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4src254.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4src254.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc500kdst500k.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc500kdst500k.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc50kdst50k.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc50kdst50k.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc5kdst5k.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc5kdst5k.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4udp-1000u15p.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4udp-1000u15p.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4udp-10u1000p-conc.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4udp-10u1000p-conc.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4udp-1u1p.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4udp-1u1p.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip4udp-lb.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip4udp-lb.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst10000.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst10000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst100000.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst100000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst1000000.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst1000000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n-ethip6-ip6src253.py (renamed from resources/traffic_profiles/trex/trex-sl-2n-ethip6-ip6src253.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-10c1n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-10c1n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-10c2n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-10c2n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c10n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c10n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c1n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c1n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c2n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c2n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c4n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c4n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c6n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c6n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c8n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c8n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c10n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c10n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c1n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c1n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c2n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c2n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c4n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c4n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c6n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c6n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c8n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c8n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c1n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c1n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c2n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c2n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c4n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c4n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c6n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c6n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c1n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c1n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c2n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c2n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c4n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c4n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-8c1n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-8c1n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-8c2n.py (renamed from resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-8c2n.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan100ip4src254ip4dst254.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan100ip4src254ip4dst254.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan10ip4src254ip4dst254.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan10ip4src254ip4dst254.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan1ip4src254ip4dst254.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan1ip4src254ip4dst254.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan1kip4src254ip4dst254.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan1kip4src254ip4dst254.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst100.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst100.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-1cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-1cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-2cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-2cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-4cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-4cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-8cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-8cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-1cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-1cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-2cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-2cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-4cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-4cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-8cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-8cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst100000.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst100000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000000.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-1cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-1cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-2cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-2cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-4cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-4cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-8cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-8cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst253.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst253.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst253_l3fwd.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst253_l3fwd.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-1cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-1cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-2cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-2cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-4cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-4cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-1cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-1cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-2cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-2cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-4cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-4cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-8cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-8cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-1cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-1cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-2cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-2cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-4cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-4cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-8cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-8cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-1cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-1cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-2cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-2cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-4cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-4cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-8cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-8cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-1cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-1cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-2cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-2cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-4cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-4cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-8cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-8cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-1cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-1cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-2cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-2cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-4cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-4cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-8cnf.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-8cnf.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4src253.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4src253.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4src254.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4src254.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc100ip4src100.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc100ip4src100.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc100kip4src100k.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc100kip4src100k.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc10kip4src10k.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc10kip4src10k.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc500kdst500k.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc500kdst500k.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc50kdst50k.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc50kdst50k.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc5kdst5k.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc5kdst5k.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-1000u15p.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-1000u15p.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-100u1000p-conc.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-100u1000p-conc.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-100u15p.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-100u15p.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u1000p-conc.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u1000p-conc.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u10p-conc.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u10p-conc.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u15p.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u15p.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-1u15p.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-1u15p.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-1u1p.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-1u1p.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-2000u15p.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-2000u15p.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-4000u15p.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-4000u15p.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst10000.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst10000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst100000.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst100000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst1000000.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst1000000.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-3n-ethip6-ip6src253.py (renamed from resources/traffic_profiles/trex/trex-sl-3n-ethip6-ip6src253.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-dot1qip4-vlan1ip4src254ip4dst254-bvi.py (renamed from resources/traffic_profiles/trex/trex-sl-dot1qip4-vlan1ip4src254ip4dst254-bvi.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-dot1qip4-vlan1ip4src254ip4dst254.py (renamed from resources/traffic_profiles/trex/trex-sl-dot1qip4-vlan1ip4src254ip4dst254.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src10udpsrcrnd.py (renamed from resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src10udpsrcrnd.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src1udpsrcrnd.py (renamed from resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src1udpsrcrnd.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src2udpsrcrnd.py (renamed from resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src2udpsrcrnd.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src4udpsrcrnd.py (renamed from resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src4udpsrcrnd.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src6udpsrcrnd.py (renamed from resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src6udpsrcrnd.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src8udpsrcrnd.py (renamed from resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src8udpsrcrnd.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_profiles/trex/trex-sl-ethip4vxlan-ip4src1udpsrcrnd.py (renamed from resources/traffic_profiles/trex/trex-sl-ethip4vxlan-ip4src1udpsrcrnd.py) | 0 | ||||
-rw-r--r-- | GPL/traffic_scripts/PacketVerifier.py (renamed from resources/libraries/python/PacketVerifier.py) | 2 | ||||
-rw-r--r-- | GPL/traffic_scripts/TrafficScriptArg.py (renamed from resources/libraries/python/TrafficScriptArg.py) | 2 | ||||
-rw-r--r-- | GPL/traffic_scripts/__init__.py | 16 | ||||
-rw-r--r--[-rwxr-xr-x] | GPL/traffic_scripts/ipsec_interface.py (renamed from resources/traffic_scripts/ipsec_interface.py) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | GPL/traffic_scripts/ipsec_policy.py (renamed from resources/traffic_scripts/ipsec_policy.py) | 4 | ||||
-rw-r--r-- | GPL/traffic_scripts/lisp/__init__.py | 16 | ||||
-rw-r--r--[-rwxr-xr-x] | GPL/traffic_scripts/lisp/lisp_check.py (renamed from resources/traffic_scripts/lisp/lisp_check.py) | 6 | ||||
-rw-r--r--[-rwxr-xr-x] | GPL/traffic_scripts/lisp/lispgpe_check.py (renamed from resources/traffic_scripts/lisp/lispgpe_check.py) | 6 | ||||
-rw-r--r--[-rwxr-xr-x] | GPL/traffic_scripts/policer.py (renamed from resources/traffic_scripts/policer.py) | 6 | ||||
-rw-r--r--[-rwxr-xr-x] | GPL/traffic_scripts/send_icmp_wait_for_reply.py (renamed from resources/traffic_scripts/send_icmp_wait_for_reply.py) | 6 | ||||
-rw-r--r--[-rwxr-xr-x] | GPL/traffic_scripts/send_ip_check_headers.py (renamed from resources/traffic_scripts/send_ip_check_headers.py) | 6 | ||||
-rw-r--r--[-rwxr-xr-x] | GPL/traffic_scripts/send_vxlan_check_vxlan.py (renamed from resources/traffic_scripts/send_vxlan_check_vxlan.py) | 8 | ||||
-rw-r--r--[-rwxr-xr-x] | GPL/traffic_scripts/srv6_encap.py (renamed from resources/traffic_scripts/srv6_encap.py) | 4 | ||||
-rw-r--r-- | GPL/traffic_scripts/vxlan.py | 32 | ||||
-rw-r--r-- | resources/libraries/python/TrafficGenerator.py | 70 | ||||
-rw-r--r-- | resources/libraries/python/TrafficScriptExecutor.py | 6 | ||||
-rw-r--r-- | resources/tools/block_replacer/apache2gpl.sh | 27 | ||||
-rw-r--r-- | resources/tools/block_replacer/apache_block.txt | 11 | ||||
-rw-r--r-- | resources/tools/block_replacer/gpl2apache.sh | 27 | ||||
-rw-r--r-- | resources/tools/block_replacer/gpl_block.txt | 13 | ||||
-rw-r--r-- | resources/tools/block_replacer/replace.py | 126 | ||||
-rw-r--r-- | resources/traffic_scripts/vxlan.py | 19 |
156 files changed, 346 insertions, 84 deletions
diff --git a/GPL/README.txt b/GPL/README.txt new file mode 100644 index 0000000000..36de320ab5 --- /dev/null +++ b/GPL/README.txt @@ -0,0 +1,11 @@ +This directory (and its subdirectories) +contain files that have to be distributed under GPL license, +mostly because of linking with scapy. + +When migrating more files here, make sure to migrate +also everything linking with them. + +Currently the license listed is still Apache 2.0, +we are waiting for sign-offs as described in +https://wiki.fd.io/view/TSC/Relicensing_Procedure +before we switch the licenses. diff --git a/resources/tools/trex/trex_server_info.py b/GPL/tools/trex/trex_server_info.py index b34709b206..8423801285 100755..100644 --- a/resources/tools/trex/trex_server_info.py +++ b/GPL/tools/trex/trex_server_info.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2020 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: diff --git a/resources/tools/trex/trex_stateless_profile.py b/GPL/tools/trex/trex_stateless_profile.py index a0de5c0cd3..a0de5c0cd3 100755..100644 --- a/resources/tools/trex/trex_stateless_profile.py +++ b/GPL/tools/trex/trex_stateless_profile.py diff --git a/resources/tools/trex/trex_stateless_stop.py b/GPL/tools/trex/trex_stateless_stop.py index 5e8721d28c..5e8721d28c 100755..100644 --- a/resources/tools/trex/trex_stateless_stop.py +++ b/GPL/tools/trex/trex_stateless_stop.py diff --git a/resources/traffic_profiles/trex/profile_trex_stateless_base_class.py b/GPL/traffic_profiles/trex/profile_trex_stateless_base_class.py index a3736796eb..a3736796eb 100644 --- a/resources/traffic_profiles/trex/profile_trex_stateless_base_class.py +++ b/GPL/traffic_profiles/trex/profile_trex_stateless_base_class.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-dot1qip4asym-ip4src254.py b/GPL/traffic_profiles/trex/trex-sl-2n-dot1qip4asym-ip4src254.py index ae411e233b..ae411e233b 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-dot1qip4asym-ip4src254.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-dot1qip4asym-ip4src254.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-dot1qip6asym-ip6src253.py b/GPL/traffic_profiles/trex/trex-sl-2n-dot1qip6asym-ip6src253.py index f2e9e81920..f2e9e81920 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-dot1qip6asym-ip6src253.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-dot1qip6asym-ip6src253.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd10000.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd10000.py index 16627f0884..16627f0884 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd10000.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd10000.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd100000.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd100000.py index 751528d10c..751528d10c 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd100000.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd100000.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd1000000.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd1000000.py index 58ab03516c..58ab03516c 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd1000000.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst-rnd1000000.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst10000.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst10000.py index e9d5fb15f6..e9d5fb15f6 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst10000.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst10000.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst100000.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst100000.py index 5977d36b5b..5977d36b5b 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst100000.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst100000.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst1000000.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst1000000.py index 8b63b82e4f..8b63b82e4f 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst1000000.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4dst1000000.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4src253.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4src253.py index 883883ad18..883883ad18 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4src253.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4src253.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4src254.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4src254.py index fc6167d126..fc6167d126 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-ip4src254.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-ip4src254.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc500kdst500k.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc500kdst500k.py index 9c55482078..9c55482078 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc500kdst500k.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc500kdst500k.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc50kdst50k.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc50kdst50k.py index 42e3db6a6f..42e3db6a6f 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc50kdst50k.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc50kdst50k.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc5kdst5k.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc5kdst5k.py index 29df3373d3..29df3373d3 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc5kdst5k.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4-macsrc5kdst5k.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4udp-1000u15p.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4udp-1000u15p.py index 64fe1a705f..64fe1a705f 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4udp-1000u15p.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4udp-1000u15p.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4udp-10u1000p-conc.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4udp-10u1000p-conc.py index 77f05f8af3..77f05f8af3 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4udp-10u1000p-conc.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4udp-10u1000p-conc.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4udp-1u1p.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4udp-1u1p.py index a892ec8822..a892ec8822 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4udp-1u1p.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4udp-1u1p.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip4udp-lb.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4udp-lb.py index df05cbff17..df05cbff17 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip4udp-lb.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip4udp-lb.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst10000.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst10000.py index f1b90350fb..f1b90350fb 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst10000.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst10000.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst100000.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst100000.py index 87e76726b2..87e76726b2 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst100000.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst100000.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst1000000.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst1000000.py index 9214b6239d..9214b6239d 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst1000000.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip6-ip6dst1000000.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n-ethip6-ip6src253.py b/GPL/traffic_profiles/trex/trex-sl-2n-ethip6-ip6src253.py index 7ac5f75bed..7ac5f75bed 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n-ethip6-ip6src253.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n-ethip6-ip6src253.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-10c1n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-10c1n.py index 3707ec6b9a..3707ec6b9a 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-10c1n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-10c1n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-10c2n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-10c2n.py index 52396c3723..52396c3723 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-10c2n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-10c2n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c10n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c10n.py index 8d29f86b49..8d29f86b49 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c10n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c10n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c1n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c1n.py index f50e2e6c1d..f50e2e6c1d 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c1n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c1n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c2n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c2n.py index 1923f72504..1923f72504 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c2n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c2n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c4n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c4n.py index a1e55c5253..a1e55c5253 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c4n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c4n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c6n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c6n.py index ffc8b428ef..ffc8b428ef 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c6n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c6n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c8n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c8n.py index 952859b31d..952859b31d 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c8n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-1c8n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c10n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c10n.py index 84440af422..84440af422 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c10n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c10n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c1n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c1n.py index 91941769a3..91941769a3 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c1n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c1n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c2n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c2n.py index d66271f076..d66271f076 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c2n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c2n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c4n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c4n.py index 7eadae361b..7eadae361b 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c4n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c4n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c6n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c6n.py index 3725f75b3e..3725f75b3e 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c6n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c6n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c8n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c8n.py index 024cbc34f3..024cbc34f3 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c8n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-2c8n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c1n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c1n.py index e8c62b9c41..e8c62b9c41 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c1n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c1n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c2n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c2n.py index a6fbe9ea79..a6fbe9ea79 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c2n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c2n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c4n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c4n.py index f1477419c3..f1477419c3 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c4n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c4n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c6n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c6n.py index 7e2b79fdac..7e2b79fdac 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c6n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-4c6n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c1n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c1n.py index dc8616c6fe..dc8616c6fe 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c1n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c1n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c2n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c2n.py index 53a83db70b..53a83db70b 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c2n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c2n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c4n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c4n.py index ac697e60ec..ac697e60ec 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c4n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-6c4n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-8c1n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-8c1n.py index 587dfc3406..587dfc3406 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-8c1n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-8c1n.py diff --git a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-8c2n.py b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-8c2n.py index 9123a752b2..9123a752b2 100644 --- a/resources/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-8c2n.py +++ b/GPL/traffic_profiles/trex/trex-sl-2n3n-ethip4-ip4src254-8c2n.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan100ip4src254ip4dst254.py b/GPL/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan100ip4src254ip4dst254.py index b414bd1c7a..b414bd1c7a 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan100ip4src254ip4dst254.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan100ip4src254ip4dst254.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan10ip4src254ip4dst254.py b/GPL/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan10ip4src254ip4dst254.py index d878e2d726..d878e2d726 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan10ip4src254ip4dst254.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan10ip4src254ip4dst254.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan1ip4src254ip4dst254.py b/GPL/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan1ip4src254ip4dst254.py index c8f279bdb3..c8f279bdb3 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan1ip4src254ip4dst254.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan1ip4src254ip4dst254.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan1kip4src254ip4dst254.py b/GPL/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan1kip4src254ip4dst254.py index 02decf4284..02decf4284 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan1kip4src254ip4dst254.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-dot1qip4-vlan1kip4src254ip4dst254.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1.py index 0d36b7358f..0d36b7358f 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst100.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst100.py index 222b127914..222b127914 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst100.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst100.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-1cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-1cnf.py index 1397ae4828..1397ae4828 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-1cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-1cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-2cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-2cnf.py index b7f316092a..b7f316092a 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-2cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-2cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-4cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-4cnf.py index a64e4d5a5e..a64e4d5a5e 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-4cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-4cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-8cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-8cnf.py index a58df6e87b..a58df6e87b 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-8cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000-8cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000.py index 8d9ec21a25..8d9ec21a25 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-1cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-1cnf.py index 53e68de2b9..53e68de2b9 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-1cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-1cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-2cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-2cnf.py index ca3f41a6fb..ca3f41a6fb 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-2cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-2cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-4cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-4cnf.py index df7572853f..df7572853f 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-4cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-4cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-8cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-8cnf.py index 1dbd3feb1a..1dbd3feb1a 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-8cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000-8cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000.py index 9f55ff71de..9f55ff71de 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst10000.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst100000.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst100000.py index ae36cf9995..ae36cf9995 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst100000.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst100000.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000000.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000000.py index 8f6e5a0836..8f6e5a0836 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000000.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst1000000.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-1cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-1cnf.py index f6f6fada5a..f6f6fada5a 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-1cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-1cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-2cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-2cnf.py index 15cb461624..15cb461624 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-2cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-2cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-4cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-4cnf.py index 62eb1bee78..62eb1bee78 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-4cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-4cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-8cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-8cnf.py index b6eef29366..b6eef29366 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-8cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000-8cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000.py index 877e6cdc66..877e6cdc66 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst20000.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst253.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst253.py index e1e6a89af7..e1e6a89af7 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst253.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst253.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst253_l3fwd.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst253_l3fwd.py index ed4f5b5bd6..ed4f5b5bd6 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst253_l3fwd.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst253_l3fwd.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-1cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-1cnf.py index b937d02741..b937d02741 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-1cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-1cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-2cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-2cnf.py index b95649a94d..b95649a94d 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-2cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-2cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-4cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-4cnf.py index fed0d7ef3c..fed0d7ef3c 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-4cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4-4cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4.py index 9f14d4c929..9f14d4c929 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst4.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-1cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-1cnf.py index d321d0ffb2..d321d0ffb2 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-1cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-1cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-2cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-2cnf.py index acc565e776..acc565e776 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-2cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-2cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-4cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-4cnf.py index 629100cb83..629100cb83 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-4cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-4cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-8cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-8cnf.py index b51c98d7aa..b51c98d7aa 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-8cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40-8cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40.py index 5dbc5fc803..5dbc5fc803 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-1cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-1cnf.py index 1a004b055f..1a004b055f 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-1cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-1cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-2cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-2cnf.py index b09e79d7dc..b09e79d7dc 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-2cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-2cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-4cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-4cnf.py index 7081525771..7081525771 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-4cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-4cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-8cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-8cnf.py index c5b1d52e04..c5b1d52e04 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-8cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400-8cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400.py index 44db3ec81c..44db3ec81c 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst400.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-1cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-1cnf.py index 038b986b65..038b986b65 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-1cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-1cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-2cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-2cnf.py index 5933b33d20..5933b33d20 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-2cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-2cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-4cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-4cnf.py index 851cd7c870..851cd7c870 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-4cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-4cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-8cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-8cnf.py index 40d57f09dd..40d57f09dd 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-8cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000-8cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000.py index 570a236fd6..570a236fd6 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst40000.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-1cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-1cnf.py index fb4c61b030..fb4c61b030 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-1cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-1cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-2cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-2cnf.py index ca13c337cb..ca13c337cb 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-2cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-2cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-4cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-4cnf.py index 1ffd8c8ba5..1ffd8c8ba5 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-4cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-4cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-8cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-8cnf.py index 26efc1a438..26efc1a438 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-8cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000-8cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000.py index 95d8380a22..95d8380a22 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst5000.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-1cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-1cnf.py index 251758ddae..251758ddae 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-1cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-1cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-2cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-2cnf.py index acebf6d06d..acebf6d06d 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-2cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-2cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-4cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-4cnf.py index 3fe3caf128..3fe3caf128 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-4cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-4cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-8cnf.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-8cnf.py index 84bfb89f0b..84bfb89f0b 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-8cnf.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000-8cnf.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000.py index 126302d545..126302d545 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4dst60000.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4src253.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4src253.py index 883883ad18..883883ad18 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4src253.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4src253.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4src254.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4src254.py index fc6167d126..fc6167d126 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-ip4src254.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-ip4src254.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc100ip4src100.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc100ip4src100.py index b94c56ad6c..b94c56ad6c 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc100ip4src100.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc100ip4src100.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc100kip4src100k.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc100kip4src100k.py index 52eb841ab0..52eb841ab0 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc100kip4src100k.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc100kip4src100k.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc10kip4src10k.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc10kip4src10k.py index 8e959c829d..8e959c829d 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc10kip4src10k.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc10kip4src10k.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc500kdst500k.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc500kdst500k.py index da4348f2a0..da4348f2a0 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc500kdst500k.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc500kdst500k.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc50kdst50k.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc50kdst50k.py index 6cf066367b..6cf066367b 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc50kdst50k.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc50kdst50k.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc5kdst5k.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc5kdst5k.py index 29df3373d3..29df3373d3 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc5kdst5k.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4-macsrc5kdst5k.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-1000u15p.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-1000u15p.py index b7b364f195..b7b364f195 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-1000u15p.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-1000u15p.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-100u1000p-conc.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-100u1000p-conc.py index b93cd645ae..b93cd645ae 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-100u1000p-conc.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-100u1000p-conc.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-100u15p.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-100u15p.py index 31cdc5e628..31cdc5e628 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-100u15p.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-100u15p.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u1000p-conc.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u1000p-conc.py index 9032a8c2f5..9032a8c2f5 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u1000p-conc.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u1000p-conc.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u10p-conc.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u10p-conc.py index 29433b3d27..29433b3d27 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u10p-conc.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u10p-conc.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u15p.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u15p.py index 57c5b2dcbc..57c5b2dcbc 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u15p.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-10u15p.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-1u15p.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-1u15p.py index df9a1642a9..df9a1642a9 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-1u15p.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-1u15p.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-1u1p.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-1u1p.py index a892ec8822..a892ec8822 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-1u1p.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-1u1p.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-2000u15p.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-2000u15p.py index c96f76aaee..c96f76aaee 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-2000u15p.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-2000u15p.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-4000u15p.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-4000u15p.py index c1b3d5ba59..c1b3d5ba59 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip4udp-4000u15p.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip4udp-4000u15p.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst10000.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst10000.py index f1b90350fb..f1b90350fb 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst10000.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst10000.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst100000.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst100000.py index 87e76726b2..87e76726b2 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst100000.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst100000.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst1000000.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst1000000.py index c6870d89fa..c6870d89fa 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst1000000.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip6-ip6dst1000000.py diff --git a/resources/traffic_profiles/trex/trex-sl-3n-ethip6-ip6src253.py b/GPL/traffic_profiles/trex/trex-sl-3n-ethip6-ip6src253.py index fbe8b94ab3..fbe8b94ab3 100644 --- a/resources/traffic_profiles/trex/trex-sl-3n-ethip6-ip6src253.py +++ b/GPL/traffic_profiles/trex/trex-sl-3n-ethip6-ip6src253.py diff --git a/resources/traffic_profiles/trex/trex-sl-dot1qip4-vlan1ip4src254ip4dst254-bvi.py b/GPL/traffic_profiles/trex/trex-sl-dot1qip4-vlan1ip4src254ip4dst254-bvi.py index 28ec10bf8b..28ec10bf8b 100644 --- a/resources/traffic_profiles/trex/trex-sl-dot1qip4-vlan1ip4src254ip4dst254-bvi.py +++ b/GPL/traffic_profiles/trex/trex-sl-dot1qip4-vlan1ip4src254ip4dst254-bvi.py diff --git a/resources/traffic_profiles/trex/trex-sl-dot1qip4-vlan1ip4src254ip4dst254.py b/GPL/traffic_profiles/trex/trex-sl-dot1qip4-vlan1ip4src254ip4dst254.py index 6ce351968c..6ce351968c 100644 --- a/resources/traffic_profiles/trex/trex-sl-dot1qip4-vlan1ip4src254ip4dst254.py +++ b/GPL/traffic_profiles/trex/trex-sl-dot1qip4-vlan1ip4src254ip4dst254.py diff --git a/resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src10udpsrcrnd.py b/GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src10udpsrcrnd.py index 32ca072154..32ca072154 100644 --- a/resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src10udpsrcrnd.py +++ b/GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src10udpsrcrnd.py diff --git a/resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src1udpsrcrnd.py b/GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src1udpsrcrnd.py index 1e78cd3cae..1e78cd3cae 100644 --- a/resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src1udpsrcrnd.py +++ b/GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src1udpsrcrnd.py diff --git a/resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src2udpsrcrnd.py b/GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src2udpsrcrnd.py index d195bc5b61..d195bc5b61 100644 --- a/resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src2udpsrcrnd.py +++ b/GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src2udpsrcrnd.py diff --git a/resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src4udpsrcrnd.py b/GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src4udpsrcrnd.py index 8a7bc08b1b..8a7bc08b1b 100644 --- a/resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src4udpsrcrnd.py +++ b/GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src4udpsrcrnd.py diff --git a/resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src6udpsrcrnd.py b/GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src6udpsrcrnd.py index fe46844571..fe46844571 100644 --- a/resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src6udpsrcrnd.py +++ b/GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src6udpsrcrnd.py diff --git a/resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src8udpsrcrnd.py b/GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src8udpsrcrnd.py index cf34818781..cf34818781 100644 --- a/resources/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src8udpsrcrnd.py +++ b/GPL/traffic_profiles/trex/trex-sl-dot1qip4vxlan-ip4src8udpsrcrnd.py diff --git a/resources/traffic_profiles/trex/trex-sl-ethip4vxlan-ip4src1udpsrcrnd.py b/GPL/traffic_profiles/trex/trex-sl-ethip4vxlan-ip4src1udpsrcrnd.py index cd1a0a690c..cd1a0a690c 100644 --- a/resources/traffic_profiles/trex/trex-sl-ethip4vxlan-ip4src1udpsrcrnd.py +++ b/GPL/traffic_profiles/trex/trex-sl-ethip4vxlan-ip4src1udpsrcrnd.py diff --git a/resources/libraries/python/PacketVerifier.py b/GPL/traffic_scripts/PacketVerifier.py index fb2337e49d..20e9af603b 100644 --- a/resources/libraries/python/PacketVerifier.py +++ b/GPL/traffic_scripts/PacketVerifier.py @@ -1,4 +1,4 @@ -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2020 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: diff --git a/resources/libraries/python/TrafficScriptArg.py b/GPL/traffic_scripts/TrafficScriptArg.py index 247eccbc2f..b2f7055412 100644 --- a/resources/libraries/python/TrafficScriptArg.py +++ b/GPL/traffic_scripts/TrafficScriptArg.py @@ -1,4 +1,4 @@ -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2020 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: diff --git a/GPL/traffic_scripts/__init__.py b/GPL/traffic_scripts/__init__.py new file mode 100644 index 0000000000..a946304019 --- /dev/null +++ b/GPL/traffic_scripts/__init__.py @@ -0,0 +1,16 @@ +# Copyright (c) 2020 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: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +__init__ file for directory traffic_scripts +""" diff --git a/resources/traffic_scripts/ipsec_interface.py b/GPL/traffic_scripts/ipsec_interface.py index d1e07471b4..4b7d758be5 100755..100644 --- a/resources/traffic_scripts/ipsec_interface.py +++ b/GPL/traffic_scripts/ipsec_interface.py @@ -24,8 +24,8 @@ from scapy.layers.ipsec import SecurityAssociation, ESP from scapy.layers.l2 import Ether from scapy.packet import Raw -from resources.libraries.python.PacketVerifier import RxQueue, TxQueue -from resources.libraries.python.TrafficScriptArg import TrafficScriptArg +from .PacketVerifier import RxQueue, TxQueue +from .TrafficScriptArg import TrafficScriptArg def check_ipsec( diff --git a/resources/traffic_scripts/ipsec_policy.py b/GPL/traffic_scripts/ipsec_policy.py index 0dbf2af581..9e168ee938 100755..100644 --- a/resources/traffic_scripts/ipsec_policy.py +++ b/GPL/traffic_scripts/ipsec_policy.py @@ -24,8 +24,8 @@ from scapy.layers.ipsec import SecurityAssociation, ESP from scapy.layers.l2 import Ether from scapy.packet import Raw -from resources.libraries.python.PacketVerifier import RxQueue, TxQueue -from resources.libraries.python.TrafficScriptArg import TrafficScriptArg +from .PacketVerifier import RxQueue, TxQueue +from .TrafficScriptArg import TrafficScriptArg def check_ipsec(pkt_recv, ip_layer, dst_tun, src_ip, dst_ip, sa_in): diff --git a/GPL/traffic_scripts/lisp/__init__.py b/GPL/traffic_scripts/lisp/__init__.py new file mode 100644 index 0000000000..eef4a31bb0 --- /dev/null +++ b/GPL/traffic_scripts/lisp/__init__.py @@ -0,0 +1,16 @@ +# Copyright (c) 2020 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: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +__init__ file for directory lisp +""" diff --git a/resources/traffic_scripts/lisp/lisp_check.py b/GPL/traffic_scripts/lisp/lisp_check.py index ebd769fa9d..1bdafb799a 100755..100644 --- a/resources/traffic_scripts/lisp/lisp_check.py +++ b/GPL/traffic_scripts/lisp/lisp_check.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2020 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: @@ -28,8 +28,8 @@ from scapy.layers.inet6 import IPv6 from scapy.layers.l2 import Ether from scapy.packet import Raw -from resources.libraries.python.PacketVerifier import RxQueue, TxQueue -from resources.libraries.python.TrafficScriptArg import TrafficScriptArg +from ..PacketVerifier import RxQueue, TxQueue +from ..TrafficScriptArg import TrafficScriptArg class LispHeader(Packet): diff --git a/resources/traffic_scripts/lisp/lispgpe_check.py b/GPL/traffic_scripts/lisp/lispgpe_check.py index 50857c4fe8..27a83f5701 100755..100644 --- a/resources/traffic_scripts/lisp/lispgpe_check.py +++ b/GPL/traffic_scripts/lisp/lispgpe_check.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2020 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: @@ -29,8 +29,8 @@ from scapy.layers.inet6 import IPv6 from scapy.layers.l2 import Ether from scapy.packet import Raw -from resources.libraries.python.PacketVerifier import RxQueue, TxQueue -from resources.libraries.python.TrafficScriptArg import TrafficScriptArg +from ..PacketVerifier import RxQueue, TxQueue +from ..TrafficScriptArg import TrafficScriptArg class LispGPEHeader(Packet): diff --git a/resources/traffic_scripts/policer.py b/GPL/traffic_scripts/policer.py index 97cad612ac..db90bb21f3 100755..100644 --- a/resources/traffic_scripts/policer.py +++ b/GPL/traffic_scripts/policer.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2020 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: @@ -24,8 +24,8 @@ from scapy.layers.inet import IP, TCP from scapy.layers.inet6 import IPv6, ICMPv6ND_NS from scapy.packet import Raw -from resources.libraries.python.TrafficScriptArg import TrafficScriptArg -from resources.libraries.python.PacketVerifier import RxQueue, TxQueue +from .TrafficScriptArg import TrafficScriptArg +from .PacketVerifier import RxQueue, TxQueue def check_ipv4(pkt_recv, dscp): diff --git a/resources/traffic_scripts/send_icmp_wait_for_reply.py b/GPL/traffic_scripts/send_icmp_wait_for_reply.py index 2c79ae7136..78554634af 100755..100644 --- a/resources/traffic_scripts/send_icmp_wait_for_reply.py +++ b/GPL/traffic_scripts/send_icmp_wait_for_reply.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright (c) 2016 Cisco and/or its affiliates. +# Copyright (c) 2020 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: @@ -24,8 +24,8 @@ from scapy.layers.inet6 import IPv6, ICMPv6EchoRequest, ICMPv6EchoReply,\ from scapy.layers.l2 import Ether from scapy.packet import Raw -from resources.libraries.python.PacketVerifier import RxQueue, TxQueue -from resources.libraries.python.TrafficScriptArg import TrafficScriptArg +from .PacketVerifier import RxQueue, TxQueue +from .TrafficScriptArg import TrafficScriptArg def valid_ipv4(ip): diff --git a/resources/traffic_scripts/send_ip_check_headers.py b/GPL/traffic_scripts/send_ip_check_headers.py index f5a55553cf..ff43563025 100755..100644 --- a/resources/traffic_scripts/send_ip_check_headers.py +++ b/GPL/traffic_scripts/send_ip_check_headers.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2020 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: @@ -28,8 +28,8 @@ from scapy.layers.inet6 import IPv6, ICMPv6ND_NS from scapy.layers.l2 import Ether, Dot1Q from scapy.packet import Raw -from resources.libraries.python.PacketVerifier import RxQueue, TxQueue -from resources.libraries.python.TrafficScriptArg import TrafficScriptArg +from .PacketVerifier import RxQueue, TxQueue +from .TrafficScriptArg import TrafficScriptArg def valid_ipv4(ip): diff --git a/resources/traffic_scripts/send_vxlan_check_vxlan.py b/GPL/traffic_scripts/send_vxlan_check_vxlan.py index 162703d60c..0b1da81f18 100755..100644 --- a/resources/traffic_scripts/send_vxlan_check_vxlan.py +++ b/GPL/traffic_scripts/send_vxlan_check_vxlan.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2020 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: @@ -23,9 +23,9 @@ from scapy.layers.inet import IP, UDP from scapy.layers.l2 import Ether from scapy.packet import Raw -from resources.libraries.python.PacketVerifier import RxQueue, TxQueue -from resources.libraries.python.TrafficScriptArg import TrafficScriptArg -from resources.traffic_scripts import vxlan +from .PacketVerifier import RxQueue, TxQueue +from .TrafficScriptArg import TrafficScriptArg +from . import vxlan def main(): diff --git a/resources/traffic_scripts/srv6_encap.py b/GPL/traffic_scripts/srv6_encap.py index 506a245576..9db9538659 100755..100644 --- a/resources/traffic_scripts/srv6_encap.py +++ b/GPL/traffic_scripts/srv6_encap.py @@ -22,8 +22,8 @@ from scapy.layers.inet6 import IPv6, ICMPv6ND_NS, IPv6ExtHdrSegmentRouting,\ from scapy.layers.l2 import Ether from scapy.packet import Raw -from resources.libraries.python.PacketVerifier import RxQueue, TxQueue -from resources.libraries.python.TrafficScriptArg import TrafficScriptArg +from .PacketVerifier import RxQueue, TxQueue +from .TrafficScriptArg import TrafficScriptArg def check_srv6( diff --git a/GPL/traffic_scripts/vxlan.py b/GPL/traffic_scripts/vxlan.py new file mode 100644 index 0000000000..b39b419acc --- /dev/null +++ b/GPL/traffic_scripts/vxlan.py @@ -0,0 +1,32 @@ +# Copyright (c) 2020 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: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from scapy.fields import BitField, XByteField, X3BytesField +from scapy.layers.inet import UDP +from scapy.layers.l2 import Ether +from scapy.packet import Packet, bind_layers + + +class VXLAN(Packet): + name = u"VXLAN" + fields_desc = [ + BitField(u"flags", 0x08000000, 32), + X3BytesField(u"vni", 0), + XByteField(u"reserved", 0x00) + ] + + def mysummary(self): + return self.sprintf(f"VXLAN (vni={VXLAN.vni})") + +bind_layers(UDP, VXLAN, dport=4789) +bind_layers(VXLAN, Ether) diff --git a/resources/libraries/python/TrafficGenerator.py b/resources/libraries/python/TrafficGenerator.py index 539ced584a..c63dc2d504 100644 --- a/resources/libraries/python/TrafficGenerator.py +++ b/resources/libraries/python/TrafficGenerator.py @@ -75,7 +75,7 @@ class TGDropRateSearchImpl(DropRateSearch): :param loss_acceptance: Permitted drop ratio or frames count. :param loss_acceptance_type: Type of permitted loss. :param traffic_profile: Module name as a traffic profile identifier. - See resources/traffic_profiles/trex for implemented modules. + See GPL/traffic_profiles/trex for implemented modules. :param skip_warmup: Start TRex without warmup traffic if true. :type rate: float :type frame_size: str @@ -406,12 +406,13 @@ class TrafficGenerator(AbstractMeasurer): ) raise RuntimeError(u"Start TRex failed!") - # Test if TRex starts successfully. - cmd = f"sh -c \"{Constants.REMOTE_FW_DIR}/resources/tools/" \ - f"trex/trex_server_info.py\"" + # Test if TRex starts successfuly. + command_line = OptionString().add(u"python3") + dirname = f"{Constants.REMOTE_FW_DIR}/GPL/tools/trex" + command_line.add(f"'{dirname}/trex_server_info.py'") try: exec_cmd_no_error( - tg_node, cmd, sudo=True, + tg_node, command_line, sudo=True, message=u"Test TRex failed!", retries=20 ) except RuntimeError: @@ -488,16 +489,16 @@ class TrafficGenerator(AbstractMeasurer): :raises RuntimeError: If stop traffic script fails. """ # No need to check subtype, we know it is TREX. - x_args = u"" + command_line = OptionString().add(u"python3") + dirname = f"{Constants.REMOTE_FW_DIR}/GPL/tools/trex" + command_line.add(f"'{dirname}/trex_stateless_stop.py'") + command_line.change_prefix(u"--") for index, value in enumerate(self._xstats): if value is not None: - # Nested quoting is fun. value = value.replace(u"'", u"\"") - x_args += f" --xstat{index}='\"'\"'{value}'\"'\"'" + command_line.add_equals(f"xstat{index}", f"'{value}'") stdout, _ = exec_cmd_no_error( - node, f"sh -c '{Constants.REMOTE_FW_DIR}/resources/tools/trex/" - f"trex_stateless_stop.py{x_args}'", - message=u"TRex stateless runtime error" + node, command_line, message=u"TRex stateless runtime error" ) self._parse_traffic_results(stdout) @@ -514,7 +515,7 @@ class TrafficGenerator(AbstractMeasurer): :param rate: Traffic rate expressed with units (pps, %) :param frame_size: L2 frame size to send (without padding and IPG). :param traffic_profile: Module name as a traffic profile identifier. - See resources/traffic_profiles/trex for implemented modules. + See GPL/traffic_profiles/trex for implemented modules. :param async_call: If enabled then don't wait for all incomming trafic. :param latency: With latency measurement. :param warmup_time: Warmup time period. @@ -539,30 +540,31 @@ class TrafficGenerator(AbstractMeasurer): # No need to check subtype, we know it is TREX. reorder = self._ifaces_reordered # Just to make the next line fit. p_0, p_1 = (rx_port, tx_port) if reorder else (tx_port, rx_port) - if not isinstance(duration, (float, int)): duration = float(duration) if not isinstance(warmup_time, (float, int)): warmup_time = float(warmup_time) - command = f"sh -c \"" \ - f"{Constants.REMOTE_FW_DIR}/resources/tools/trex/" \ - f"trex_stateless_profile.py " \ - f"--profile {Constants.REMOTE_FW_DIR}/resources/" \ - f"traffic_profiles/trex/{traffic_profile}.py " \ - f"--duration {duration!r} --frame_size {frame_size} " \ - f"--rate {rate!r} --warmup_time {warmup_time!r} " \ - f"--port_0 {p_0} --port_1 {p_1} " \ - f"--traffic_directions {traffic_directions}" - if async_call: - command += u" --async_start" - if latency: - command += u" --latency" - if Constants.TREX_SEND_FORCE: - command += u" --force" - command += u"\"" + + command_line = OptionString().add(u"python3") + dirname = f"{Constants.REMOTE_FW_DIR}/GPL/tools/trex" + command_line.add(f"'{dirname}/trex_stateless_profile.py'") + command_line.change_prefix(u"--") + dirname = f"{Constants.REMOTE_FW_DIR}/GPL/traffic_profiles/trex" + quoted_path = f"'{dirname}/{traffic_profile}.py'" + command_line.add_with_value(u"profile", quoted_path) + command_line.add_with_value(u"duration", f"{duration!r}") + command_line.add_with_value(u"frame_size", frame_size) + command_line.add_with_value(u"rate", f"{rate!r}") + command_line.add_with_value(u"warmup_time", f"{warmup_time!r}") + command_line.add_with_value(u"port_0", p_0) + command_line.add_with_value(u"port_1", p_1) + command_line.add_with_value(u"traffic_directions", traffic_directions) + command_line.add_if(u"async_start", async_call) + command_line.add_if(u"latency", latency) + command_line.add_if(u"force", Constants.TREX_SEND_FORCE) stdout, _ = exec_cmd_no_error( - self._node, command, timeout=float(duration) + 60, + self._node, command_line, timeout=float(duration) + 60, message=u"TRex stateless runtime error" ) @@ -630,7 +632,7 @@ class TrafficGenerator(AbstractMeasurer): :param rate: Offered load per interface (e.g. 1%, 3gbps, 4mpps, ...). :param frame_size: Frame size (L2) in Bytes. :param traffic_profile: Module name as a traffic profile identifier. - See resources/traffic_profiles/trex for implemented modules. + See GPL/traffic_profiles/trex for implemented modules. :param warmup_time: Warmup phase in seconds. :param async_call: Async mode. :param latency: With latency measurement. @@ -720,7 +722,7 @@ class TrafficGenerator(AbstractMeasurer): :param frame_size: Frame size identifier or value [B]. :param traffic_profile: Module name as a traffic profile identifier. - See resources/traffic_profiles/trex for implemented modules. + See GPL/traffic_profiles/trex for implemented modules. :param warmup_time: Traffic duration before measurement starts [s]. :param traffic_directions: Traffic is bi- (2) or uni- (1) directional. Default: 2 @@ -811,7 +813,7 @@ class OptimizedSearch: :param frame_size: Frame size identifier or value [B]. :param traffic_profile: Module name as a traffic profile identifier. - See resources/traffic_profiles/trex for implemented modules. + See GPL/traffic_profiles/trex for implemented modules. :param minimum_transmit_rate: Minimal uni-directional target transmit rate [pps]. :param maximum_transmit_rate: Maximal uni-directional @@ -879,7 +881,7 @@ class OptimizedSearch: :param frame_size: Frame size identifier or value [B]. :param traffic_profile: Module name as a traffic profile identifier. - See resources/traffic_profiles/trex for implemented modules. + See GPL/traffic_profiles/trex for implemented modules. :param minimum_transmit_rate: Minimal uni-directional target transmit rate [pps]. :param maximum_transmit_rate: Maximal uni-directional diff --git a/resources/libraries/python/TrafficScriptExecutor.py b/resources/libraries/python/TrafficScriptExecutor.py index a9a733bbdf..8faa084ca1 100644 --- a/resources/libraries/python/TrafficScriptExecutor.py +++ b/resources/libraries/python/TrafficScriptExecutor.py @@ -1,4 +1,4 @@ -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2020 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: @@ -55,11 +55,11 @@ class TrafficScriptExecutor: """ ssh = SSH() ssh.connect(node) + module_name = script_file_name[:-3].replace('/', '.') cmd = f"cd {Constants.REMOTE_FW_DIR}; virtualenv -p $(which python3) " \ f"--system-site-packages --never-download env && " \ f"export PYTHONPATH=${{PWD}}; . ${{PWD}}/env/bin/activate; " \ - f"resources/traffic_scripts/{script_file_name} {script_args}" - + f"cd GPL; python -m traffic_scripts.{module_name} {script_args}" ret_code, stdout, stderr = ssh.exec_command_sudo( f'sh -c "{TrafficScriptExecutor._escape(cmd)}"', timeout=timeout ) diff --git a/resources/tools/block_replacer/apache2gpl.sh b/resources/tools/block_replacer/apache2gpl.sh new file mode 100644 index 0000000000..f248393d50 --- /dev/null +++ b/resources/tools/block_replacer/apache2gpl.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +# Copyright (c) 2020 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: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -exuo pipefail + +if [[ "${#}" != "1" ]]; then + echo 'An utility to switch license comment blocks.' + echo 'Requires files "gpl_block.txt" and "apache_block.txt" in the working' + echo 'directory, and a single argument pointing to root directory.' + echo 'Affects only .sh and .py files.' + exit 1 +fi + +find "${1}" \( -name "*.py" -o -name "*.sh" \) -print0 | xargs -0 \ +python3 replace.py "apache_block.txt" "gpl_block.txt" diff --git a/resources/tools/block_replacer/apache_block.txt b/resources/tools/block_replacer/apache_block.txt new file mode 100644 index 0000000000..790a3c4ea1 --- /dev/null +++ b/resources/tools/block_replacer/apache_block.txt @@ -0,0 +1,11 @@ +# 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: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/resources/tools/block_replacer/gpl2apache.sh b/resources/tools/block_replacer/gpl2apache.sh new file mode 100644 index 0000000000..a1ef8df075 --- /dev/null +++ b/resources/tools/block_replacer/gpl2apache.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +# Copyright (c) 2020 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: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -exuo pipefail + +if [[ "${#}" != "1" ]]; then + echo 'An utility to switch license comment blocks.' + echo 'Requires files "gpl_block.txt" and "apache_block.txt" in the working' + echo 'directory, and a single argument pointing to root directory.' + echo 'Affects only .sh and .py files.' + exit 1 +fi + +find "${1}" \( -name "*.py" -o -name "*.sh" \) -print0 | xargs -0 \ +python3 replace.py "gpl_block.txt" "apache_block.txt" diff --git a/resources/tools/block_replacer/gpl_block.txt b/resources/tools/block_replacer/gpl_block.txt new file mode 100644 index 0000000000..2dbbb2af06 --- /dev/null +++ b/resources/tools/block_replacer/gpl_block.txt @@ -0,0 +1,13 @@ +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this file. If not, see <https://www.gnu.org/licenses/>. diff --git a/resources/tools/block_replacer/replace.py b/resources/tools/block_replacer/replace.py new file mode 100644 index 0000000000..02d1889331 --- /dev/null +++ b/resources/tools/block_replacer/replace.py @@ -0,0 +1,126 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2020 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: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""A script simplifying replacement of blocks of lines. + +A bash solution created by combining these two: + https://unix.stackexchange.com/a/181215 + https://stackoverflow.com/a/23849180 +does not seem to work if the blocks contain complicated characters. +""" + +import argparse +import os +import tempfile + +def main(): + """Main function for the block replacing script.""" + + description = '''Replace a block of lines with another block. + + Both block-to-replace and replacing-block are read from a file. + The replacement is performed on a file, in-place. + Only first block occurence is replaced. + If the block-to-replace is preceded by a partial match, + it may not be recognized. + + The current implementation uses temporary files, + created in the working directory. + if something fails, thise temporary files need to be deleted manually. + + TODO: Preserve target attributes. Maybe https://pypi.org/project/in-place/ +''' + parser = argparse.ArgumentParser(description) + parser.add_argument( + u"before", type=str, + help=u"Path to file containing the old content to replace." + ) + parser.add_argument( + u"after", type=str, + help=u"Path to file containing the new content to replace with." + ) + parser.add_argument( + u"targets", metavar=u"target", nargs=u"+", type=str, + help=u"Paths to file where the replacement should be made." + ) + args = parser.parse_args() + + do_it(args) + + +def do_it(args): + """Read contents, create edited target, replace the original target with it. + + :param args: Parsed command line arguments. + :type args: Object (typically argparse.Namespace) which contains + "before", "after" and "target" fields. + """ + with open(args.before, u"r") as file_in: + content_before = file_in.readlines() + before_len = len(content_before) + with open(args.after, u"r") as file_in: + content_after = file_in.readlines() + + for target in args.targets: + with tempfile.NamedTemporaryFile( + dir=u".", mode=u"w", delete=False + ) as file_out: + with open(target, u"r") as file_in: + # Phase one, searching for content, copying what does not match. + buffer_lines = list() + line_index_to_check = 0 + content_found = False + while 1: + line_in = file_in.readline() + if not line_in: + print(f"{target}: Content not found.") + for line_out in buffer_lines: + file_out.write(line_out) + buffer_lines = list() + break + if line_in != content_before[line_index_to_check]: + line_index_to_check = 0 + if buffer_lines: + for line_out in buffer_lines: + file_out.write(line_out) + buffer_lines = list() + file_out.write(line_in) + continue + buffer_lines.append(line_in) + line_index_to_check += 1 + if line_index_to_check < before_len: + continue + # Buffer has the match! Do not write it. + content_found = True + break + if not content_found: + file_out.close() + os.remove(file_out.name) + continue + # Phase two, write the replacement instead. + for line_out in content_after: + file_out.write(line_out) + # Phase three, copy the rest of the file. + while 1: + line_in = file_in.readline() + if not line_in: + print(f"{target}: Replacement done.") + break + file_out.write(line_in) + os.replace(file_out.name, target) + + +if __name__ == u"__main__": + main() diff --git a/resources/traffic_scripts/vxlan.py b/resources/traffic_scripts/vxlan.py deleted file mode 100644 index eebfb9056e..0000000000 --- a/resources/traffic_scripts/vxlan.py +++ /dev/null @@ -1,19 +0,0 @@ -from scapy.fields import BitField, XByteField, X3BytesField -from scapy.layers.inet import UDP -from scapy.layers.l2 import Ether -from scapy.packet import Packet, bind_layers - - -class VXLAN(Packet): - name = u"VXLAN" - fields_desc = [ - BitField(u"flags", 0x08000000, 32), - X3BytesField(u"vni", 0), - XByteField(u"reserved", 0x00) - ] - - def mysummary(self): - return self.sprintf(f"VXLAN (vni={VXLAN.vni})") - -bind_layers(UDP, VXLAN, dport=4789) -bind_layers(VXLAN, Ether) |