diff --git a/.gdbinit.py b/.gdbinit.py index e8c09af9080..98be2fbf763 100644 --- a/.gdbinit.py +++ b/.gdbinit.py @@ -7,6 +7,6 @@ if 'register_inet_printers' in dir(): print('inet pretty printers already initialized.') else: - from inet.printers import register_inet_printers + from inetgdb.printers import register_inet_printers register_inet_printers(None) print('Pretty printers initialized: inet') diff --git a/INSTALL.md b/INSTALL.md index 810c8119b86..0852d5ec05c 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -24,15 +24,18 @@ General If you are building from command line: -------------------------------------- 3. Change to the INET directory and source the `setenv` script. - + $ source setenv -4. Type `make makefiles`. This should generate the makefiles for you automatically. +4. Make sure that any required Python modules are properly installed by executing + `pip install -r python/requirements.txt` + +5. Type `make makefiles`. This should generate the makefiles for you automatically. -5. Type `make` to build the inet executable (release version). Use `make MODE=debug` +6. Type `make` to build the inet executable (release version). Use `make MODE=debug` to build debug version. -6. You can run specific examples by changing into the example's directory and executing `inet` +7. You can run specific examples by changing into the example's directory and executing `inet` If you are using the IDE: ------------------------- diff --git a/WHATSNEW b/WHATSNEW index 61cf88d5ec2..946e8cc70a5 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -1,6 +1,38 @@ Recent changes in the INET Framework ==================================== +INET-4.5.4 (October 2024) - Stable +---------------------------------- + +This is a minor patch release containing OMNeT++ 6.1 compatibility fixes (enum +related issues). It contains also fixes for #880, #886, #913, #919, #956, +#967, #974, #982. Several memory lake errors were fixed. Added logging and +testing framework enhancements. Added a `python/requirements.txt` so Python +dependenies can be installed by `pip install -r python/requirements.txt`. +Fixed escaping errors with Python 3.12 in pythons scripts. + +Test framework enhancements: +- Added new commands `inet_run_*_tests` to allow running various tests. +- Smoke tests are executed for run #0 only by default. +- Tets marked as intentionally as SKIP are now left out from the test execution. +- Added `inet_run_release_tests` for pre-release testing. +- A lot of mischelanous fixes. + + +INET-4.5.3 (September 2024) - Stable +------------------------------------ +This version was yanked because of `@enum` related issues. + + +INET-4.5.2 (August 2024) - Stable +--------------------------------- + +This is a minor bugfix release containing OMNeT++ 6.1 compatibility fixes +and and a fix for an incorrect formula used in Rayleigh pathloss computation +(NOTE: This change may alter a simulation's results if it used the +Rayleigh pathloss model). + + INET-4.5 (April 2023) - Stable ------------------------------ diff --git a/bin/inet_fingerprinttest b/bin/inet_fingerprinttest index 617cfe9283d..72288246b0c 100755 --- a/bin/inet_fingerprinttest +++ b/bin/inet_fingerprinttest @@ -479,7 +479,7 @@ class FingerprintTestCase(SimulationTestCase): workingdir = _iif(self.wd.startswith('/'), rootDir + "/" + self.wd, self.wd) wdname = '' + self.wd + ' ' + self.cmdLine wdname = re.sub('/', '_', wdname) - wdname = re.sub('[\W]+', '_', wdname) + wdname = re.sub(r'[\W]+', '_', wdname) resultdir = os.path.abspath(".") + "/results/" + self.csvFile + "/" + wdname ensure_dir(resultdir) diff --git a/bin/inet_run_packet_tests b/bin/inet_run_packet_tests new file mode 100755 index 00000000000..f122c90ab0f --- /dev/null +++ b/bin/inet_run_packet_tests @@ -0,0 +1,5 @@ +#!/usr/bin/env python3 + +from inet.main import * + +run_packet_tests_main() diff --git a/bin/inet_run_release_tests b/bin/inet_run_release_tests new file mode 100755 index 00000000000..1ee109be910 --- /dev/null +++ b/bin/inet_run_release_tests @@ -0,0 +1,5 @@ +#!/usr/bin/env python3 + +from inet.main import * + +run_release_tests_main() diff --git a/examples/gptp/omnetpp.ini b/examples/gptp/omnetpp.ini index 7b606a6e2e7..efb6907d915 100644 --- a/examples/gptp/omnetpp.ini +++ b/examples/gptp/omnetpp.ini @@ -64,3 +64,4 @@ description = gptp on, master is in a hurry, client is precise extends = sync1, _DriftMaster, _DriftSlave description = gptp on, master is in a hurry, client is late +# expected-result = "ERROR" diff --git a/examples/voipstream/osudp/receiver.ini b/examples/voipstream/osudp/receiver.ini index bd40ddc52bf..f6c17cc9647 100644 --- a/examples/voipstream/osudp/receiver.ini +++ b/examples/voipstream/osudp/receiver.ini @@ -2,6 +2,7 @@ network = VoipStreamReceiverApplication scheduler-class = "inet::RealTimeScheduler" sim-time-limit = 1h +#emulation = true *.app.localPort = 1000 *.app.resultFile = "results/sound.wav" diff --git a/examples/voipstream/osudp/sender.ini b/examples/voipstream/osudp/sender.ini index 70c2e5e7024..a8636621089 100644 --- a/examples/voipstream/osudp/sender.ini +++ b/examples/voipstream/osudp/sender.ini @@ -2,6 +2,7 @@ network = VoipStreamSenderApplication scheduler-class = "inet::RealTimeScheduler" #abstract-config = true (requires omnet 7) +#emulation = true *.app.packetTimeLength = 20ms *.app.voipHeaderSize = 28B diff --git a/python/inet/common/summary.py b/python/inet/common/summary.py index 019495f5b2b..1752fad22b2 100644 --- a/python/inet/common/summary.py +++ b/python/inet/common/summary.py @@ -35,7 +35,7 @@ def collect_modules(simulation_project, path="src"): match = re.match(r"^package ([\w\.]+)", line) if match: package = match.group(1) - package = re.sub("^\w+?\.", "", package) + package = re.sub(r"^\w+?\.", "", package) match = re.match(r"^(simple|module) (\w+)\b", line) if match: module = match.group(2) @@ -120,7 +120,7 @@ def collect_classes(simulation_project, path="src"): if match: class_name = match.group(1) relative_path = os.path.relpath(os.path.dirname(file_name), project_path) - relative_path = re.sub("^(\w+)/", "", relative_path) + relative_path = re.sub(r"^(\w+)/", "", relative_path) classes.append(relative_path + "/" + class_name) file.close() return classes diff --git a/python/inet/common/task.py b/python/inet/common/task.py index 594f0be43b1..e72b2a45f62 100644 --- a/python/inet/common/task.py +++ b/python/inet/common/task.py @@ -12,7 +12,7 @@ logger = logging.getLogger(__name__) class TaskResult: - def __init__(self, task=None, result="DONE", expected_result="DONE", reason=None, error_message=None, exception=None, elapsed_wall_time=None, possible_results=["DONE", "CANCEL", "ERROR"], possible_result_colors=[COLOR_GREEN, COLOR_CYAN, COLOR_RED], **kwargs): + def __init__(self, task=None, result="DONE", expected_result="DONE", reason=None, stdout=None, stderr=None, error_message=None, exception=None, elapsed_wall_time=None, possible_results=["DONE", "CANCEL", "ERROR"], possible_result_colors=[COLOR_GREEN, COLOR_CYAN, COLOR_RED], **kwargs): self.locals = locals() self.locals.pop("self") self.kwargs = kwargs @@ -21,6 +21,8 @@ def __init__(self, task=None, result="DONE", expected_result="DONE", reason=None self.expected_result = expected_result self.expected = expected_result == result self.reason = reason + self.stdout = stdout + self.stderr = stderr self.error_message = error_message self.exception = exception self.elapsed_wall_time = elapsed_wall_time @@ -40,7 +42,7 @@ def get_description(self, complete_error_message=True, include_parameters=False, (" " + self.get_error_message(complete_error_message=complete_error_message) if self.result == "ERROR" else "") def get_error_message(self, **kwargs): - return self.error_message or "" + return self.error_message or self.stderr or (self.exception and str(self.exception)) or "" def print_result(self, complete_error_message=False, output_stream=sys.stdout, **kwargs): print(self.get_description(complete_error_message=complete_error_message), file=output_stream) @@ -247,12 +249,14 @@ def run_protected(self, **kwargs): 1/0 class MultipleTasks: - def __init__(self, tasks=[], name="task", concurrent=True, randomize=False, chunksize=1, pool_class=multiprocessing.pool.ThreadPool, multiple_task_results_class=MultipleTaskResults, **kwargs): + def __init__(self, tasks=[], name="task", start=None, end=None, concurrent=True, randomize=False, chunksize=1, pool_class=multiprocessing.pool.ThreadPool, multiple_task_results_class=MultipleTaskResults, **kwargs): self.locals = locals() self.locals.pop("self") self.kwargs = kwargs self.tasks = tasks self.name = name + self.start = start + self.end = end self.concurrent = concurrent self.randomize = randomize self.chunksize = chunksize @@ -287,7 +291,7 @@ def run(self, **kwargs): return multiple_task_results def run_protected(self, **kwargs): - tasks = self.tasks + tasks = self.tasks[self.start:self.end+1] if self.start is not None and self.end is not None else self.tasks task_count = len(tasks) for task in tasks: task.set_cancel(False) diff --git a/python/inet/common/util.py b/python/inet/common/util.py index cc0f120f35b..ea95abd6804 100644 --- a/python/inet/common/util.py +++ b/python/inet/common/util.py @@ -39,7 +39,7 @@ def coalesce(*values): def convert_to_seconds(s): seconds_per_unit = {"ns": 1E-9, "us": 1E-6, "ms": 1E-3, "s": 1, "second": 1, "m": 60, "min": 60, "h": 3600, "hour": 3600, "d": 86400, "day": 86400, "w": 604800, "week": 604800} - match = re.match("(-?[0-9]*\.?[0-9]*) *([a-zA-Z]+)", s) + match = re.match(r"(-?[0-9]*\.?[0-9]*) *([a-zA-Z]+)", s) return float(match.group(1)) * seconds_per_unit[match.group(2)] def write_object(file_name, object): diff --git a/python/inet/main.py b/python/inet/main.py index cea7b150420..c5ed6f8a78a 100644 --- a/python/inet/main.py +++ b/python/inet/main.py @@ -21,6 +21,8 @@ def parse_arguments(task_name): parser.add_argument("-u", "--user-interface", choices=["Cmdenv", "Qtenv"], default="Cmdenv", help="User interface") parser.add_argument("-t", "--sim-time-limit", default=None, help="Simulation time limit") parser.add_argument("-T", "--cpu-time-limit", default=None, help="CPU time limit") + parser.add_argument('--start', default=None, help="First task index") + parser.add_argument('--end', default=None, help="Last task index") parser.add_argument("-f", "--filter", default=None, help="Filter") parser.add_argument("--exclude-filter", default=None, help="Exclude filter") parser.add_argument("-w", "--working-directory-filter", default=None, help="Working directory filter") @@ -43,7 +45,7 @@ def process_arguments(task): logger.addHandler(handler) kwargs = {k: v for k, v in vars(args).items() if v is not None} kwargs["working_directory_filter"] = args.working_directory_filter or os.path.relpath(os.getcwd(), os.path.realpath(inet_project.get_full_path("."))) - kwargs["working_directory_filter"] = re.sub("(.*)/$", "\\1", kwargs["working_directory_filter"]) + kwargs["working_directory_filter"] = re.sub(r"(.*)/$", "\\1", kwargs["working_directory_filter"]) return kwargs def run_main(main_function, task_name): @@ -94,4 +96,7 @@ def run_validation_tests_main(): run_main(run_validation_tests, "validation tests") def run_all_tests_main(): - run_main(run_all_tests, "tests") + run_main(run_all_tests, "all tests") + +def run_release_tests_main(): + run_main(run_release_tests, "release tests") diff --git a/python/inet/simulation/build.py b/python/inet/simulation/build.py index 30673ae1095..149eb38b4a0 100644 --- a/python/inet/simulation/build.py +++ b/python/inet/simulation/build.py @@ -8,6 +8,10 @@ def build_project(simulation_project, mode="debug", capture_output=True, **kwargs): logger.info(f"Building {simulation_project.get_name()} started") + args = ["make", "makefiles"] + subprocess_result = subprocess.run(args, cwd=simulation_project.get_full_path("."), capture_output=capture_output) + if subprocess_result.returncode != 0: + raise Exception(f"Build {simulation_project.get_name()} failed") args = ["make", "MODE=" + mode, "-j", str(multiprocessing.cpu_count())] subprocess_result = subprocess.run(args, cwd=simulation_project.get_full_path("."), capture_output=capture_output) if subprocess_result.returncode != 0: diff --git a/python/inet/simulation/config.py b/python/inet/simulation/config.py index afc657fb941..341d69972c4 100644 --- a/python/inet/simulation/config.py +++ b/python/inet/simulation/config.py @@ -10,11 +10,12 @@ from inet.common import * from inet.simulation.project import * +from inet.simulation.build import * logger = logging.getLogger(__name__) class SimulationConfig: - def __init__(self, simulation_project, working_directory, ini_file="omnetpp.ini", config="General", num_runs=1, sim_time_limit=None, abstract=False, expected_result="DONE", user_interface="Cmdenv", description=None): + def __init__(self, simulation_project, working_directory, ini_file="omnetpp.ini", config="General", num_runs=1, sim_time_limit=None, abstract=False, emulation=False, expected_result="DONE", user_interface="Cmdenv", description=None): self.simulation_project = simulation_project self.working_directory = working_directory self.ini_file = ini_file @@ -22,7 +23,7 @@ def __init__(self, simulation_project, working_directory, ini_file="omnetpp.ini" self.num_runs = num_runs self.sim_time_limit = sim_time_limit self.abstract = abstract - self.emulation = working_directory.find("emulation") != -1 + self.emulation = working_directory.find("emulation") != -1 or emulation self.expected_result = expected_result self.user_interface = user_interface self.description = description @@ -67,7 +68,7 @@ def get_sim_time_limit(config_dicts, config): # KLUDGE TODO replace this with a Python binding to the C++ configuration reader def collect_ini_file_simulation_configs(simulation_project, ini_path): def create_config_dict(config): - return {"config": config, "abstract_config": False, "expected_result": "DONE", "user_interface": None, "description": None, "network": None} + return {"config": config, "abstract_config": False, "emulation" : False, "expected_result": "DONE", "user_interface": None, "description": None, "network": None} simulation_configs = [] working_directory = os.path.dirname(ini_path) num_runs_fast = get_num_runs_fast(ini_path) @@ -76,30 +77,33 @@ def create_config_dict(config): config_dicts = {"General": create_config_dict("General")} config_dict = {} for line in file: - match = re.match("\\[(Config +)?(.*?)\\]|\\[(General)\\]", line) + match = re.match(r"\[(Config +)?(.*?)\]|\[(General)\]", line) if match: config = match.group(2) or match.group(3) config_dict = create_config_dict(config) config_dicts[config] = config_dict - match = re.match(" *extends *= *(\w+)", line) + match = re.match(r" *extends *= *(\w+)", line) if match: config_dict["extends"] = match.group(1) - match = re.match(" *user-interface *= \"*(\w+)\"", line) + match = re.match(r" *user-interface *= \"*(\w+)\"", line) if match: config_dict["user_interface"] = match.group(1) - match = re.match("#? *abstract-config *= *(\w+)", line) + match = re.match(r"#? *abstract-config *= *(\w+)", line) if match: config_dict["abstract_config"] = bool(match.group(1)) - match = re.match("#? *expected-result *= *\"(\w+)\"", line) + match = re.match(r"#? *emulation *= *(\w+)", line) + if match: + config_dict["emulation"] = bool(match.group(1)) + match = re.match(r"#? *expected-result *= *\"(\w+)\"", line) if match: config_dict["expected_result"] = match.group(1) - match = re.match("description *= *\"(.*)\"", line) + match = re.match(r"description *= *\"(.*)\"", line) if match: config_dict["description"] = match.group(1) - match = re.match("network *= *(.*)", line) + match = re.match(r"network *= *(.*)", line) if match: config_dict["network"] = match.group(1) - match = re.match("sim-time-limit *= *(.*)", line) + match = re.match(r"sim-time-limit *= *(.*)", line) if match: config_dict["sim_time_limit"] = match.group(1) general_config_dict = config_dicts["General"] @@ -119,15 +123,17 @@ def create_config_dict(config): raise Exception("Cannot determine number of runs") sim_time_limit = get_sim_time_limit(config_dicts, config) description = config_dict["description"] - description_abstract = (re.search("\((a|A)bstract\)", description) is not None) if description else False + description_abstract = (re.search(r"\((a|A)bstract\)", description) is not None) if description else False abstract = (config_dict["network"] is None and config_dict["config"] == "General") or config_dict["abstract_config"] or description_abstract + emulation = config_dict["emulation"] or general_config_dict["emulation"] expected_result = config_dict["expected_result"] user_interface = config_dict["user_interface"] or general_config_dict["user_interface"] - simulation_config = SimulationConfig(simulation_project, os.path.relpath(working_directory, simulation_project.get_full_path(".")), ini_file=ini_file, config=config, sim_time_limit=sim_time_limit, num_runs=num_runs, abstract=abstract, expected_result=expected_result, user_interface=user_interface, description=description) + simulation_config = SimulationConfig(simulation_project, os.path.relpath(working_directory, simulation_project.get_full_path(".")), ini_file=ini_file, config=config, sim_time_limit=sim_time_limit, num_runs=num_runs, abstract=abstract, emulation=emulation, expected_result=expected_result, user_interface=user_interface, description=description) simulation_configs.append(simulation_config) return simulation_configs def collect_all_simulation_configs(simulation_project, ini_path_globs, concurrent=True, **kwargs): + build_project(simulation_project=simulation_project, mode="release") logger.info("Collecting all simulation configs started") ini_paths = list(itertools.chain.from_iterable(map(lambda g: glob.glob(g, recursive=True), ini_path_globs))) if concurrent: diff --git a/python/inet/simulation/project.py b/python/inet/simulation/project.py index e7b268e9480..6123dec5eeb 100644 --- a/python/inet/simulation/project.py +++ b/python/inet/simulation/project.py @@ -34,7 +34,7 @@ def get_full_path(self, path): def get_executable(self, mode="debug"): if mode == "release": - return self.get_full_path(self.executable + ("_release" if re.search("opp_run", self.executable) else "")) + return self.get_full_path(self.executable + ("_release" if re.search(r"opp_run", self.executable) else "")) elif mode == "debug": return self.get_full_path(self.executable + "_dbg") elif mode == "sanitize": @@ -59,8 +59,8 @@ def collect_binary_simulation_distribution_file_names(self): file_names = [] file_names.append(get_workspace_path("omnetpp/bin/opp_run_release")) file_names.append(get_workspace_path("omnetpp/bin/opp_python_repl")) - file_names += list(filter(lambda path: not re.search("dbg", path) and not re.search("sanitize", path), glob.glob(get_workspace_path("omnetpp/lib/*.so")))) - file_names += list(filter(lambda path: not re.search("formatter", path), glob.glob(get_workspace_path("omnetpp/python/**/*.py"), recursive=True))) + file_names += list(filter(lambda path: not re.search(r"dbg", path) and not re.search(r"sanitize", path), glob.glob(get_workspace_path("omnetpp/lib/*.so")))) + file_names += list(filter(lambda path: not re.search(r"formatter", path), glob.glob(get_workspace_path("omnetpp/python/**/*.py"), recursive=True))) file_names.append(self.get_full_path(".nedfolders")) file_names.append(self.get_full_path(".nedexclusions")) file_names.append(self.get_full_path("bin/inet")) @@ -69,7 +69,7 @@ def collect_binary_simulation_distribution_file_names(self): file_names.append(self.get_full_path("src/libINET.so")) file_names += glob.glob(self.get_full_path("python/**/*.py"), recursive=True) for ned_folder in self.ned_folders: - if not re.search("test", ned_folder): + if not re.search(r"test", ned_folder): file_names += glob.glob(os.path.join(self.get_full_path(ned_folder), "**/*.ini"), recursive=True) file_names += glob.glob(os.path.join(self.get_full_path(ned_folder), "**/*.ned"), recursive=True) return file_names @@ -109,25 +109,20 @@ def copy_binary_simulation_distribution_to_cluster(self, cluster): simulation_projects = dict() -def get_simulation_project(name, **kwargs): +def get_simulation_project(name, workspace_path, **kwargs): if not name in simulation_projects: - workspace_path = get_workspace_path(name) simulation_projects[name] = SimulationProject(workspace_path, **kwargs) return simulation_projects[name] -aloha_project = get_simulation_project("omnetpp/samples/aloha", executable="aloha") - -tictoc_project = get_simulation_project("omnetpp/samples/tictoc", executable="tictoc") - -inet_project = get_simulation_project("inet", - executable=get_workspace_path("omnetpp/bin/opp_run"), +inet_project = get_simulation_project("inet", os.getenv("INET_ROOT"), + executable=os.path.join(os.getenv("__omnetpp_root_dir"), "bin/opp_run"), libraries=["src/INET"], ned_folders=["src", "examples", "showcases", "tutorials", "tests/networks", "tests/validation"], ned_exclusions=[s.strip() for s in open(get_workspace_path("inet/.nedexclusions")).readlines()], ini_file_folders=["examples", "showcases", "tutorials", "tests/fingerprint", "tests/validation"], image_folders=["images"]) -inet_baseline_project = get_simulation_project("inet-baseline", +inet_baseline_project = get_simulation_project("inet-baseline", get_workspace_path("inet-baseline"), executable=inet_project.executable, libraries=inet_project.libraries, ned_folders=inet_project.ned_folders, diff --git a/python/inet/simulation/task.py b/python/inet/simulation/task.py index bfa752477a9..842cf9a526a 100644 --- a/python/inet/simulation/task.py +++ b/python/inet/simulation/task.py @@ -32,14 +32,14 @@ def __init__(self, subprocess_result=None, cancel=False, **kwargs): self.last_event_number = int(match.group(2)) if match else None self.last_simulation_time = match.group(1) if match else None self.elapsed_cpu_time = None # TODO - match = re.search(" Error: (.*) -- in module (.*)", stderr) + match = re.search(r" Error: (.*) -- in module (.*)", stderr) self.error_message = match.group(1).strip() if match else None self.error_module = match.group(2).strip() if match else None if self.error_message is None: - match = re.search(" Error: (.*)", stderr) + match = re.search(r" Error: (.*)", stderr) self.error_message = match.group(1).strip() if match else None if self.error_message: - if re.search("The simulation attempted to prompt for user input", self.error_message): + if re.search(r"The simulation attempted to prompt for user input", self.error_message): self.result = "SKIP" self.color = COLOR_CYAN self.expected_result = "SKIP" @@ -149,7 +149,7 @@ def clean_simulation_results(simulation_config): logger.info("Cleaning simulation results, folder = " + simulation_config.working_directory) simulation_project = simulation_config.simulation_project path = os.path.join(simulation_project.get_full_path(simulation_config.working_directory), "results") - if not re.search(".*/home/.*", path): + if not re.search(r".*/home/.*", path): raise Exception("Path is not in home") if os.path.exists(path): shutil.rmtree(path) diff --git a/python/inet/test/__init__.py b/python/inet/test/__init__.py index 5b2e10481c5..06aee5732c5 100644 --- a/python/inet/test/__init__.py +++ b/python/inet/test/__init__.py @@ -21,6 +21,7 @@ from inet.test.feature import * from inet.test.fingerprint import * from inet.test.opp import * +from inet.test.release import * from inet.test.task import * from inet.test.simulation import * from inet.test.sanitizer import * diff --git a/python/inet/test/all.py b/python/inet/test/all.py index a75528f2dce..a2795bb9129 100644 --- a/python/inet/test/all.py +++ b/python/inet/test/all.py @@ -32,10 +32,10 @@ def run_protected(self, **kwargs): return self.task_result_class(self, result=match.group(1) if match and subprocess_result.returncode == 0 else "FAIL") def get_packet_test_tasks(filter=None, working_directory_filter=None, ini_file_filter=None, config_filter=None, run_filter=None, **kwargs): - if filter or working_directory_filter or ini_file_filter or config_filter or run_filter: + if filter or (working_directory_filter and not os.path.abspath("tests/packet").startswith(os.path.abspath(working_directory_filter))) or ini_file_filter or config_filter or run_filter: packet_test_tasks = [] else: - packet_test_tasks = [PacketTestTask(inet_project)] + packet_test_tasks = [PacketTestTask(inet_project, **kwargs)] return MultipleTestTasks(tasks=packet_test_tasks, name="packet test", **kwargs) def get_queueing_test_tasks(**kwargs): @@ -51,25 +51,27 @@ def get_unit_test_tasks(**kwargs): return get_opp_test_tasks("tests/unit", name="unit test", **kwargs) def get_all_test_tasks(**kwargs): - test_task_functions = [get_smoke_test_tasks, - get_sanitizer_test_tasks, - get_fingerprint_test_tasks, - get_statistical_test_tasks, - get_validation_test_tasks, - #get_speed_test_tasks, + test_task_functions = [ + #get_chart_test_tasks, #get_feature_test_tasks, + get_fingerprint_test_tasks, + get_module_test_tasks, get_packet_test_tasks, - get_queueing_test_tasks, get_protocol_test_tasks, - get_module_test_tasks, + get_queueing_test_tasks, + get_sanitizer_test_tasks, + get_smoke_test_tasks, + #get_speed_test_tasks, + #get_statistical_test_tasks, get_unit_test_tasks, - get_chart_test_tasks] + get_validation_test_tasks + ] test_tasks = [] for test_task_function in test_task_functions: multiple_test_tasks = test_task_function(**kwargs) if multiple_test_tasks.tasks: test_tasks.append(multiple_test_tasks) - return MultipleTestTasks(test_tasks, name="test group", **dict(kwargs, concurrent=False)) + return MultipleTestTasks(tasks=test_tasks, **dict(kwargs, name="test group", start=None, end=None, concurrent=False)) def run_packet_tests(**kwargs): return get_packet_test_tasks(**kwargs).run(**kwargs) diff --git a/python/inet/test/chart.py b/python/inet/test/chart.py index 22cf11c50fb..ddc6030d1df 100644 --- a/python/inet/test/chart.py +++ b/python/inet/test/chart.py @@ -41,7 +41,7 @@ def run_protected(self, keep_charts=True, output_stream=sys.stdout, **kwargs): folder = os.path.dirname(self.simulation_project.get_full_path(self.analysis_file_name)) file_name = analysis.export_image(chart, folder, workspace, format="png", dpi=150, target_folder="doc/media", filename=image_export_filename + "_new") new_file_name = os.path.join(folder, file_name) - old_file_name = os.path.join(folder, re.sub("_new", "", file_name)) + old_file_name = os.path.join(folder, re.sub(r"_new", "", file_name)) if os.path.isfile(old_file_name): new_image = matplotlib.image.imread(new_file_name) old_image = matplotlib.image.imread(old_file_name) @@ -49,7 +49,7 @@ def run_protected(self, keep_charts=True, output_stream=sys.stdout, **kwargs): if metric == 0 or not keep_charts: os.remove(new_file_name) else: - diff_file_name = os.path.join(folder, re.sub("_new", "_diff", file_name)) + diff_file_name = os.path.join(folder, re.sub(r"_new", "_diff", file_name)) print(diff_file_name) image_diff = numpy.abs(new_image - old_image) matplotlib.image.imsave(diff_file_name, image_diff) @@ -72,7 +72,7 @@ def run_protected(self, **kwargs): multiple_simulation_task_results = self.multiple_simulation_tasks.run_protected(**kwargs) return super().run_protected(**kwargs) -def get_chart_test_tasks(simulation_project=default_project, run_simulations=True, filter=None, working_directory_filter=None, pool_class=multiprocessing.Pool, **kwargs): +def get_chart_test_tasks(simulation_project=default_project, run=0, run_simulations=True, filter=None, working_directory_filter=None, pool_class=multiprocessing.Pool, **kwargs): test_tasks = [] simulation_tasks = [] for analysis_file_name in get_analysis_files(simulation_project=simulation_project, filter=filter or working_directory_filter, **kwargs): @@ -81,7 +81,7 @@ def get_chart_test_tasks(simulation_project=default_project, run_simulations=Tru folder = os.path.dirname(simulation_project.get_full_path(analysis_file_name)) working_directory = os.path.relpath(folder, simulation_project.get_full_path(".")) if run_simulations: - multiple_simulation_tasks = get_simulation_tasks(simulation_project=simulation_project, working_directory_filter=working_directory, sim_time_limit=get_statistical_result_sim_time_limit, **kwargs) + multiple_simulation_tasks = get_simulation_tasks(simulation_project=simulation_project, run=run, working_directory_filter=working_directory, sim_time_limit=get_statistical_result_sim_time_limit, **kwargs) for simulation_task in multiple_simulation_tasks.tasks: if not list(builtins.filter(lambda element: element.simulation_config == simulation_task.simulation_config and element._run == simulation_task._run, simulation_tasks)): simulation_tasks.append(simulation_task) @@ -117,7 +117,7 @@ def run_protected(self, keep_charts=True, **kwargs): folder = os.path.dirname(self.simulation_project.get_full_path(self.analysis_file_name)) file_name = analysis.export_image(chart, folder, workspace, format="png", dpi=150, target_folder="doc/media", filename=image_export_filename + "_new") new_file_name = os.path.join(folder, file_name) - old_file_name = os.path.join(folder, re.sub("_new", "", file_name)) + old_file_name = os.path.join(folder, re.sub(r"_new", "", file_name)) if os.path.isfile(old_file_name): new_image = matplotlib.image.imread(new_file_name) old_image = matplotlib.image.imread(old_file_name) @@ -126,8 +126,8 @@ def run_protected(self, keep_charts=True, **kwargs): os.remove(new_file_name) else: if keep_charts: - os.rename(old_file_name, re.sub("_new", "_old", file_name)) - diff_file_name = os.path.join(folder, re.sub("_new", "_diff", file_name)) + os.rename(old_file_name, re.sub(r"_new", "_old", file_name)) + diff_file_name = os.path.join(folder, re.sub(r"_new", "_diff", file_name)) image_diff = numpy.abs(new_image - old_image) matplotlib.image.imsave(diff_file_name, image_diff) else: diff --git a/python/inet/test/fingerprint/correct_fingerprints.json b/python/inet/test/fingerprint/correct_fingerprints.json index 80876580874..9a4068732af 100644 --- a/python/inet/test/fingerprint/correct_fingerprints.json +++ b/python/inet/test/fingerprint/correct_fingerprints.json @@ -91,7 +91,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "4535-a13d", + "fingerprint": "f435-6129", "timestamp": 1639567704.42191, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -189,7 +189,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "3ebd-6f54", + "fingerprint": "7862-b54e", "timestamp": 1639567704.588757, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -301,7 +301,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "0a6f-a84c", + "fingerprint": "b893-98b5", "timestamp": 1639567704.7382298, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -343,7 +343,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "f4a1-f5d8", + "fingerprint": "ed2f-2d62", "timestamp": 1639567704.7585893, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -357,7 +357,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "ff06-03de", + "fingerprint": "f57b-dee5", "timestamp": 1639567704.8135598, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -371,7 +371,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "4cb2-a7e5", + "fingerprint": "2bec-1d6f", "timestamp": 1639567704.7953842, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -385,7 +385,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "cd86-d5e3", + "fingerprint": "8a06-c4b3", "timestamp": 1639567704.776653, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -413,7 +413,7 @@ "sim_time_limit": "60s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "9cd4-310a", + "fingerprint": "6547-8802", "timestamp": 1639567705.1276402, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -455,7 +455,7 @@ "sim_time_limit": "50s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "9261-45a4", + "fingerprint": "e4a9-3aec", "timestamp": 1639567704.9986196, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -497,7 +497,7 @@ "sim_time_limit": "50s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "1f10-e203", + "fingerprint": "a3f1-3e52", "timestamp": 1639567704.9443412, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -553,7 +553,7 @@ "sim_time_limit": "50s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "edb3-aecf", + "fingerprint": "3905-6701", "timestamp": 1639567704.8729708, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -609,7 +609,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "44ee-3069", + "fingerprint": "afa1-5507", "timestamp": 1639567705.1801949, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -665,7 +665,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "5e18-20d8", + "fingerprint": "d378-9182", "timestamp": 1639567705.4573298, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -721,7 +721,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "9679-3b11", + "fingerprint": "1557-2ebe", "timestamp": 1639567705.3828425, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -763,7 +763,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "63f5-7347", + "fingerprint": "114d-2c48", "timestamp": 1639567705.2548225, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -819,7 +819,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "ecd8-0a3f", + "fingerprint": "ab4c-8842", "timestamp": 1639567705.3092818, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -875,7 +875,7 @@ "sim_time_limit": "50s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "ff08-24be", + "fingerprint": "eb48-e33e", "timestamp": 1639567705.056831, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -4683,7 +4683,7 @@ "sim_time_limit": "10ms", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "7526-1622", + "fingerprint": "f13d-754f", "timestamp": 1639567709.009867, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -4739,7 +4739,7 @@ "sim_time_limit": "10ms", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "b364-b238", + "fingerprint": "de56-7cdb", "timestamp": 1639567708.9374535, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -4795,7 +4795,7 @@ "sim_time_limit": "10ms", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "2ee2-63f0", + "fingerprint": "28d6-d4e9", "timestamp": 1639567708.8657331, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -4851,7 +4851,7 @@ "sim_time_limit": "10ms", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "9878-e0f6", + "fingerprint": "b2d2-3c37", "timestamp": 1639567709.08536, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -4907,7 +4907,7 @@ "sim_time_limit": "10ms", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "1869-0f8b", + "fingerprint": "01d5-50c3", "timestamp": 1639567708.7885714, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -4963,7 +4963,7 @@ "sim_time_limit": "10ms", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "a0b3-f2da", + "fingerprint": "741e-5e8b", "timestamp": 1639567709.1594467, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -5579,7 +5579,7 @@ "sim_time_limit": "200s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "c25f-2574", + "fingerprint": "1415-776b", "timestamp": 1639567711.1496773, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -5607,7 +5607,7 @@ "sim_time_limit": "200s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "bd77-a206", + "fingerprint": "0ae6-86e4", "timestamp": 1639567711.1850207, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -5621,7 +5621,7 @@ "sim_time_limit": "200s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "8601-141a", + "fingerprint": "71e8-0ad4", "timestamp": 1639567711.167735, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -5635,7 +5635,7 @@ "sim_time_limit": "200s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "2c1a-a1b1", + "fingerprint": "5570-c31b", "timestamp": 1639567711.2973075, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -5663,7 +5663,7 @@ "sim_time_limit": "200s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "5f34-6588", + "fingerprint": "358e-383e", "timestamp": 1639567711.3330035, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -5677,7 +5677,7 @@ "sim_time_limit": "200s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "a5cf-cbf5", + "fingerprint": "235a-595e", "timestamp": 1639567711.314921, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -5691,7 +5691,7 @@ "sim_time_limit": "200s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "a9da-c265", + "fingerprint": "8f0f-0156", "timestamp": 1639567711.221167, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -5719,7 +5719,7 @@ "sim_time_limit": "200s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "9b0e-81e7", + "fingerprint": "868f-fd0d", "timestamp": 1639567711.2605639, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -5733,7 +5733,7 @@ "sim_time_limit": "200s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "cad5-887f", + "fingerprint": "d994-07a5", "timestamp": 1639567711.2384355, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -8561,7 +8561,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "ef47-0e0a", + "fingerprint": "4bbe-13d2", "timestamp": 1639567714.9866347, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -8575,7 +8575,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "c6e2-1ff6", + "fingerprint": "dc27-190c", "timestamp": 1639567715.0452673, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -8589,7 +8589,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "e26e-6000", + "fingerprint": "ac31-3a65", "timestamp": 1639567715.0240989, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -8603,7 +8603,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "a08b-958f", + "fingerprint": "c404-57a1", "timestamp": 1639567715.0066168, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9468,10 +9468,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMACFullDuplex", "run": 0, - "sim_time_limit": "5s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "f5d6-1dd1", + "fingerprint": "c7dd-8ce3", "timestamp": 1639567716.190026, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9482,10 +9482,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMACFullDuplex", "run": 0, - "sim_time_limit": "5s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "c628-1257", + "fingerprint": "0f4b-e9e9", "timestamp": 1639567716.2428293, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9496,10 +9496,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMACFullDuplex", "run": 0, - "sim_time_limit": "5s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "a9dc-c7b5", + "fingerprint": "68a3-9d13", "timestamp": 1639567716.2253916, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9510,10 +9510,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMACFullDuplex", "run": 0, - "sim_time_limit": "5s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "a0a4-cccc", + "fingerprint": "273f-6d68", "timestamp": 1639567716.2077506, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9524,10 +9524,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMACFullDuplex", "run": 1, - "sim_time_limit": "5s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "f5d6-1dd1", + "fingerprint": "c7dd-8ce3", "timestamp": 1639567716.2667222, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9538,10 +9538,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMACFullDuplex", "run": 1, - "sim_time_limit": "5s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "b0d5-e738", + "fingerprint": "f98b-71a9", "timestamp": 1639567716.3207057, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9552,10 +9552,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMACFullDuplex", "run": 1, - "sim_time_limit": "5s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "a9dc-c7b5", + "fingerprint": "68a3-9d13", "timestamp": 1639567716.3038287, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9566,10 +9566,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMACFullDuplex", "run": 1, - "sim_time_limit": "5s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "a0a4-cccc", + "fingerprint": "273f-6d68", "timestamp": 1639567716.2848675, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9580,10 +9580,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_fullduplex", "run": 0, - "sim_time_limit": "3s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "3187-9719", + "fingerprint": "c6db-8480", "timestamp": 1639567716.3409402, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9594,10 +9594,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_fullduplex", "run": 0, - "sim_time_limit": "3s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "829c-4355", + "fingerprint": "647a-cc13", "timestamp": 1639567716.3944027, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9608,10 +9608,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_fullduplex", "run": 0, - "sim_time_limit": "3s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "b28c-937a", + "fingerprint": "f12c-b386", "timestamp": 1639567716.3768637, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9622,10 +9622,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_fullduplex", "run": 0, - "sim_time_limit": "3s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "2487-88f0", + "fingerprint": "6359-0047", "timestamp": 1639567716.3582304, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9636,10 +9636,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_fullduplex", "run": 1, - "sim_time_limit": "3s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "3187-9719", + "fingerprint": "c6db-8480", "timestamp": 1639567716.4133823, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9650,10 +9650,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_fullduplex", "run": 1, - "sim_time_limit": "3s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "4a7b-4e82", + "fingerprint": "7259-49ac", "timestamp": 1639567716.4707048, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9664,10 +9664,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_fullduplex", "run": 1, - "sim_time_limit": "3s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "b28c-937a", + "fingerprint": "f12c-b386", "timestamp": 1639567716.4482527, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9678,10 +9678,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_fullduplex", "run": 1, - "sim_time_limit": "3s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "2487-88f0", + "fingerprint": "6359-0047", "timestamp": 1639567716.4303992, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9692,10 +9692,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_halfduplex", "run": 0, - "sim_time_limit": "2s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "f14c-721d", + "fingerprint": "adc4-719f", "timestamp": 1639567716.4888837, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9706,10 +9706,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_halfduplex", "run": 0, - "sim_time_limit": "2s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "7f15-7ac8", + "fingerprint": "5ea3-4944", "timestamp": 1639567716.5420294, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9720,10 +9720,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_halfduplex", "run": 0, - "sim_time_limit": "2s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "fb6c-fc94", + "fingerprint": "a294-ab6d", "timestamp": 1639567716.5238478, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9734,10 +9734,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_halfduplex", "run": 0, - "sim_time_limit": "2s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "7bd7-28ac", + "fingerprint": "e5ae-b931", "timestamp": 1639567716.506173, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9748,10 +9748,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_halfduplex", "run": 1, - "sim_time_limit": "2s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "4ee7-b5ca", + "fingerprint": "0ba9-ca2f", "timestamp": 1639567716.5616918, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9762,10 +9762,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_halfduplex", "run": 1, - "sim_time_limit": "2s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "39a0-e508", + "fingerprint": "5548-ee41", "timestamp": 1639567716.6150625, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9776,10 +9776,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_halfduplex", "run": 1, - "sim_time_limit": "2s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "3b24-9a40", + "fingerprint": "0d46-ef82", "timestamp": 1639567716.5971234, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -9790,10 +9790,10 @@ "ini_file": "omnetpp.ini", "config": "with_EtherMAC_halfduplex", "run": 1, - "sim_time_limit": "2s", + "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "4b94-75ef", + "fingerprint": "894e-5243", "timestamp": 1639567716.578347, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -13419,7 +13419,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "82ca-61a2", + "fingerprint": "3365-fa74", "timestamp": 1639567721.4636838, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -13475,7 +13475,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "4945-96d4", + "fingerprint": "57a5-1480", "timestamp": 1639567722.060561, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -13531,7 +13531,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "2dc3-29f4", + "fingerprint": "dc2f-7b28", "timestamp": 1639567721.6114202, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -13587,7 +13587,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "2e7e-f5a0", + "fingerprint": "8a3e-26d1", "timestamp": 1639567721.8347669, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -13643,7 +13643,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "4945-96d4", + "fingerprint": "57a5-1480", "timestamp": 1639567721.9155722, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -13699,7 +13699,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "fc1b-6064", + "fingerprint": "0478-6494", "timestamp": 1639567721.3878427, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -13755,7 +13755,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "4d9b-72c4", + "fingerprint": "8e58-1a4b", "timestamp": 1639567721.6881728, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -13811,7 +13811,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "4945-96d4", + "fingerprint": "57a5-1480", "timestamp": 1639567721.987711, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -13867,7 +13867,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "38a4-9e86", + "fingerprint": "497e-09a5", "timestamp": 1639567721.536779, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -13923,7 +13923,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "5959-269b", + "fingerprint": "5787-6195", "timestamp": 1639567721.7604468, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -14357,7 +14357,7 @@ "sim_time_limit": "50000s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "0a57-ae95", + "fingerprint": "253f-ba1b", "timestamp": 1639567722.599897, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -14371,7 +14371,7 @@ "sim_time_limit": "50000s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "16dc-f380", + "fingerprint": "f1e7-a0cc", "timestamp": 1639567722.6353881, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -14497,7 +14497,7 @@ "sim_time_limit": "50s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "30eb-d416", + "fingerprint": "2b21-0aa7", "timestamp": 1639567722.7354944, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -14511,7 +14511,7 @@ "sim_time_limit": "50s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "29e2-73c8", + "fingerprint": "268e-bb92", "timestamp": 1639567722.7728174, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -14539,7 +14539,7 @@ "sim_time_limit": "50s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "2ed6-3320", + "fingerprint": "6aae-6db8", "timestamp": 1639567722.7907658, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -14553,7 +14553,7 @@ "sim_time_limit": "50s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "6fb1-4791", + "fingerprint": "a87b-23eb", "timestamp": 1639567722.826745, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -14595,7 +14595,7 @@ "sim_time_limit": "50s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "a63a-cd35", + "fingerprint": "73a1-404b", "timestamp": 1639567722.8830428, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -14623,7 +14623,7 @@ "sim_time_limit": "1000s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "7aaf-adaa", + "fingerprint": "c5d4-8871", "timestamp": 1639567722.901274, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -14637,7 +14637,7 @@ "sim_time_limit": "1000s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "9199-0d6f", + "fingerprint": "3475-fc31", "timestamp": 1639567722.9399407, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -14679,7 +14679,7 @@ "sim_time_limit": "1000s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "1e5c-bedb", + "fingerprint": "ca30-d6dc", "timestamp": 1639567722.995432, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -14721,7 +14721,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "829a-6e83", + "fingerprint": "f4ae-8bb4", "timestamp": 1639567723.0746825, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -15799,7 +15799,7 @@ "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "8736-8b10", + "fingerprint": "51a2-250b", "timestamp": 1639567724.497944, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -15813,7 +15813,7 @@ "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "d60f-81e8", + "fingerprint": "c7df-394b", "timestamp": 1639567724.5534537, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -16569,7 +16569,7 @@ "sim_time_limit": "10000s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "bb94-612c", + "fingerprint": "2889-e87d", "timestamp": 1639567725.5307257, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17717,7 +17717,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "082a-d5ae", + "fingerprint": "366f-e8b8", "timestamp": 1639567727.2674654, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17731,7 +17731,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "5f58-7469", + "fingerprint": "fe53-5936", "timestamp": 1639567727.3059006, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17745,7 +17745,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "3790-656a", + "fingerprint": "ea60-9956", "timestamp": 1639567727.286821, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17759,7 +17759,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "9940-e9be", + "fingerprint": "366f-e8b8", "timestamp": 1639567727.1899693, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17787,7 +17787,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "5244-9ec7", + "fingerprint": "fe53-5936", "timestamp": 1639567727.22751, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17801,7 +17801,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "f1e5-9031", + "fingerprint": "ea60-9956", "timestamp": 1639567727.2079346, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17815,7 +17815,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "b46b-4d94", + "fingerprint": "366f-e8b8", "timestamp": 1639567727.1330802, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17829,7 +17829,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "1090-8041", + "fingerprint": "fe53-5936", "timestamp": 1639567727.1705823, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17843,7 +17843,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "801c-c672", + "fingerprint": "ea60-9956", "timestamp": 1639567727.151958, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17857,7 +17857,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "dc71-5ea0", + "fingerprint": "92e8-be6b", "timestamp": 1639567727.0766685, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17871,7 +17871,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "374f-e540", + "fingerprint": "1b49-5bdf", "timestamp": 1639567727.1131973, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17885,7 +17885,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "bfd1-84cd", + "fingerprint": "ea60-9956", "timestamp": 1639567727.0950127, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17899,7 +17899,7 @@ "sim_time_limit": "20s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "eec2-572c", + "fingerprint": "9c36-7f4c", "timestamp": 1639567727.4775748, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -17955,7 +17955,7 @@ "sim_time_limit": "20s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "eec2-572c", + "fingerprint": "9c36-7f4c", "timestamp": 1639567727.4010139, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -18011,7 +18011,7 @@ "sim_time_limit": "20s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "eec2-572c", + "fingerprint": "9c36-7f4c", "timestamp": 1639567727.3253148, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -18347,7 +18347,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "5bcf-1f1e", + "fingerprint": "9b22-3233", "timestamp": 1639567727.9312592, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -18375,7 +18375,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "33b4-eb78", + "fingerprint": "09d3-6f8a", "timestamp": 1639567727.9661074, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -18389,7 +18389,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "ed60-cc30", + "fingerprint": "56be-3f48", "timestamp": 1639567727.9494991, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -18683,7 +18683,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "ed0c-e9ac", + "fingerprint": "4597-c734", "timestamp": 1639567728.3811188, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -18711,7 +18711,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "c317-f1ba", + "fingerprint": "d192-f40f", "timestamp": 1639567728.417367, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -18725,7 +18725,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "7d94-2376", + "fingerprint": "1471-dd80", "timestamp": 1639567728.3992624, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24185,7 +24185,7 @@ "sim_time_limit": "5s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "1b06-0b2c", + "fingerprint": "ea34-1b2b", "timestamp": 1639567732.6078362, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24213,7 +24213,7 @@ "sim_time_limit": "5s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "d8f5-d323", + "fingerprint": "6b9b-4174", "timestamp": 1639567732.6436179, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24227,7 +24227,7 @@ "sim_time_limit": "5s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "2ad9-0144", + "fingerprint": "336a-f6a4", "timestamp": 1639567732.6251793, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24563,7 +24563,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "0000-0000", + "fingerprint": "02cf-58d1", "timestamp": 1639567733.197742, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24577,7 +24577,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "0000-0000", + "fingerprint": "53e7-75f7", "timestamp": 1639567733.2520535, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24591,7 +24591,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "0000-0000", + "fingerprint": "8fad-fd8c", "timestamp": 1639567733.2343073, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24605,7 +24605,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "0000-0000", + "fingerprint": "4db6-9460", "timestamp": 1639567733.215244, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24619,7 +24619,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "0000-0000", + "fingerprint": "980d-e1b0", "timestamp": 1639567733.1234183, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24633,7 +24633,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "0000-0000", + "fingerprint": "e9cd-0f54", "timestamp": 1639567733.1789234, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24647,7 +24647,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "0000-0000", + "fingerprint": "e05b-82cf", "timestamp": 1639567733.1589553, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24661,7 +24661,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "0000-0000", + "fingerprint": "5c4e-cf00", "timestamp": 1639567733.1419902, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24871,7 +24871,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "23e3-2123", + "fingerprint": "93bb-f576", "timestamp": 1639567733.6874688, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24927,7 +24927,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "23e3-2123", + "fingerprint": "93bb-f576", "timestamp": 1639567733.6123877, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -24983,7 +24983,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "1ede-a133", + "fingerprint": "ae86-7566", "timestamp": 1639567733.5381386, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -25851,7 +25851,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "4561-66d4", + "fingerprint": "2266-617f", "timestamp": 1639567734.927507, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -25879,7 +25879,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "2c98-fe3a", + "fingerprint": "e338-1510", "timestamp": 1639567734.9652295, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -25893,7 +25893,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "1d19-7be2", + "fingerprint": "10ba-3618", "timestamp": 1639567734.9468532, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -25963,7 +25963,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "55ce-2495", + "fingerprint": "d208-e7af", "timestamp": 1639567734.871745, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -25977,7 +25977,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "31b0-648d", + "fingerprint": "5962-3c23", "timestamp": 1639567734.9090667, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -25991,7 +25991,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "8017-51ec", + "fingerprint": "2176-a413", "timestamp": 1639567734.889769, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -26341,7 +26341,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "dcc5-5c63", + "fingerprint": "3e9e-7f1d", "timestamp": 1639567735.567354, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -26383,7 +26383,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "1d13-1fc7", + "fingerprint": "9b3b-f88a", "timestamp": 1639567735.6994798, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -26397,7 +26397,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "0bef-3731", + "fingerprint": "7607-db86", "timestamp": 1639567735.7373679, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -26411,7 +26411,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "b15d-c5f1", + "fingerprint": "be94-9c8e", "timestamp": 1639567735.719243, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -26425,7 +26425,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "ee21-b647", + "fingerprint": "9d53-27d2", "timestamp": 1639567735.639502, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -26439,7 +26439,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "3b01-2daa", + "fingerprint": "5c9c-7555", "timestamp": 1639567735.6805875, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -26453,7 +26453,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "360e-d6ee", + "fingerprint": "765b-5d45", "timestamp": 1639567735.6597064, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -26467,7 +26467,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "dac1-4df2", + "fingerprint": "9ff3-9b79", "timestamp": 1639567735.585142, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -26481,7 +26481,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "dd46-4550", + "fingerprint": "7d35-214d", "timestamp": 1639567735.6202314, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -26495,7 +26495,7 @@ "sim_time_limit": "10s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "badb-0808", + "fingerprint": "bcf1-ddd0", "timestamp": 1639567735.603248, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -27377,7 +27377,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "334d-5070", + "fingerprint": "7af9-93b4", "timestamp": 1650441493.2538147, "git_hash": "ee8d4d62bb564cd1b09d8344bbdbbc20ed36e7d5", "git_clean": false @@ -27429,7 +27429,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "9036-3602", + "fingerprint": "a6ec-9c0d", "timestamp": 1650441493.296588, "git_hash": "ee8d4d62bb564cd1b09d8344bbdbbc20ed36e7d5", "git_clean": false @@ -27442,7 +27442,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "03b9-42b3", + "fingerprint": "05e3-3f36", "timestamp": 1650441493.323182, "git_hash": "ee8d4d62bb564cd1b09d8344bbdbbc20ed36e7d5", "git_clean": false @@ -27481,7 +27481,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "8a65-950b", + "fingerprint": "d7da-78a3", "timestamp": 1650441493.3315601, "git_hash": "ee8d4d62bb564cd1b09d8344bbdbbc20ed36e7d5", "git_clean": false @@ -27585,7 +27585,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "b9bb-0f04", + "fingerprint": "fcd3-5507", "timestamp": 1650441493.408113, "git_hash": "ee8d4d62bb564cd1b09d8344bbdbbc20ed36e7d5", "git_clean": false @@ -27741,7 +27741,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "ac1e-785a", + "fingerprint": "f970-cd47", "timestamp": 1650441493.508009, "git_hash": "ee8d4d62bb564cd1b09d8344bbdbbc20ed36e7d5", "git_clean": false @@ -27793,7 +27793,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "8a37-e540", + "fingerprint": "1542-f575", "timestamp": 1650441493.543631, "git_hash": "ee8d4d62bb564cd1b09d8344bbdbbc20ed36e7d5", "git_clean": false @@ -27806,7 +27806,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "e6ad-7a84", + "fingerprint": "5bec-3e9d", "timestamp": 1650441493.5694802, "git_hash": "ee8d4d62bb564cd1b09d8344bbdbbc20ed36e7d5", "git_clean": false @@ -27819,7 +27819,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "97bd-1f25", + "fingerprint": "03aa-6b0a", "timestamp": 1650441493.5595767, "git_hash": "ee8d4d62bb564cd1b09d8344bbdbbc20ed36e7d5", "git_clean": false @@ -27832,7 +27832,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "f52d-ee20", + "fingerprint": "da34-6df2", "timestamp": 1650441493.551191, "git_hash": "ee8d4d62bb564cd1b09d8344bbdbbc20ed36e7d5", "git_clean": false @@ -27845,7 +27845,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "f70d-940d", + "fingerprint": "9957-cada", "timestamp": 1650441493.579659, "git_hash": "ee8d4d62bb564cd1b09d8344bbdbbc20ed36e7d5", "git_clean": false @@ -27897,7 +27897,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "22bd-a72c", + "fingerprint": "ce93-9652", "timestamp": 1639567035.326849, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -27911,7 +27911,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "fce4-5ae9", + "fingerprint": "f1fe-2cf6", "timestamp": 1639567035.3803885, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -27953,7 +27953,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "6226-0ee5", + "fingerprint": "8854-fd12", "timestamp": 1639567034.8979914, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -27967,7 +27967,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "4630-5dfc", + "fingerprint": "313c-8369", "timestamp": 1639567034.9525762, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28009,7 +28009,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "1fca-7a6f", + "fingerprint": "5e66-b751", "timestamp": 1639567035.0373, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28023,7 +28023,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "b309-64c3", + "fingerprint": "14ea-67fd", "timestamp": 1639567035.0897768, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28065,7 +28065,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "1211-c17f", + "fingerprint": "d335-a2a9", "timestamp": 1639567035.1075225, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28079,7 +28079,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "2bbf-4d43", + "fingerprint": "6e39-2c18", "timestamp": 1639567035.1640947, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28121,7 +28121,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "1211-c17f", + "fingerprint": "d335-a2a9", "timestamp": 1639567034.831001, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28135,7 +28135,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "497e-9125", + "fingerprint": "b0f4-f350", "timestamp": 1639567034.8814807, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28191,7 +28191,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "3303-ad79", + "fingerprint": "9b95-8573", "timestamp": 1639567035.2350173, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28289,7 +28289,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "bab2-85af", + "fingerprint": "1a34-2eaf", "timestamp": 1639567034.9686196, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28303,7 +28303,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "73bf-7dcf", + "fingerprint": "1b45-892c", "timestamp": 1639567035.0197513, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28359,7 +28359,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "cbca-ae3b", + "fingerprint": "f2a0-d5cc", "timestamp": 1639567035.7364132, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28401,7 +28401,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "1fca-7a6f", + "fingerprint": "d17b-a341", "timestamp": 1639567035.3964064, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28415,7 +28415,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "d0b9-9a8d", + "fingerprint": "0a24-49d6", "timestamp": 1639567035.448839, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28457,7 +28457,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "1fca-7a6f", + "fingerprint": "d17b-a341", "timestamp": 1639567035.4660783, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28471,7 +28471,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "1a6b-13f8", + "fingerprint": "e59b-0cb2", "timestamp": 1639567035.520766, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28513,7 +28513,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "37d4-b1ec", + "fingerprint": "b664-c41c", "timestamp": 1639567035.7544663, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28527,7 +28527,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "b760-36fa", + "fingerprint": "9341-c186", "timestamp": 1639567035.8050761, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28569,7 +28569,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "1380-5e68", + "fingerprint": "2a0b-2a0b", "timestamp": 1639567035.5402796, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28583,7 +28583,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "9882-b558", + "fingerprint": "6513-1219", "timestamp": 1639567035.5925202, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28625,7 +28625,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "37d4-b1ec", + "fingerprint": "b664-c41c", "timestamp": 1639567035.6097746, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28639,7 +28639,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "4d87-8af1", + "fingerprint": "7ebe-e954", "timestamp": 1639567035.6623013, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28681,7 +28681,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "a626-644b", + "fingerprint": "9475-d04c", "timestamp": 1639567035.89396, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28695,7 +28695,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "4e12-2cf3", + "fingerprint": "9aa5-0684", "timestamp": 1639567035.9546251, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28737,7 +28737,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "1380-5e68", + "fingerprint": "d129-5465", "timestamp": 1639567035.8228078, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28751,7 +28751,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "31a9-9fed", + "fingerprint": "73e2-57f6", "timestamp": 1639567035.877083, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -28944,10 +28944,10 @@ "ini_file": "omnetpp.ini", "config": "General", "run": 0, - "sim_time_limit": "5s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "1b92-4fcd", + "fingerprint": "2c89-c055", "timestamp": 1641984246.1870043, "git_hash": "4ca97a88d4e7d292f07487540abc3b8943cddc9b", "git_clean": false @@ -28957,10 +28957,10 @@ "ini_file": "omnetpp.ini", "config": "General", "run": 0, - "sim_time_limit": "5s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "7516-65c2", + "fingerprint": "3705-5741", "timestamp": 1646728033.2758994, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -28970,10 +28970,10 @@ "ini_file": "omnetpp.ini", "config": "General", "run": 0, - "sim_time_limit": "5s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "7a4e-ed48", + "fingerprint": "8826-e8e2", "timestamp": 1641984305.471541, "git_hash": "4ca97a88d4e7d292f07487540abc3b8943cddc9b", "git_clean": false @@ -28983,10 +28983,10 @@ "ini_file": "omnetpp.ini", "config": "Failover", "run": 0, - "sim_time_limit": "4s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "e49e-a5f9", + "fingerprint": "472e-aa82", "timestamp": 1641984530.584304, "git_hash": "4ca97a88d4e7d292f07487540abc3b8943cddc9b", "git_clean": false @@ -28996,10 +28996,10 @@ "ini_file": "omnetpp.ini", "config": "Failover", "run": 0, - "sim_time_limit": "4s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "6613-27cc", + "fingerprint": "af1a-e3b0", "timestamp": 1646728033.3071368, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -29009,10 +29009,10 @@ "ini_file": "omnetpp.ini", "config": "Failover", "run": 0, - "sim_time_limit": "4s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "e06d-20d6", + "fingerprint": "64b0-c88f", "timestamp": 1641984496.285498, "git_hash": "4ca97a88d4e7d292f07487540abc3b8943cddc9b", "git_clean": false @@ -29022,10 +29022,10 @@ "ini_file": "omnetpp.ini", "config": "LinkFailure", "run": 0, - "sim_time_limit": "4s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "c911-40bb", + "fingerprint": "472e-aa82", "timestamp": 1641984530.6044307, "git_hash": "4ca97a88d4e7d292f07487540abc3b8943cddc9b", "git_clean": false @@ -29035,10 +29035,10 @@ "ini_file": "omnetpp.ini", "config": "LinkFailure", "run": 0, - "sim_time_limit": "4s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "0795-65df", + "fingerprint": "af1a-e3b0", "timestamp": 1646728033.334433, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -29048,10 +29048,10 @@ "ini_file": "omnetpp.ini", "config": "LinkFailure", "run": 0, - "sim_time_limit": "4s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "c0ff-9dd5", + "fingerprint": "64b0-c88f", "timestamp": 1641984496.3046005, "git_hash": "4ca97a88d4e7d292f07487540abc3b8943cddc9b", "git_clean": false @@ -29061,10 +29061,10 @@ "ini_file": "omnetpp.ini", "config": "NormalOperation", "run": 0, - "sim_time_limit": "4s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "6d7a-af95", + "fingerprint": "472e-aa82", "timestamp": 1641984530.6259742, "git_hash": "4ca97a88d4e7d292f07487540abc3b8943cddc9b", "git_clean": false @@ -29074,10 +29074,10 @@ "ini_file": "omnetpp.ini", "config": "NormalOperation", "run": 0, - "sim_time_limit": "4s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "75e4-4fa4", + "fingerprint": "af1a-e3b0", "timestamp": 1646728033.3599648, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -29087,10 +29087,10 @@ "ini_file": "omnetpp.ini", "config": "NormalOperation", "run": 0, - "sim_time_limit": "4s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "49c8-b06b", + "fingerprint": "64b0-c88f", "timestamp": 1641984496.3256855, "git_hash": "4ca97a88d4e7d292f07487540abc3b8943cddc9b", "git_clean": false @@ -29101,7 +29101,7 @@ "config": "AutomaticTsn", "run": 0, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "tplx", "fingerprint": "66d0-84af", "timestamp": 1641984762.5053008, @@ -29114,7 +29114,7 @@ "config": "AutomaticTsn", "run": 0, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "8a10-49cf", "timestamp": 1646728033.3880038, @@ -29127,7 +29127,7 @@ "config": "AutomaticTsn", "run": 0, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tNl", "fingerprint": "535f-488c", "timestamp": 1641984837.8024373, @@ -29140,7 +29140,7 @@ "config": "AutomaticTsn", "run": 1, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "tplx", "fingerprint": "181e-a6ef", "timestamp": 1641984762.526511, @@ -29153,7 +29153,7 @@ "config": "AutomaticTsn", "run": 1, "sim_time_limit": "0.1s", - "test_result": null, + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "0000-0000/~tND", "timestamp": 1646724791.0876768, @@ -29166,7 +29166,7 @@ "config": "AutomaticTsn", "run": 1, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "b244-c43f", "timestamp": 1646728033.4200208, @@ -29179,7 +29179,7 @@ "config": "AutomaticTsn", "run": 1, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tNl", "fingerprint": "5e58-27b9", "timestamp": 1641984837.8277113, @@ -29192,7 +29192,7 @@ "config": "AutomaticTsn", "run": 2, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "tplx", "fingerprint": "da76-54e4", "timestamp": 1641984762.5466812, @@ -29205,7 +29205,7 @@ "config": "AutomaticTsn", "run": 2, "sim_time_limit": "0.1s", - "test_result": null, + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "0000-0000/~tND", "timestamp": 1646724791.11233, @@ -29218,7 +29218,7 @@ "config": "AutomaticTsn", "run": 2, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "6823-3a9c", "timestamp": 1646728033.4565907, @@ -29231,7 +29231,7 @@ "config": "AutomaticTsn", "run": 2, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tNl", "fingerprint": "c733-44ca", "timestamp": 1641984837.8515694, @@ -29244,7 +29244,7 @@ "config": "AutomaticTsn", "run": 3, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "tplx", "fingerprint": "c5ba-1d62", "timestamp": 1641984762.5738165, @@ -29257,7 +29257,7 @@ "config": "AutomaticTsn", "run": 3, "sim_time_limit": "0.1s", - "test_result": null, + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "0000-0000/~tND", "timestamp": 1646724791.141008, @@ -29270,7 +29270,7 @@ "config": "AutomaticTsn", "run": 3, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "e35b-a380", "timestamp": 1646728033.4881485, @@ -29283,7 +29283,7 @@ "config": "AutomaticTsn", "run": 3, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tNl", "fingerprint": "5a06-7578", "timestamp": 1641984837.8779223, @@ -29296,7 +29296,7 @@ "config": "ManualTsn", "run": 0, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "tplx", "fingerprint": "b187-219b", "timestamp": 1641984762.598072, @@ -29309,7 +29309,7 @@ "config": "ManualTsn", "run": 0, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "a66c-fd66", "timestamp": 1646728033.5213325, @@ -29322,7 +29322,7 @@ "config": "ManualTsn", "run": 0, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tNl", "fingerprint": "72cb-2346", "timestamp": 1641984837.9021523, @@ -29335,7 +29335,7 @@ "config": "ManualTsn", "run": 1, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "tplx", "fingerprint": "5255-996a", "timestamp": 1641984762.6213424, @@ -29348,7 +29348,7 @@ "config": "ManualTsn", "run": 1, "sim_time_limit": "0.1s", - "test_result": null, + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "0000-0000/~tND", "timestamp": 1646724791.1882718, @@ -29361,7 +29361,7 @@ "config": "ManualTsn", "run": 1, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "9246-38f5", "timestamp": 1646728033.5582361, @@ -29374,7 +29374,7 @@ "config": "ManualTsn", "run": 1, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tNl", "fingerprint": "5002-1142", "timestamp": 1641984837.93114, @@ -29387,7 +29387,7 @@ "config": "ManualTsn", "run": 2, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "tplx", "fingerprint": "5d9b-a6fc", "timestamp": 1641984762.6462092, @@ -29400,7 +29400,7 @@ "config": "ManualTsn", "run": 2, "sim_time_limit": "0.1s", - "test_result": null, + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "0000-0000/~tND", "timestamp": 1646724791.2129927, @@ -29413,7 +29413,7 @@ "config": "ManualTsn", "run": 2, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "922c-7bd8", "timestamp": 1646728033.5817177, @@ -29426,7 +29426,7 @@ "config": "ManualTsn", "run": 2, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tNl", "fingerprint": "3143-7992", "timestamp": 1641984837.9553692, @@ -29439,7 +29439,7 @@ "config": "ManualTsn", "run": 3, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "tplx", "fingerprint": "909c-8994", "timestamp": 1641984762.6713784, @@ -29452,7 +29452,7 @@ "config": "ManualTsn", "run": 3, "sim_time_limit": "0.1s", - "test_result": null, + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "0000-0000/~tND", "timestamp": 1646724791.2372885, @@ -29465,7 +29465,7 @@ "config": "ManualTsn", "run": 3, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tND", "fingerprint": "4444-51d9", "timestamp": 1646728033.6038005, @@ -29478,7 +29478,7 @@ "config": "ManualTsn", "run": 3, "sim_time_limit": "0.1s", - "test_result": "PASS", + "test_result": "SKIP", "ingredients": "~tNl", "fingerprint": "dd4f-1d93", "timestamp": 1641984837.9813497, @@ -29789,10 +29789,10 @@ "ini_file": "omnetpp.ini", "config": "CutthroughSwitching", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "cfc7-c8cc", + "fingerprint": "d29e-0238", "timestamp": 1641984168.07157, "git_hash": "363312e006d4b21c768e39a72ec6b38db9a00e80", "git_clean": false @@ -29802,10 +29802,10 @@ "ini_file": "omnetpp.ini", "config": "CutthroughSwitching", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "d173-1ffa", + "fingerprint": "c30f-92f5", "timestamp": 1646728033.7495458, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -29815,10 +29815,10 @@ "ini_file": "omnetpp.ini", "config": "CutthroughSwitching", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "684b-ee31", + "fingerprint": "e65e-6c0d", "timestamp": 1641984177.3091545, "git_hash": "363312e006d4b21c768e39a72ec6b38db9a00e80", "git_clean": false @@ -29828,10 +29828,10 @@ "ini_file": "omnetpp.ini", "config": "StoreAndForward", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "3b0d-9bef", + "fingerprint": "e93f-4829", "timestamp": 1641984168.091024, "git_hash": "363312e006d4b21c768e39a72ec6b38db9a00e80", "git_clean": false @@ -29841,10 +29841,10 @@ "ini_file": "omnetpp.ini", "config": "StoreAndForward", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "f18b-4c9d", + "fingerprint": "5033-eee8", "timestamp": 1646728033.7807415, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -29854,10 +29854,10 @@ "ini_file": "omnetpp.ini", "config": "StoreAndForward", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "5a39-d363", + "fingerprint": "2186-4b4a", "timestamp": 1641984177.3271284, "git_hash": "363312e006d4b21c768e39a72ec6b38db9a00e80", "git_clean": false @@ -29867,10 +29867,10 @@ "ini_file": "omnetpp.ini", "config": "FifoQueueing", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "eaa7-d7ad", + "fingerprint": "5ef8-0e2f", "timestamp": 1641982236.7795196, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -29880,10 +29880,10 @@ "ini_file": "omnetpp.ini", "config": "FifoQueueing", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "ba36-ed50", + "fingerprint": "734d-28bc", "timestamp": 1646728033.8147156, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -29893,10 +29893,10 @@ "ini_file": "omnetpp.ini", "config": "FifoQueueing", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "9aa2-1084", + "fingerprint": "5254-8176", "timestamp": 1641982245.9409342, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -29906,10 +29906,10 @@ "ini_file": "omnetpp.ini", "config": "FramePreemption", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "9922-86af", + "fingerprint": "61e7-818c", "timestamp": 1641982236.7990217, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -29919,10 +29919,10 @@ "ini_file": "omnetpp.ini", "config": "FramePreemption", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "68c7-5de7", + "fingerprint": "282a-bbdf", "timestamp": 1646728033.8459904, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -29932,10 +29932,10 @@ "ini_file": "omnetpp.ini", "config": "FramePreemption", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "6294-de28", + "fingerprint": "1f71-5042", "timestamp": 1641982245.9634778, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -29945,10 +29945,10 @@ "ini_file": "omnetpp.ini", "config": "PriorityQueueing", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "a176-00c6", + "fingerprint": "3171-cda0", "timestamp": 1641982236.8364673, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -29958,10 +29958,10 @@ "ini_file": "omnetpp.ini", "config": "PriorityQueueing", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "c5be-190e", + "fingerprint": "f7ae-7530", "timestamp": 1646728033.8660975, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -29971,10 +29971,10 @@ "ini_file": "omnetpp.ini", "config": "PriorityQueueing", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "5243-40fd", + "fingerprint": "48c5-41c7", "timestamp": 1641982246.006229, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -29984,7 +29984,7 @@ "ini_file": "omnetpp.ini", "config": "RealisticBase", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", "fingerprint": "817a-4e76", @@ -29997,7 +29997,7 @@ "ini_file": "omnetpp.ini", "config": "RealisticBase", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", "fingerprint": "fd8b-1cd4", @@ -30010,7 +30010,7 @@ "ini_file": "omnetpp.ini", "config": "RealisticBase", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", "fingerprint": "628d-4692", @@ -30023,10 +30023,10 @@ "ini_file": "omnetpp.ini", "config": "RealisticFifoQueueing", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "48dc-ef96", + "fingerprint": "de97-e390", "timestamp": 1641982236.8799336, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30036,10 +30036,10 @@ "ini_file": "omnetpp.ini", "config": "RealisticFifoQueueing", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "af31-ef6f", + "fingerprint": "dc5f-01ec", "timestamp": 1646728033.9196134, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -30049,10 +30049,10 @@ "ini_file": "omnetpp.ini", "config": "RealisticFifoQueueing", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "1fc7-e5e6", + "fingerprint": "1186-b23d", "timestamp": 1641982246.044557, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30062,10 +30062,10 @@ "ini_file": "omnetpp.ini", "config": "RealisticFramePreemption", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "716a-f073", + "fingerprint": "2fca-eca2", "timestamp": 1641982236.8998446, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30075,10 +30075,10 @@ "ini_file": "omnetpp.ini", "config": "RealisticFramePreemption", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "1923-34c9", + "fingerprint": "9672-3073", "timestamp": 1646728033.945025, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -30088,10 +30088,10 @@ "ini_file": "omnetpp.ini", "config": "RealisticFramePreemption", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "58c9-b6a6", + "fingerprint": "aa7f-8964", "timestamp": 1641982246.064253, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30101,10 +30101,10 @@ "ini_file": "omnetpp.ini", "config": "RealisticPriorityQueueing", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "84f4-5103", + "fingerprint": "716e-e1aa", "timestamp": 1641982236.9222238, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30114,10 +30114,10 @@ "ini_file": "omnetpp.ini", "config": "RealisticPriorityQueueing", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "863f-014c", + "fingerprint": "c8f5-2204", "timestamp": 1646728033.9680748, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -30127,10 +30127,10 @@ "ini_file": "omnetpp.ini", "config": "RealisticPriorityQueueing", "run": 0, - "sim_time_limit": "0.1s", + "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "d4b7-0d95", + "fingerprint": "e9b6-4788", "timestamp": 1641982246.081845, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30143,7 +30143,7 @@ "sim_time_limit": "0.1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "19d6-370c", + "fingerprint": "2e3e-b280", "timestamp": 1641982448.0014474, "git_hash": "686ad7d4fd038945018810bcfd487e2521d6fe81", "git_clean": false @@ -30156,7 +30156,7 @@ "sim_time_limit": "0.1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "b327-74b7", + "fingerprint": "1993-b291", "timestamp": 1646728033.9934547, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -30169,7 +30169,7 @@ "sim_time_limit": "0.1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "d5a6-4ca7", + "fingerprint": "34d5-1f17", "timestamp": 1641982432.3470597, "git_hash": "686ad7d4fd038945018810bcfd487e2521d6fe81", "git_clean": false @@ -30182,7 +30182,7 @@ "sim_time_limit": "0.1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "7178-8e8e", + "fingerprint": "f13d-494b", "timestamp": 1641982448.0246563, "git_hash": "686ad7d4fd038945018810bcfd487e2521d6fe81", "git_clean": false @@ -30195,7 +30195,7 @@ "sim_time_limit": "0.1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "9657-4442", + "fingerprint": "b482-a229", "timestamp": 1646728034.016001, "git_hash": "9a4de0a738c229cf114656a3a2cfc3a83091cb24", "git_clean": false @@ -30208,7 +30208,7 @@ "sim_time_limit": "0.1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "f720-ebd8", + "fingerprint": "2a99-604c", "timestamp": 1641982432.3701527, "git_hash": "686ad7d4fd038945018810bcfd487e2521d6fe81", "git_clean": false @@ -30221,7 +30221,7 @@ "sim_time_limit": "0.1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "6be3-dd37", + "fingerprint": "5894-8d2a", "timestamp": 1641982448.0435538, "git_hash": "686ad7d4fd038945018810bcfd487e2521d6fe81", "git_clean": false @@ -30260,7 +30260,7 @@ "sim_time_limit": "0.1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "2d75-c489", + "fingerprint": "c1d1-d561", "timestamp": 1641982448.06543, "git_hash": "686ad7d4fd038945018810bcfd487e2521d6fe81", "git_clean": false @@ -30377,7 +30377,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "15a9-cd52", + "fingerprint": "bc9a-33db", "timestamp": 1641982122.910134, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30416,7 +30416,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "70d4-769d", + "fingerprint": "536f-670b", "timestamp": 1641982122.9320543, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30600,7 +30600,7 @@ "sim_time_limit": "0.1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "17af-2257", + "fingerprint": "f505-e9e1", "timestamp": 1641981744.371833, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30640,7 +30640,7 @@ "sim_time_limit": "0.1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "d964-5b56", + "fingerprint": "c389-b29b", "timestamp": 1641981803.9375155, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30706,7 +30706,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "e183-bd2f", + "fingerprint": "4557-47ee", "timestamp": 1641981690.6021397, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30746,7 +30746,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "58cd-e051", + "fingerprint": "adc1-495c", "timestamp": 1641981664.239524, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30759,7 +30759,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "139f-d169", + "fingerprint": "55e0-3c2c", "timestamp": 1641981690.623063, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30799,7 +30799,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "4d4e-f2e0", + "fingerprint": "0d64-e5fe", "timestamp": 1641981664.2605007, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30812,7 +30812,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "a1d8-aaf2", + "fingerprint": "dea2-d499", "timestamp": 1641981690.6469598, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30852,7 +30852,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "0392-4b13", + "fingerprint": "0a1f-2954", "timestamp": 1641981664.281248, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30865,7 +30865,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "77e5-22c4", + "fingerprint": "a6db-6ed1", "timestamp": 1641981516.843682, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30904,7 +30904,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "bd5e-5172", + "fingerprint": "d076-0173", "timestamp": 1641981516.8633285, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -30982,7 +30982,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "53be-3bfa", + "fingerprint": "a3f3-82c6", "timestamp": 1641981516.9021916, "git_hash": "48ef81b83ddf1cd740b0fa6b171e75304f11b2e1", "git_clean": false @@ -31438,7 +31438,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "d78c-d2b3", + "fingerprint": "b002-4047", "timestamp": 1639567036.8493118, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -31466,7 +31466,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "6448-a105", + "fingerprint": "6af1-ef70", "timestamp": 1639567036.8849897, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -31480,7 +31480,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "9da2-e719", + "fingerprint": "ff00-fc3d", "timestamp": 1639567036.8680768, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -31998,7 +31998,7 @@ "sim_time_limit": "500s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "5d58-540c", + "fingerprint": "2811-6bc6", "timestamp": 1639567038.0975213, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -32054,7 +32054,7 @@ "sim_time_limit": "500s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "4a47-0e85", + "fingerprint": "4c62-3d46", "timestamp": 1639567038.24289, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -32110,7 +32110,7 @@ "sim_time_limit": "500s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "a56e-92bc", + "fingerprint": "2a6f-66de", "timestamp": 1639567038.174215, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -32166,7 +32166,7 @@ "sim_time_limit": "500s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "72d3-5569", + "fingerprint": "a35d-f318", "timestamp": 1639567038.3157492, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -32208,7 +32208,7 @@ "sim_time_limit": "2002ms", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "afbf-aeca", + "fingerprint": "c23c-c6c8", "timestamp": 1639567037.9704504, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -32222,7 +32222,7 @@ "sim_time_limit": "2002ms", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "2f54-9b7a", + "fingerprint": "ea28-df1a", "timestamp": 1639567038.0231555, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -32656,7 +32656,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "ccd5-887d", + "fingerprint": "2622-bc42", "timestamp": 1639567038.966736, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -32684,7 +32684,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "83b0-4592", + "fingerprint": "d485-aec1", "timestamp": 1639567039.0002189, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -32698,7 +32698,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "a095-84ae", + "fingerprint": "6db5-38b6", "timestamp": 1639567038.9827554, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -34280,7 +34280,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "2d29-28dd", + "fingerprint": "7ae9-e07d", "timestamp": 1639567040.2911022, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -34294,7 +34294,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "f566-61a0", + "fingerprint": "7c5e-90dc", "timestamp": 1639567040.3289926, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -34308,7 +34308,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "27bf-b5e5", + "fingerprint": "db8b-3b81", "timestamp": 1639567040.3089578, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -34322,7 +34322,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "e136-81db", + "fingerprint": "462d-10c7", "timestamp": 1639567040.3467941, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -34336,7 +34336,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "59d0-28b6", + "fingerprint": "8cbb-3d87", "timestamp": 1639567040.3831284, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -34350,7 +34350,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "c6d0-cd6a", + "fingerprint": "727b-d26a", "timestamp": 1639567040.364346, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -34364,7 +34364,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "4821-e745", + "fingerprint": "aa2d-5d35", "timestamp": 1639567040.2353652, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -34378,7 +34378,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "0665-70ed", + "fingerprint": "4e02-c64f", "timestamp": 1639567040.272182, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -34392,7 +34392,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "9018-08c8", + "fingerprint": "2094-1f2a", "timestamp": 1639567040.2543523, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -38676,7 +38676,7 @@ "sim_time_limit": "1s", "test_result": "PASS", "ingredients": "tyf", - "fingerprint": "de05-2496", + "fingerprint": "b8cc-129c", "timestamp": 1639567044.1206803, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39152,7 +39152,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "cf0a-6f57", + "fingerprint": "498f-b665", "timestamp": 1639567044.6796787, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39166,7 +39166,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "2c4f-28e0", + "fingerprint": "fb79-0fa3", "timestamp": 1639567044.7136004, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39180,7 +39180,7 @@ "sim_time_limit": "100s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "3919-0e5c", + "fingerprint": "6f50-5caf", "timestamp": 1639567044.696771, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39415,10 +39415,10 @@ "ini_file": "extras.ini", "config": "BMacAodv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "3dff-9620", + "fingerprint": "2146-c8a6", "timestamp": 1639567045.3230286, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39429,7 +39429,7 @@ "ini_file": "extras.ini", "config": "BMacAodv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tyf", "fingerprint": "0e6c-651a", @@ -39443,10 +39443,10 @@ "ini_file": "extras.ini", "config": "BMacAodv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "ddc4-6751", + "fingerprint": "4743-8c64", "timestamp": 1639567045.3396952, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39457,7 +39457,7 @@ "ini_file": "extras.ini", "config": "BMacDsdv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tplx", "fingerprint": "c35f-84f7", @@ -39471,7 +39471,7 @@ "ini_file": "extras.ini", "config": "BMacDsdv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "ERROR", "ingredients": "tyf", "fingerprint": "74fc-07a6", @@ -39485,7 +39485,7 @@ "ini_file": "extras.ini", "config": "BMacDsdv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "ERROR", "ingredients": "~tNl", "fingerprint": "4a0e-5dca", @@ -39499,10 +39499,10 @@ "ini_file": "extras.ini", "config": "LMacAodv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "adb4-d987", + "fingerprint": "e066-a2b0", "timestamp": 1639567045.4270318, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39513,7 +39513,7 @@ "ini_file": "extras.ini", "config": "LMacAodv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tyf", "fingerprint": "dc04-ccfa", @@ -39527,10 +39527,10 @@ "ini_file": "extras.ini", "config": "LMacAodv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "1870-d2f9", + "fingerprint": "dbd5-db1d", "timestamp": 1639567045.4429755, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39541,7 +39541,7 @@ "ini_file": "extras.ini", "config": "LMacDsdv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tplx", "fingerprint": "80ef-6f8c", @@ -39555,7 +39555,7 @@ "ini_file": "extras.ini", "config": "LMacDsdv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "ERROR", "ingredients": "tyf", "fingerprint": "e260-4a14", @@ -39569,7 +39569,7 @@ "ini_file": "extras.ini", "config": "LMacDsdv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "ERROR", "ingredients": "~tNl", "fingerprint": "af60-efea", @@ -39583,10 +39583,10 @@ "ini_file": "extras.ini", "config": "XMacAodv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "6bb2-a402", + "fingerprint": "f734-2bac", "timestamp": 1639567045.3746347, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39597,7 +39597,7 @@ "ini_file": "extras.ini", "config": "XMacAodv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tyf", "fingerprint": "6a9a-801c", @@ -39611,10 +39611,10 @@ "ini_file": "extras.ini", "config": "XMacAodv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "50a0-256f", + "fingerprint": "852a-a6f9", "timestamp": 1639567045.3917887, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39625,7 +39625,7 @@ "ini_file": "extras.ini", "config": "XMacDsdv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tplx", "fingerprint": "2a39-0fe6", @@ -39639,7 +39639,7 @@ "ini_file": "extras.ini", "config": "XMacDsdv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "ERROR", "ingredients": "tyf", "fingerprint": "db64-5b3e", @@ -39653,7 +39653,7 @@ "ini_file": "extras.ini", "config": "XMacDsdv", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "ERROR", "ingredients": "~tNl", "fingerprint": "c64f-34ee", @@ -39667,10 +39667,10 @@ "ini_file": "omnetpp.ini", "config": "BMac", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "97b2-0271", + "fingerprint": "2fdb-bd74", "timestamp": 1639567045.0107152, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39681,7 +39681,7 @@ "ini_file": "omnetpp.ini", "config": "BMac", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tyf", "fingerprint": "13b4-fd5e", @@ -39695,10 +39695,10 @@ "ini_file": "omnetpp.ini", "config": "BMac", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "1e9e-20a6", + "fingerprint": "e869-c24c", "timestamp": 1639567045.0262866, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39709,10 +39709,10 @@ "ini_file": "omnetpp.ini", "config": "LMac", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "f7b7-c242", + "fingerprint": "9d51-0951", "timestamp": 1639567045.1125584, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39723,7 +39723,7 @@ "ini_file": "omnetpp.ini", "config": "LMac", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tyf", "fingerprint": "2f76-b76a", @@ -39737,10 +39737,10 @@ "ini_file": "omnetpp.ini", "config": "LMac", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "5f26-7b54", + "fingerprint": "ef40-a9e8", "timestamp": 1639567045.1339476, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39751,10 +39751,10 @@ "ini_file": "omnetpp.ini", "config": "StatisticBMac", "run": 100, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "e62c-88b1", + "fingerprint": "171b-e9a6", "timestamp": 1639567045.1682513, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39765,7 +39765,7 @@ "ini_file": "omnetpp.ini", "config": "StatisticBMac", "run": 100, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tyf", "fingerprint": "29dc-6f6d", @@ -39779,10 +39779,10 @@ "ini_file": "omnetpp.ini", "config": "StatisticBMac", "run": 100, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "20c0-77a8", + "fingerprint": "d5e3-49c0", "timestamp": 1639567045.1852872, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39793,10 +39793,10 @@ "ini_file": "omnetpp.ini", "config": "StatisticLMac", "run": 100, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "ce29-101f", + "fingerprint": "60e4-3fd6", "timestamp": 1639567045.2700608, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39807,7 +39807,7 @@ "ini_file": "omnetpp.ini", "config": "StatisticLMac", "run": 100, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tyf", "fingerprint": "dc00-772a", @@ -39821,10 +39821,10 @@ "ini_file": "omnetpp.ini", "config": "StatisticLMac", "run": 100, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "dd9d-26ec", + "fingerprint": "6f72-dc77", "timestamp": 1639567045.2866464, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39835,10 +39835,10 @@ "ini_file": "omnetpp.ini", "config": "StatisticXMac", "run": 100, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "d6ea-c9cd", + "fingerprint": "9271-1704", "timestamp": 1639567045.2184947, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39849,7 +39849,7 @@ "ini_file": "omnetpp.ini", "config": "StatisticXMac", "run": 100, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tyf", "fingerprint": "95c6-f7d9", @@ -39863,10 +39863,10 @@ "ini_file": "omnetpp.ini", "config": "StatisticXMac", "run": 100, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "2022-c179", + "fingerprint": "1890-24d8", "timestamp": 1639567045.2349763, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39877,10 +39877,10 @@ "ini_file": "omnetpp.ini", "config": "XMac", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tplx", - "fingerprint": "2ca3-2ca3", + "fingerprint": "ef8a-cb49", "timestamp": 1639567045.0607414, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -39891,7 +39891,7 @@ "ini_file": "omnetpp.ini", "config": "XMac", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "tyf", "fingerprint": "86c7-197b", @@ -39905,10 +39905,10 @@ "ini_file": "omnetpp.ini", "config": "XMac", "run": 0, - "sim_time_limit": "100s", + "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tNl", - "fingerprint": "1634-ad60", + "fingerprint": "7f5a-0f0c", "timestamp": 1639567045.079252, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -51864,7 +51864,7 @@ "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "0177-5998", + "fingerprint": "4098-a667", "timestamp": 1639567695.7886267, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -51920,7 +51920,7 @@ "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "0177-5998", + "fingerprint": "4098-a667", "timestamp": 1639567695.8616853, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -51976,7 +51976,7 @@ "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "8fae-536b", + "fingerprint": "e00e-4acc", "timestamp": 1639567695.9310079, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -52032,7 +52032,7 @@ "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "fa57-bbe0", + "fingerprint": "a3ef-91b4", "timestamp": 1639567696.0000856, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, @@ -52088,7 +52088,7 @@ "sim_time_limit": "25s", "test_result": "PASS", "ingredients": "~tND", - "fingerprint": "fa57-bbe0", + "fingerprint": "a3ef-91b4", "timestamp": 1639567696.0721812, "git_hash": "9633de5495de12231f4647defe96af93d9486b16", "git_clean": false, diff --git a/python/inet/test/fingerprint/task.py b/python/inet/test/fingerprint/task.py index cb6bed1dc8b..7e8ec3e449c 100644 --- a/python/inet/test/fingerprint/task.py +++ b/python/inet/test/fingerprint/task.py @@ -30,7 +30,7 @@ def get_ingredients_extra_args(ingredients): class Fingerprint: def __init__(self, text): - match = re.match("(.*)/(.*)", text) + match = re.match(r"(.*)/(.*)", text) self.fingerprint = match.groups()[0] self.ingredients = match.groups()[1] @@ -72,7 +72,7 @@ def get_fingerprint_trajectory(self): eventlog_file = open(eventlog_file_path) fingerprints = [] for line in eventlog_file: - match = re.match("E # .* f (.*)", line) + match = re.match(r"E # .* f (.*)", line) if match: fingerprints.append(Fingerprint(match.group(1))) eventlog_file.close() @@ -122,13 +122,13 @@ def __repr__(self): return repr(self) def run(self, test_result_filter=None, exclude_test_result_filter="SKIP", output_stream=sys.stdout, **kwargs): - if self.fingerprint: + if self.fingerprint and matches_filter(self.test_result, test_result_filter, exclude_test_result_filter, True): simulation_project = self.simulation_task.simulation_config.simulation_project return super().run(extra_args=self.get_extra_args(simulation_project, str(self.fingerprint)) + get_ingredients_extra_args(self.ingredients), output_stream=output_stream, **kwargs) else: if matches_filter("SKIP", test_result_filter, exclude_test_result_filter, True): print("Running " + self.simulation_task.get_parameters_string(**kwargs), end=" ", file=output_stream) - return FingerprintTestTaskResult(simulation_task=self, result="SKIP", reason="Correct fingerprint not found") + return FingerprintTestTaskResult(task=self, result="SKIP", expected_result=self.test_result, reason="Correct fingerprint not found") def check_simulation_task_result(self, simulation_task_result, **kwargs): expected_fingerprint = self.fingerprint @@ -303,11 +303,11 @@ def debug(self): def get_calculated_fingerprint(simulation_result, ingredients): stdout = simulation_result.subprocess_result.stdout.decode("utf-8") - match = re.search("Fingerprint successfully verified:.*? ([0-9a-f]{4}-[0-9a-f]{4})/" + ingredients, stdout) + match = re.search(r"Fingerprint successfully verified:.*? ([0-9a-f]{4}-[0-9a-f]{4})/" + ingredients, stdout) if match: value = match.groups()[0] else: - match = re.search("Fingerprint mismatch! calculated:.*? ([0-9a-f]{4}-[0-9a-f]{4})/" + ingredients + ".*expected", stdout) + match = re.search(r"Fingerprint mismatch! calculated:.*? ([0-9a-f]{4}-[0-9a-f]{4})/" + ingredients + ".*expected", stdout) if match: value = match.groups()[0] else: diff --git a/python/inet/test/opp.py b/python/inet/test/opp.py index 949b87d45ca..bf38371d24f 100644 --- a/python/inet/test/opp.py +++ b/python/inet/test/opp.py @@ -10,7 +10,7 @@ logger = logging.getLogger(__name__) class OppTestTask(TestTask): - def __init__(self, simulation_project, working_directory, test_file_name, **kwargs): + def __init__(self, simulation_project, working_directory, test_file_name, mode="debug", **kwargs): super().__init__(**kwargs) self.locals = locals() self.locals.pop("self") @@ -18,22 +18,61 @@ def __init__(self, simulation_project, working_directory, test_file_name, **kwar self.simulation_project = simulation_project self.working_directory = working_directory self.test_file_name = test_file_name + self.mode = mode def get_parameters_string(self, **kwargs): return self.test_file_name def run_protected(self, capture_output=True, **kwargs): - executable = "sh" - args = [executable, "runtest", self.test_file_name] + binary_suffix = "_dbg" if self.mode == "debug" else "" + test_binary_name = re.sub(r"\.test", "", self.test_file_name) + test_directory = os.path.join(self.working_directory, f"work/{test_binary_name}") + has_lib = os.path.exists(os.path.join(self.working_directory, "lib")) + os.makedirs(test_directory, exist_ok=True) + args = ["opp_test", "gen", "-v", self.test_file_name] + subprocess_result = subprocess.run(args, cwd=self.working_directory, capture_output=capture_output, env=self.simulation_project.get_env()) + if subprocess_result.returncode != 0: + return self.task_result_class(self, result="ERROR", stderr=subprocess_result.stderr.decode("utf-8")) + args = ["opp_makemake", "-f", "--deep", f"-lINET{binary_suffix}", "-L../../../../src", *([f"-ltest{binary_suffix}", "-L../../lib"] if has_lib else []), "-P", test_directory, "-I../../../../src", "-I../../lib"] + subprocess_result = subprocess.run(args, cwd=test_directory, capture_output=capture_output, env=self.simulation_project.get_env()) + if subprocess_result.returncode != 0: + return self.task_result_class(self, result="ERROR", stderr=subprocess_result.stderr.decode("utf-8")) + args = ["make", f"MODE={self.mode}"] + subprocess_result = subprocess.run(args, cwd=test_directory, capture_output=capture_output, env=self.simulation_project.get_env()) + if subprocess_result.returncode != 0: + return self.task_result_class(self, result="ERROR", stderr=subprocess_result.stderr.decode("utf-8")) + args = ["opp_test", "run", "-v", "-p", f"{test_binary_name}/{test_binary_name}{binary_suffix}", self.test_file_name, "-a", "--check-signals=false", "-lINET", "-n", f"../../../../src:.:{'../../lib' if has_lib else ''}"] subprocess_result = subprocess.run(args, cwd=self.working_directory, capture_output=capture_output, env=self.simulation_project.get_env()) stdout = subprocess_result.stdout.decode("utf-8") + stderr = subprocess_result.stderr.decode("utf-8") match = re.search(r"Aggregate result: (\w+)", stdout) - if subprocess_result.returncode == signal.SIGINT.value or subprocess_result.returncode == -signal.SIGINT.value: + if match: + result = match.group(1) + return self.task_result_class(self, result=match.group(1), stdout=stdout, stderr=stderr) + elif subprocess_result.returncode == signal.SIGINT.value or subprocess_result.returncode == -signal.SIGINT.value: return self.task_result_class(self, result="CANCEL", reason="Cancel by user") - elif match and subprocess_result.returncode == 0: - return self.task_result_class(self, result=match.group(1)) else: - return self.task_result_class(self, result="FAIL", reason=f"Non-zero exit code: {subprocess_result.returncode}") + return self.task_result_class(self, result="FAIL", reason=f"Non-zero exit code: {subprocess_result.returncode}", stdout=stdout, stderr=stderr) + +class MultipleOppTestTasks(MultipleTestTasks): + def __init__(self, simulation_project=None, test_folder=None, mode="debug", **kwargs): + super().__init__(**kwargs) + self.locals = locals() + self.locals.pop("self") + self.kwargs = kwargs + self.simulation_project = simulation_project + self.test_folder = test_folder + self.mode = mode + + def run_protected(self, capture_output=True, **kwargs): + test_directory = self.simulation_project.get_full_path(self.test_folder) + lib_directory = os.path.join(test_directory, "lib") + if os.path.exists(lib_directory): + args = ["make", f"MODE={self.mode}"] + subprocess_result = subprocess.run(args, cwd=lib_directory, capture_output=capture_output, env=self.simulation_project.get_env()) + if subprocess_result.returncode != 0: + raise Exception("Cannot build lib") + return super().run_protected(**kwargs) def get_opp_test_tasks(test_folder, simulation_project=default_project, filter=".*", full_match=False, **kwargs): def create_test_task(test_file_name): @@ -41,7 +80,7 @@ def create_test_task(test_file_name): test_file_names = list(builtins.filter(lambda test_file_name: matches_filter(test_file_name, filter, None, full_match), glob.glob(os.path.join(simulation_project.get_full_path(test_folder), "*.test")))) test_tasks = list(map(create_test_task, test_file_names)) - return MultipleTestTasks(tasks=test_tasks, multiple_task_results_class=MultipleTestTaskResults, **kwargs) + return MultipleOppTestTasks(tasks=test_tasks, simulation_project=simulation_project, test_folder=test_folder, multiple_task_results_class=MultipleTestTaskResults, **kwargs) def run_opp_tests(test_folder, **kwargs): multiple_test_tasks = get_opp_test_tasks(test_folder, **kwargs) diff --git a/python/inet/test/release.py b/python/inet/test/release.py new file mode 100644 index 00000000000..eaa6b43d739 --- /dev/null +++ b/python/inet/test/release.py @@ -0,0 +1,16 @@ +import logging + +from inet.test.all import * + +logger = logging.getLogger(__name__) + +def run_release_tests(capture_output=True, **kwargs): + args = ["opp_featuretool", "enable", "all"] + subprocess_result = subprocess.run(args, cwd=inet_project.get_full_path("."), capture_output=capture_output) + if subprocess_result.returncode != 0: + raise Exception(f"Enabling features failed") + args = ["opp_featuretool", "disable", "SelfDoc"] + subprocess_result = subprocess.run(args, cwd=inet_project.get_full_path("."), capture_output=capture_output) + if subprocess_result.returncode != 0: + raise Exception(f"Disabling features failed") + return run_all_tests(**kwargs) diff --git a/python/inet/test/sanitizer.py b/python/inet/test/sanitizer.py index 2410cee5b81..3b0a41c2ae3 100644 --- a/python/inet/test/sanitizer.py +++ b/python/inet/test/sanitizer.py @@ -8,11 +8,11 @@ class SanitizerTestTask(SimulationTestTask): def run_protected(self, output_stream=sys.stdout, **kwargs): simulation_task_result = self.simulation_task.run_protected(output_stream=output_stream, **kwargs) - stderr = simulation_task_result.subprocess_result.stderr.decode("utf-8") + stderr = simulation_task_result.subprocess_result.stderr.decode("utf-8") if simulation_task_result.subprocess_result.stderr else "" test_task_result = super().check_simulation_task_result(simulation_task_result, **kwargs) - match = re.search("SUMMARY: (.*)", stderr) + match = re.search(r"SUMMARY: (.*)", stderr) if match: - test_task_result.reason = re.sub(" in", "", match.group(1)) + test_task_result.reason = re.sub(r" in", "", match.group(1)) # TODO isn't there a better way? if test_task_result.result == "PASS": test_task_result.result = "FAIL" diff --git a/python/inet/test/simulation.py b/python/inet/test/simulation.py index 0fb3749a088..ef11b6c7c5b 100644 --- a/python/inet/test/simulation.py +++ b/python/inet/test/simulation.py @@ -77,17 +77,18 @@ def check_simulation_task_result(self, simulation_task_result, **kwargs): return self.task_result_class(task=self, simulation_task_result=simulation_task_result, result=result, expected_result=expected_result, reason=simulation_task_result.reason) class MultipleSimulationTestTasks(MultipleTestTasks): - def __init__(self, build=True, simulation_project=None, **kwargs): + def __init__(self, build=True, mode="debug", simulation_project=None, **kwargs): super().__init__(build=build, simulation_project=simulation_project, **kwargs) self.locals = locals() self.locals.pop("self") self.kwargs = kwargs self.build = build + self.mode = mode self.simulation_project = simulation_project def run(self, **kwargs): if self.build: - build_project(simulation_project=self.simulation_project, **kwargs) + build_project(**dict(simulation_project=self.simulation_project, mode=self.mode, **kwargs)) return super().run(**kwargs) # test_results = super().run(**kwargs) # flattened_test_results = flatten(map(lambda test_result: test_result.get_test_results(), test_results)) diff --git a/python/inet/test/smoke.py b/python/inet/test/smoke.py index 8ce37bd3681..773f97b7e7a 100644 --- a/python/inet/test/smoke.py +++ b/python/inet/test/smoke.py @@ -13,8 +13,8 @@ def check_simulation_task_result(self, simulation_task_result, **kwargs): # TODO check simulation_task_result.elapsed_cpu_time return super().check_simulation_task_result(simulation_task_result, **kwargs) -def get_smoke_test_tasks(cpu_time_limit="1s", **kwargs): - return get_simulation_test_tasks(cpu_time_limit=cpu_time_limit, name="smoke test", simulation_test_task_class=SmokeTestTask, **kwargs) +def get_smoke_test_tasks(cpu_time_limit="1s", run=0, **kwargs): + return get_simulation_test_tasks(cpu_time_limit=cpu_time_limit, run=run, name="smoke test", simulation_test_task_class=SmokeTestTask, **kwargs) def run_smoke_tests(**kwargs): multiple_test_tasks = get_smoke_test_tasks(**kwargs) diff --git a/python/inet/test/statistical.py b/python/inet/test/statistical.py index deca4a2d72f..8e57dfd161d 100644 --- a/python/inet/test/statistical.py +++ b/python/inet/test/statistical.py @@ -30,7 +30,7 @@ def check_simulation_task_result(self, simulation_task_result, result_name_filte stored_results_directory = simulation_project.get_full_path(os.path.join("statistics", working_directory)) scalars_match = False for current_scalar_result_file_name in glob.glob(os.path.join(current_results_directory, "*.sca")): - if re.search("/" + config + "-#", current_scalar_result_file_name): + if re.search(r"/" + config + "-#", current_scalar_result_file_name): logger.debug(f"Reading result file {current_scalar_result_file_name}") current_df = read_result_files(current_scalar_result_file_name) current_df = get_scalars(current_df) @@ -50,7 +50,7 @@ def check_simulation_task_result(self, simulation_task_result, result_name_filte current_scalar_result_file = file.readlines() with open(stored_scalar_result_file_name, "r") as file: stored_scalar_result_file = file.readlines() - scalar_result_diff_file_name = re.sub(".sca", ".diff", stored_scalar_result_file_name) + scalar_result_diff_file_name = re.sub(r".sca", ".diff", stored_scalar_result_file_name) with open(scalar_result_diff_file_name, "w") as file: scalar_diff = "".join(difflib.ndiff(current_scalar_result_file, stored_scalar_result_file)) file.write(scalar_diff) @@ -69,8 +69,8 @@ def check_simulation_task_result(self, simulation_task_result, result_name_filte df = df[df.apply(lambda row: matches_filter(row["name"], result_name_filter, exclude_result_name_filter, full_match) and \ matches_filter(row["module"], result_module_filter, exclude_result_module_filter, full_match), axis=1)] reason = df.loc[df["relative_error"].idxmax()].to_string() - reason = re.sub(" +", " = ", reason) - reason = re.sub("\\n", ", ", reason) + reason = re.sub(r" +", " = ", reason) + reason = re.sub(r"\n", ", ", reason) return self.task_result_class(task=self, simulation_task_result=simulation_task_result, result="FAIL", reason=reason) else: return self.task_result_class(task=self, simulation_task_result=simulation_task_result, result="ERROR", reason="Stored statistical results are not found") diff --git a/python/inet/test/validation.py b/python/inet/test/validation.py index 2c140230dca..3056198b0e2 100644 --- a/python/inet/test/validation.py +++ b/python/inet/test/validation.py @@ -30,8 +30,8 @@ def compute_frame_replication_success_rate_from_simulation_results(**kwargs): filter_expression = """type =~ scalar AND ((module =~ "*.destination.udp" AND name =~ packetReceived:count) OR (module =~ "*.source.udp" AND name =~ packetSent:count))""" df = read_result_files(inet_project.get_full_path("tests/validation/tsn/framereplication/results/*.sca"), filter_expression=filter_expression) df = get_scalars(df) - packetSent = float(df[df.name == "packetSent:count"].value) - packetReceived = float(df[df.name == "packetReceived:count"].value) + packetSent = float(df[df.name == "packetSent:count"].iloc[0].value) + packetReceived = float(df[df.name == "packetReceived:count"].iloc[0].value) return packetReceived / packetSent def compute_frame_replication_success_rate_analytically1(): @@ -100,16 +100,16 @@ def compute_asynchronousshaper_icct_endtoend_delay_from_simulation_results(**kwa filter_expression = """type =~ scalar AND name =~ meanBitLifeTimePerPacket:histogram:max""" df = read_result_files(inet_project.get_full_path("tests/validation/tsn/trafficshaping/asynchronousshaper/icct/results/*.sca"), filter_expression=filter_expression, include_fields_as_scalars=True) df = get_scalars(df) - df["name"] = df["name"].map(lambda name: re.sub(".*(min|max)", "\\1", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*N6.app\\[[0-4]\\].*", "Flow 4, Class A", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*N6.app\\[[5-9]\\].*", "Flow 5, Class B", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*N7.app\\[[0-9]\\].*", "Flow 1, CDT", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*N7.app\\[1[0-9]\\].*", "Flow 2, Class A", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*N7.app\\[2[0-9]\\].*", "Flow 3, Class B", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*N7.app\\[3[0-4]\\].*", "Flow 6, Class A", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*N7.app\\[3[5-9]\\].*", "Flow 7, Class B", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*N7.app\\[40\\].*", "Flow 8, Best Effort", name)) - df = pd.pivot_table(df, index="module", columns="name", values="value", aggfunc=max) + df["name"] = df["name"].map(lambda name: re.sub(r".*(min|max)", "\\1", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*N6.app\[[0-4]\].*", "Flow 4, Class A", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*N6.app\[[5-9]\].*", "Flow 5, Class B", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*N7.app\[[0-9]\].*", "Flow 1, CDT", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*N7.app\[1[0-9]\].*", "Flow 2, Class A", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*N7.app\[2[0-9]\].*", "Flow 3, Class B", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*N7.app\[3[0-4]\].*", "Flow 6, Class A", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*N7.app\[3[5-9]\].*", "Flow 7, Class B", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*N7.app\[40\].*", "Flow 8, Best Effort", name)) + df = pd.pivot_table(df, index="module", columns="name", values="value", aggfunc="max") return df * 1000000 def compute_asynchronousshaper_icct_endtoend_delay_alternatively(): @@ -146,11 +146,11 @@ def compute_asynchronousshaper_core4inet_endtoend_delay_from_simulation_results( filter_expression = """type =~ scalar AND (name =~ meanBitLifeTimePerPacket:histogram:min OR name =~ meanBitLifeTimePerPacket:histogram:max OR name =~ meanBitLifeTimePerPacket:histogram:mean OR name =~ meanBitLifeTimePerPacket:histogram:stddev)""" df = read_result_files(inet_project.get_full_path("tests/validation/tsn/trafficshaping/asynchronousshaper/core4inet/results/*.sca"), filter_expression=filter_expression, include_fields_as_scalars=True) df = get_scalars(df) - df["name"] = df["name"].map(lambda name: re.sub(".*(min|max|mean|stddev)", "\\1", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*app\\[0\\].*", "Best effort", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*app\\[1\\].*", "Medium", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*app\\[2\\].*", "High", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*app\\[3\\].*", "Critical", name)) + df["name"] = df["name"].map(lambda name: re.sub(r".*(min|max|mean|stddev)", "\\1", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*app\[0\].*", "Best effort", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*app\[1\].*", "Medium", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*app\[2\].*", "High", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*app\[3\].*", "Critical", name)) df = df.loc[df["module"]!="Best effort"] df = pd.pivot_table(df, index="module", columns="name", values="value") return df * 1000000 @@ -213,11 +213,11 @@ def compute_creditbasedshaper_endtoend_delay_from_simulation_results(**kwargs): filter_expression = """type =~ scalar AND (name =~ meanBitLifeTimePerPacket:histogram:min OR name =~ meanBitLifeTimePerPacket:histogram:max OR name =~ meanBitLifeTimePerPacket:histogram:mean OR name =~ meanBitLifeTimePerPacket:histogram:stddev)""" df = read_result_files(inet_project.get_full_path("tests/validation/tsn/trafficshaping/creditbasedshaper/results/*.sca"), filter_expression=filter_expression, include_fields_as_scalars=True) df = get_scalars(df) - df["name"] = df["name"].map(lambda name: re.sub(".*(min|max|mean|stddev)", "\\1", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*app\\[0\\].*", "Best effort", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*app\\[1\\].*", "Medium", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*app\\[2\\].*", "High", name)) - df["module"] = df["module"].map(lambda name: re.sub(".*app\\[3\\].*", "Critical", name)) + df["name"] = df["name"].map(lambda name: re.sub(r".*(min|max|mean|stddev)", "\\1", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*app\[0\].*", "Best effort", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*app\[1\].*", "Medium", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*app\[2\].*", "High", name)) + df["module"] = df["module"].map(lambda name: re.sub(r".*app\[3\].*", "Critical", name)) df = df.loc[df["module"]!="Best effort"] df = pd.pivot_table(df, index="module", columns="name", values="value") return df * 1000000 diff --git a/python/inet/gdb/printers/__init__.py b/python/inetgdb/__init__.py similarity index 100% rename from python/inet/gdb/printers/__init__.py rename to python/inetgdb/__init__.py diff --git a/python/inet/gdb/printers/printers.py b/python/inetgdb/printers.py similarity index 100% rename from python/inet/gdb/printers/printers.py rename to python/inetgdb/printers.py diff --git a/python/modifiedplot.py b/python/modifiedplot.py index c73e175a8c8..2336cc721e6 100644 --- a/python/modifiedplot.py +++ b/python/modifiedplot.py @@ -609,7 +609,7 @@ def add_to_dataframe(df, style_tuple_list=None, default_dict=None, order=None, d default_dict = {'linestyle': '-', 'linewidth': 1} order = ['configname', {'Default_config': 1, 'Advanced_config': 0, 'Manual_config': 2}] or - order = ['configname', 'Advanced_config', 'Default_config', 'Manual_config'}] + order = ['configname', 'Advanced_config', 'Default_config', 'Manual_config'] Note that the value parameter in style_tuple_list and the order can contain regex (e.g. .*foo). Make sure to escape regex characters such as [ and ] with \ """ diff --git a/python/requirements.txt b/python/requirements.txt new file mode 100644 index 00000000000..dd54d592a16 --- /dev/null +++ b/python/requirements.txt @@ -0,0 +1,6 @@ +dask >=2024.10.0 +ipython >= 8.29.0 +distributed >=2024.10.0 +optimparallel >=0.1.3 +sewar >=0.4.6 +py4j >=0.10.9 diff --git a/releng/update-changelogs b/releng/update-changelogs index 24e0c81f39d..b9594a9b2bd 100755 --- a/releng/update-changelogs +++ b/releng/update-changelogs @@ -9,14 +9,11 @@ import string import subprocess # configuration -since = '2023-03-14' # empty means "since last entry in the ChangeLog file" -fromtag = '' # alternative for 'since': from the given tag or branch +since = '' # empty means "since last entry in the ChangeLog file" +fromtag = 'v4.5.2' # alternative for 'since': from the given tag or branch entriesToIgnore = [ -"""2017-03-03 Rudolf Hornig - - doc: changelogs updated and tagged - +""" """, ] addMarker = True @@ -26,12 +23,12 @@ isMSYS = isWindows and ('OSTYPE' in os.environ) and os.environ['OSTYPE']=='msys' changedFiles = [] def formatChangeLog(txt): - txt = re.sub('(?m)^ ( )?', "\t", txt) # spaces-to-tab - txt = re.sub('(?m)^\s+X-Committed-on-Branch:.*$', '', txt) # remove X-Committed-on-Branch lines - txt = re.sub('(?m)^ ( )?', "\t", txt) # spaces-to-tab - txt = re.sub('(?m)[ \t]+$', '', txt) # remove end-line spaces - txt = re.sub("(?s)\n\n+", "\n\n", txt) # remove multiple blank lines - txt = txt.strip()+"\n" # remove leading/trailing blank + txt = re.sub(r"(?m)^ ( )?", "\t", txt) # spaces-to-tab + txt = re.sub(r"(?m)^\s+X-Committed-on-Branch:.*$", '', txt) # remove X-Committed-on-Branch lines + txt = re.sub(r"(?m)^ ( )?", "\t", txt) # spaces-to-tab + txt = re.sub(r"(?m)[ \t]+$", '', txt) # remove end-line spaces + txt = re.sub(r"(?s)\n\n+", "\n\n", txt) # remove multiple blank lines + txt = txt.strip()+r"\n" # remove leading/trailing blank return txt def updateChangeLogIn(dir): diff --git a/showcases/visualizer/canvas/datalinkactivity/DatalinkVisualizerShowcase.ned b/showcases/visualizer/canvas/datalinkactivity/DatalinkVisualizerShowcase.ned deleted file mode 100644 index 325efbf247b..00000000000 --- a/showcases/visualizer/canvas/datalinkactivity/DatalinkVisualizerShowcase.ned +++ /dev/null @@ -1,186 +0,0 @@ -// -// SPDX-License-Identifier: LGPL-3.0-or-later -// - -package inet.showcases.visualizer.canvas.datalinkactivity; - -import inet.networklayer.configurator.ipv4.Ipv4NetworkConfigurator; -import inet.node.aodv.AodvRouter; -import inet.node.ethernet.Eth100M; -import inet.node.ethernet.EthernetSwitch; -import inet.node.inet.AdhocHost; -import inet.node.inet.StandardHost; -import inet.physicallayer.wireless.ieee80211.packetlevel.Ieee80211ScalarRadioMedium; -import inet.visualizer.common.DataLinkVisualizer; -import inet.visualizer.common.IntegratedMultiVisualizer; -import inet.visualizer.common.IntegratedVisualizer; - -network DataLinkVisualizerEnablingWiredShowcase -{ - @display("bgb=700,250"); - submodules: - linkVisualizer: DataLinkVisualizer { - parameters: - @display("p=100,50"); - } - configurator: Ipv4NetworkConfigurator { - parameters: - @display("p=100,150"); - } - wiredSource: StandardHost { - @display("p=300,110"); - } - wiredDestination: StandardHost { - @display("p=600,110"); - } - connections: - wiredSource.ethg++ <--> Eth100M <--> wiredDestination.ethg++; -} - - -network DataLinkVisualizerEnablingWirelessShowcase -{ - @display("bgb=700,250"); - submodules: - linkVisualizer: DataLinkVisualizer { - parameters: - @display("p=100,50"); - } - configurator: Ipv4NetworkConfigurator { - parameters: - @display("p=100,120"); - } - radioMedium: Ieee80211ScalarRadioMedium { - parameters: - @display("p=100,190"); - } - wirelessSource: AdhocHost { - @display("p=300,110"); - } - wirelessDestination: AdhocHost { - @display("p=600,110"); - } -} - -network DataLinkVisualizerActivityLevelShowcase -{ - @display("bgb=700,250"); - submodules: - visualizer: IntegratedMultiVisualizer { - parameters: - @display("p=100,50"); - } - configurator: Ipv4NetworkConfigurator { - parameters: - @display("p=100,120"); - } - radioMedium: Ieee80211ScalarRadioMedium { - parameters: - @display("p=100,190"); - } - person1: AdhocHost { - @display("p=269,42;i=misc/person3"); - } - videoServer: AdhocHost { - @display("p=636,41;i=misc/desktoppc2"); - } - person2: AdhocHost { - @display("p=452,180;i=misc/person4"); - } -} - -network DataLinkVisualizerFilteringShowcase -{ - @display("bgb=900,600"); - submodules: - visualizer: IntegratedVisualizer { - @display("p=80,50"); - } - configurator: Ipv4NetworkConfigurator { - parameters: - @display("p=80,120"); - } - etherSwitch1: EthernetSwitch { - @display("p=376.896,169.12"); - } - etherSwitch3: EthernetSwitch { - @display("p=723.592,200.528"); - } - source1: StandardHost { - @display("p=206.568,50.736"); - } - etherSwitch4: EthernetSwitch { - @display("p=484.408,283.88"); - } - destination1: StandardHost { - @display("p=556.888,485.616"); - } - destination2: StandardHost { - @display("p=798.488,343.072"); - } - source2: StandardHost { - @display("p=173.952,227.104"); - } - etherSwitch2: EthernetSwitch { - @display("p=329.784,428.84"); - } - host1: StandardHost { - @display("p=233.144,506.152"); - } - host2: StandardHost { - @display("p=822.648,135.296"); - } - connections: - etherSwitch1.ethg++ <--> Eth100M <--> source1.ethg++; - etherSwitch1.ethg++ <--> Eth100M <--> etherSwitch4.ethg++; - etherSwitch4.ethg++ <--> Eth100M <--> etherSwitch3.ethg++; - etherSwitch1.ethg++ <--> Eth100M <--> source2.ethg++; - etherSwitch3.ethg++ <--> Eth100M <--> destination2.ethg++; - etherSwitch4.ethg++ <--> Eth100M <--> etherSwitch2.ethg++; - etherSwitch2.ethg++ <--> Eth100M <--> destination1.ethg++; - etherSwitch3.ethg++ <--> Eth100M <--> host2.ethg++; - etherSwitch2.ethg++ <--> Eth100M <--> host1.ethg++; -} - -network DataLinkVisualizerMobileShowcase -{ - @display("bgb=620,500"); - submodules: - visualizer: IntegratedVisualizer { - @display("p=70,50"); - } - configurator: Ipv4NetworkConfigurator { - @display("p=70,150"); - } - radioMedium: Ieee80211ScalarRadioMedium { - @display("p=70,250"); - } - destination: AodvRouter { - @display("p=512.272,249.796"); - } - source: AodvRouter { - @display("p=187.664,207.952"); - } - aodvRouter1: AodvRouter { - @display("p=201.612,311.928"); - } - aodvRouter2: AodvRouter { - @display("p=465.356,158.5"); - } - aodvRouter3: AodvRouter { - @display("p=426.048,311.928"); - } - aodvRouter4: AodvRouter { - @display("p=400.688,88.76"); - } - aodvRouter5: AodvRouter { - @display("p=333.484,177.52"); - } - aodvRouter6: AodvRouter { - @display("p=323.34,262.476"); - } - aodvRouter7: AodvRouter { - @display("p=265.012,109.048"); - } -} - diff --git a/showcases/visualizer/osg/earth/EarthVisualizationShowcase.ned b/showcases/visualizer/osg/earth/EarthVisualizationShowcase.ned index 631d036e38a..72c362b1ab4 100644 --- a/showcases/visualizer/osg/earth/EarthVisualizationShowcase.ned +++ b/showcases/visualizer/osg/earth/EarthVisualizationShowcase.ned @@ -1,13 +1,12 @@ package inet.showcases.visualizer.osg.earth; -import inet.common.geometry.common.OsgGeographicCoordinateSystem; +import inet.common.geometry.common.IGeographicCoordinateSystem; import inet.environment.common.PhysicalEnvironment; import inet.networklayer.configurator.ipv4.Ipv4NetworkConfigurator; import inet.node.inet.AdhocHost; import inet.physicallayer.wireless.ieee80211.packetlevel.Ieee80211ScalarRadioMedium; import inet.visualizer.common.IntegratedVisualizer; - network EarthVisualizationShowcase { submodules: @@ -15,7 +14,7 @@ network EarthVisualizationShowcase parameters: @display("p=100,50"); } - coordinateSystem: OsgGeographicCoordinateSystem { + coordinateSystem: like IGeographicCoordinateSystem { parameters: @display("p=100,150"); } diff --git a/src/ChangeLog b/src/ChangeLog index c4b942ed90f..0ad551c68a5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,1323 +1,1329 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-16 - Added folders - ============= - inet/applications/ipapp - inet/protocolelement/cutthrough + Added folders + ============= + inet/applications/ipapp + inet/protocolelement/cutthrough - Added modules - ============= - applications.ipapp.IpApp - applications.ipapp.IpSinkApp - applications.ipapp.IpSourceApp - linklayer.ethernet.modular.EthernetCutthroughBarrier - physicallayer.wireless.noise.NoiseScalarTransmitter - power.storage.CcBatteryPack - protocolelement.cutthrough.CutthroughSink - protocolelement.cutthrough.CutthroughSource - queueing.base.PacketDelayerBase - queueing.common.BackPressureBarrier - queueing.gate.GateControlList - queueing.sink.FullPacketSink + Added modules + ============= + applications.ipapp.IpApp + applications.ipapp.IpSinkApp + applications.ipapp.IpSourceApp + linklayer.ethernet.modular.EthernetCutthroughBarrier + physicallayer.wireless.noise.NoiseScalarTransmitter + power.storage.CcBatteryPack + protocolelement.cutthrough.CutthroughSink + protocolelement.cutthrough.CutthroughSource + queueing.base.PacketDelayerBase + queueing.common.BackPressureBarrier + queueing.gate.GateControlList + queueing.sink.FullPacketSink - Added parameters - ================ - CcBatteryPack:arrangement - CcBatteryPack:cellInternalResistance - CcBatteryPack:cellNominalCapacity - CcBatteryPack:cellNominalVoltage - CcBatteryPack:numberOfCells - ClockBase:emitClockTimeInterval - CutthroughSource:cutthroughPosition - EthernetCutthroughSource:cutthroughSwitchingHeaderSize - GateControlList:durations - GateControlList:gateStates - GateControlList:numGates - GateControlList:offset - ICtsPolicy:rateSelectionModule - ICtsPolicy:rxModule - IOriginatorAckPolicy:rateSelectionModule - IOriginatorBlockAckAgreementPolicy:originatorAckPolicyModule - IOriginatorQosAckPolicy:rateSelectionModule - IRecipientAckPolicy:rateSelectionModule - IRecipientQosAckPolicy:rateSelectionModule - IRtsPolicy:rateSelectionModule - Ieee80211OfdmDemodulator:numSubcarriers - Ieee80211OfdmErrorModel:symbolCorruptionMode - Ieee80211OfdmModulator:numSubcarriers - Ieee8021qTimeAwareShaper:hasGcl - InstantServer:serveSchedulingPriority - IpApp:interfaceTableModule - IpSocketIo:destAddress - IpSocketIo:interfaceTableModule - IpSocketIo:localAddress - IpSocketIo:protocol - IpSocketIo:stopOperationExtraTime - IpSocketIo:stopOperationTimeout - LayeredDimensionalAnalogModel:attenuateWithCenterFrequency - LayeredErrorModelBase:symbolCorruptionMode - LayeredEthernetInterface:mtu - NarrowbandTransmitterBase:codeRate - NoiseScalarTransmitter:bandwidth - NoiseScalarTransmitter:centerFrequency - NoiseScalarTransmitter:duration - NoiseScalarTransmitter:gainFunctionCacheLimit - NoiseScalarTransmitter:power - PacketDelayer:bitrate - PacketDelayerBase:scheduleZeroDelay - PacketDelayerBase:schedulingPriority - PacketDirectionReverser:excludeEncapsulationProtocols - PacketDirectionReverser:forwardPcp - PacketDirectionReverser:forwardVlan - PacketServer:serveSchedulingPriority - PacketSourceBase:packetProtocol - PacketTaggerBase:encapsulationProtocols - PassivePacketSink:initialConsumptionOffset - PassivePacketSource:initialProvidingOffset - PeriodicGate:closeSchedulingPriority - PeriodicGate:enableImplicitGuardBand - PeriodicGate:openSchedulingPriority - SimpleClockSynchronizer:synchronizationOscillatorCompensationError - StreamFilter:mode - TsnClock:hasCutthroughSwitching - VlanReqMapper:protocol + Added parameters + ================ + CcBatteryPack:arrangement + CcBatteryPack:cellInternalResistance + CcBatteryPack:cellNominalCapacity + CcBatteryPack:cellNominalVoltage + CcBatteryPack:numberOfCells + ClockBase:emitClockTimeInterval + CutthroughSource:cutthroughPosition + EthernetCutthroughSource:cutthroughSwitchingHeaderSize + GateControlList:durations + GateControlList:gateStates + GateControlList:numGates + GateControlList:offset + ICtsPolicy:rateSelectionModule + ICtsPolicy:rxModule + IOriginatorAckPolicy:rateSelectionModule + IOriginatorBlockAckAgreementPolicy:originatorAckPolicyModule + IOriginatorQosAckPolicy:rateSelectionModule + IRecipientAckPolicy:rateSelectionModule + IRecipientQosAckPolicy:rateSelectionModule + IRtsPolicy:rateSelectionModule + Ieee80211OfdmDemodulator:numSubcarriers + Ieee80211OfdmErrorModel:symbolCorruptionMode + Ieee80211OfdmModulator:numSubcarriers + Ieee8021qTimeAwareShaper:hasGcl + InstantServer:serveSchedulingPriority + IpApp:interfaceTableModule + IpSocketIo:destAddress + IpSocketIo:interfaceTableModule + IpSocketIo:localAddress + IpSocketIo:protocol + IpSocketIo:stopOperationExtraTime + IpSocketIo:stopOperationTimeout + LayeredDimensionalAnalogModel:attenuateWithCenterFrequency + LayeredErrorModelBase:symbolCorruptionMode + LayeredEthernetInterface:mtu + NarrowbandTransmitterBase:codeRate + NoiseScalarTransmitter:bandwidth + NoiseScalarTransmitter:centerFrequency + NoiseScalarTransmitter:duration + NoiseScalarTransmitter:gainFunctionCacheLimit + NoiseScalarTransmitter:power + PacketDelayer:bitrate + PacketDelayerBase:scheduleZeroDelay + PacketDelayerBase:schedulingPriority + PacketDirectionReverser:excludeEncapsulationProtocols + PacketDirectionReverser:forwardPcp + PacketDirectionReverser:forwardVlan + PacketServer:serveSchedulingPriority + PacketSourceBase:packetProtocol + PacketTaggerBase:encapsulationProtocols + PassivePacketSink:initialConsumptionOffset + PassivePacketSource:initialProvidingOffset + PeriodicGate:closeSchedulingPriority + PeriodicGate:enableImplicitGuardBand + PeriodicGate:openSchedulingPriority + SimpleClockSynchronizer:synchronizationOscillatorCompensationError + StreamFilter:mode + TsnClock:hasCutthroughSwitching + VlanReqMapper:protocol - Moved parameters - ================ - RandomDriftOscillator:driftRate -> RandomDriftOscillator:initialDriftRate - PacketDelayer:clockModule -> PacketDelayerBase:clockModule - SimpleClockSynchronizer:synchronizationAccuracy -> SimpleClockSynchronizer:synchronizationClockTimeError + Moved parameters + ================ + RandomDriftOscillator:driftRate -> RandomDriftOscillator:initialDriftRate + PacketDelayer:clockModule -> PacketDelayerBase:clockModule + SimpleClockSynchronizer:synchronizationAccuracy -> SimpleClockSynchronizer:synchronizationClockTimeError - Added tags - ========== - CutthroughTag + Added tags + ========== + CutthroughTag - Added C++ classes - ================= - applications/ipapp/IpSocketIo - common/packet/chunk/StreamBufferChunk - common/packet/serializer/StreamBufferChunkSerializer - linklayer/ethernet/modular/EthernetCutthroughBarrier - physicallayer/wireless/common/analogmodel/bitlevel/LayeredSnir - physicallayer/wireless/noise/NoiseScalarTransmitter - protocolelement/cutthrough/CutthroughSink - protocolelement/cutthrough/CutthroughSource - protocolelement/cutthrough/CutthroughTag - queueing/base/PacketDelayerBase - queueing/common/BackPressureBarrier - queueing/gate/GateControlList - queueing/sink/FullPacketSink + Added C++ classes + ================= + applications/ipapp/IpSocketIo + common/packet/chunk/StreamBufferChunk + common/packet/serializer/StreamBufferChunkSerializer + linklayer/ethernet/modular/EthernetCutthroughBarrier + physicallayer/wireless/common/analogmodel/bitlevel/LayeredSnir + physicallayer/wireless/noise/NoiseScalarTransmitter + protocolelement/cutthrough/CutthroughSink + protocolelement/cutthrough/CutthroughSource + protocolelement/cutthrough/CutthroughTag + queueing/base/PacketDelayerBase + queueing/common/BackPressureBarrier + queueing/gate/GateControlList + queueing/sink/FullPacketSink - Moved C++ classes - ================= - protocolelement/redundancy/SequenceNumberInd -> common/SequenceNumberInd - protocolelement/redundancy/SequenceNumberReq -> common/SequenceNumberReq - protocolelement/redundancy/SequenceNumberTagBase -> common/SequenceNumberTagBase + Moved C++ classes + ================= + protocolelement/redundancy/SequenceNumberInd -> common/SequenceNumberInd + protocolelement/redundancy/SequenceNumberReq -> common/SequenceNumberReq + protocolelement/redundancy/SequenceNumberTagBase -> common/SequenceNumberTagBase - Removed C++ classes - =================== - linklayer/common/SimulationRunUniqueNumberGenerator + Removed C++ classes + =================== + linklayer/common/SimulationRunUniqueNumberGenerator 2022-05-13 ------ inet-4.4.0 released ------ 2022-04-25 - Added features - ============== - IEEE 802.1as - IEEE 802.1r - Self documenter - Z3 Gate Scheduling Configurator + Added features + ============== + IEEE 802.1as + IEEE 802.1r + Self documenter + Z3 Gate Scheduling Configurator - Added folders - ============= - applications/clock - applications/ieee8022 - common/selfdoc - linklayer/configurator/gatescheduling - linklayer/configurator/gatescheduling/base - linklayer/configurator/gatescheduling/common - linklayer/configurator/gatescheduling/contract - linklayer/configurator/gatescheduling/z3 - linklayer/ieee8021as - linklayer/ieee8021r - networks/base - networks/ethernet - networks/tsn - node/contract - node/tsn - protocolelement/lifetime - protocolelement/processing - protocolelement/redundancy - protocolelement/shaper - queueing/policing - visualizer/canvas/configurator + Added folders + ============= + applications/clock + applications/ieee8022 + common/selfdoc + linklayer/configurator/gatescheduling + linklayer/configurator/gatescheduling/base + linklayer/configurator/gatescheduling/common + linklayer/configurator/gatescheduling/contract + linklayer/configurator/gatescheduling/z3 + linklayer/ieee8021as + linklayer/ieee8021r + networks/base + networks/ethernet + networks/tsn + node/contract + node/tsn + protocolelement/lifetime + protocolelement/processing + protocolelement/redundancy + protocolelement/shaper + queueing/policing + visualizer/canvas/configurator - Removed folders - =============== - queueing/compat is no longer needed with the latest omnetpp version + Removed folders + =============== + queueing/compat is no longer needed with the latest omnetpp version - Added modules - ============= - applications.clock.SimpleClockSynchronizer - applications.common.SinkApp - applications.common.SourceApp - applications.ethernet.EthernetApp - applications.ethernet.EthernetSinkApp - applications.ethernet.EthernetSourceApp - applications.ieee8022.Ieee8022LlcApp - applications.ieee8022.Ieee8022LlcSinkApp - applications.ieee8022.Ieee8022LlcSourceApp - applications.udpapp.UdpSinkApp - applications.udpapp.UdpSourceApp - clock.base.DriftingOscillatorBase - clock.model.MultiClock - common.ResidenceTimeMeasurer - linklayer.common.OmittedIeee8021dQosClassifier - linklayer.configurator.FailureProtectionConfigurator - linklayer.configurator.MacForwardingTableConfigurator - linklayer.configurator.StreamRedundancyConfigurator - linklayer.configurator.gatescheduling.common.AlwaysOpenGateScheduleConfigurator - linklayer.configurator.gatescheduling.common.EagerGateScheduleConfigurator - linklayer.configurator.gatescheduling.common.TSNschedGateScheduleConfigurator - linklayer.configurator.gatescheduling.z3.Z3GateScheduleConfigurator - linklayer.ethernet.common.BridgingLayer - linklayer.ethernet.common.DirectionReverserLayer - linklayer.ethernet.common.InterfaceRelayLayer - linklayer.ethernet.common.PacketDirectionReverser - linklayer.ethernet.common.RelayInterfaceLearner - linklayer.ethernet.common.RelayInterfaceSelector - linklayer.ieee8021as.Gptp - linklayer.ieee8021as.GptpBridge - linklayer.ieee8021as.GptpEndstation - linklayer.ieee8021as.GptpMaster - linklayer.ieee8021as.GptpSlave - linklayer.ieee8021as.MultiDomainGptp - linklayer.ieee8021q.DualIeee8021qFilter - linklayer.ieee8021q.Ieee8021qAsynchronousShaper - linklayer.ieee8021q.Ieee8021qCreditBasedGate - linklayer.ieee8021q.Ieee8021qCreditBasedShaper - linklayer.ieee8021q.Ieee8021qFilter - linklayer.ieee8021q.Ieee8021qProtocol - linklayer.ieee8021q.Ieee8021qTimeAwareShaper - linklayer.ieee8021q.PcpClassifier - linklayer.ieee8021q.PcpTrafficClassClassifier - linklayer.ieee8021q.SimpleIeee8021qFilter - linklayer.ieee8021q.StreamFilterLayer - linklayer.ieee8021q.StreamPolicyLayer - linklayer.ieee8021r.Ieee8021rLayer - linklayer.ieee8021r.Ieee8021rProtocol - linklayer.ieee8021r.Ieee8021rTagEpdHeaderChecker - linklayer.ieee8021r.Ieee8021rTagEpdHeaderInserter - networklayer.configurator.base.L3NetworkConfiguratorBase - node.ethernet.EthernetSwitch - node.tsn.TsnClock - node.tsn.TsnDevice - node.tsn.TsnSwitch - protocolelement.common.OmittedProtocolLayer - protocolelement.lifetime.CarrierBasedLifeTimer - protocolelement.measurement.MultiMeasurementLayer - protocolelement.processing.OmittedProcessingDelayLayer - protocolelement.processing.ProcessingDelayLayer - protocolelement.redundancy.StreamClassifier - protocolelement.redundancy.StreamCoderLayer - protocolelement.redundancy.StreamDecoder - protocolelement.redundancy.StreamEncoder - protocolelement.redundancy.StreamFilter - protocolelement.redundancy.StreamIdentifier - protocolelement.redundancy.StreamIdentifierLayer - protocolelement.redundancy.StreamMerger - protocolelement.redundancy.StreamRelayLayer - protocolelement.redundancy.StreamSplitter - protocolelement.shaper.EligibilityTimeFilter - protocolelement.shaper.EligibilityTimeGate - protocolelement.shaper.EligibilityTimeMeter - protocolelement.shaper.EligibilityTimeQueue - queueing.classifier.DualRateThreeColorClassifier - queueing.classifier.MultiTokenBucketClassifier - queueing.classifier.SingleRateThreeColorClassifier - queueing.classifier.SingleRateTwoColorClassifier - queueing.classifier.TokenBucketClassifier - queueing.common.OmittedPacketDelayer - queueing.common.OrdinalBasedDuplicator - queueing.common.QueueingPacketDelayer - queueing.filter.LabelFilter - queueing.filter.MultiPacketFilter - queueing.gate.CreditBasedGate - queueing.gate.InteractiveGate - queueing.gate.OmittedPacketGate - queueing.meter.DualRateThreeColorMeter - queueing.meter.MultiPacketMeter - queueing.meter.MultiTokenBucketMeter - queueing.meter.OmittedPacketMeter - queueing.meter.SingleRateThreeColorMeter - queueing.meter.SingleRateTwoColorMeter - queueing.meter.SlidingWindowRateMeter - queueing.meter.TokenBucketMeter - queueing.policing.MultiPacketPolicing - queueing.policing.PacketPolicing - queueing.queue.HtbQueue - queueing.scheduler.HtbScheduler - queueing.shaper.AsynchronousShaper - queueing.shaper.CreditBasedShaper - queueing.shaper.PacketShaper - queueing.shaper.PriorityShaper - queueing.shaper.TimeAwareShaper - visualizer.base.GateScheduleVisualizerBase - visualizer.base.TreeVisualizerBase - visualizer.canvas.common.GateScheduleCanvasVisualizer - visualizer.canvas.configurator.FailureProtectionConfigurationCanvasVisualizer - visualizer.canvas.configurator.StreamRedundancyConfigurationCanvasVisualizer - visualizer.common.GateScheduleVisualizer - visualizer.osg.common.GateScheduleOsgVisualizer + Added modules + ============= + applications.clock.SimpleClockSynchronizer + applications.common.SinkApp + applications.common.SourceApp + applications.ethernet.EthernetApp + applications.ethernet.EthernetSinkApp + applications.ethernet.EthernetSourceApp + applications.ieee8022.Ieee8022LlcApp + applications.ieee8022.Ieee8022LlcSinkApp + applications.ieee8022.Ieee8022LlcSourceApp + applications.udpapp.UdpSinkApp + applications.udpapp.UdpSourceApp + clock.base.DriftingOscillatorBase + clock.model.MultiClock + common.ResidenceTimeMeasurer + linklayer.common.OmittedIeee8021dQosClassifier + linklayer.configurator.FailureProtectionConfigurator + linklayer.configurator.MacForwardingTableConfigurator + linklayer.configurator.StreamRedundancyConfigurator + linklayer.configurator.gatescheduling.common.AlwaysOpenGateScheduleConfigurator + linklayer.configurator.gatescheduling.common.EagerGateScheduleConfigurator + linklayer.configurator.gatescheduling.common.TSNschedGateScheduleConfigurator + linklayer.configurator.gatescheduling.z3.Z3GateScheduleConfigurator + linklayer.ethernet.common.BridgingLayer + linklayer.ethernet.common.DirectionReverserLayer + linklayer.ethernet.common.InterfaceRelayLayer + linklayer.ethernet.common.PacketDirectionReverser + linklayer.ethernet.common.RelayInterfaceLearner + linklayer.ethernet.common.RelayInterfaceSelector + linklayer.ieee8021as.Gptp + linklayer.ieee8021as.GptpBridge + linklayer.ieee8021as.GptpEndstation + linklayer.ieee8021as.GptpMaster + linklayer.ieee8021as.GptpSlave + linklayer.ieee8021as.MultiDomainGptp + linklayer.ieee8021q.DualIeee8021qFilter + linklayer.ieee8021q.Ieee8021qAsynchronousShaper + linklayer.ieee8021q.Ieee8021qCreditBasedGate + linklayer.ieee8021q.Ieee8021qCreditBasedShaper + linklayer.ieee8021q.Ieee8021qFilter + linklayer.ieee8021q.Ieee8021qProtocol + linklayer.ieee8021q.Ieee8021qTimeAwareShaper + linklayer.ieee8021q.PcpClassifier + linklayer.ieee8021q.PcpTrafficClassClassifier + linklayer.ieee8021q.SimpleIeee8021qFilter + linklayer.ieee8021q.StreamFilterLayer + linklayer.ieee8021q.StreamPolicyLayer + linklayer.ieee8021r.Ieee8021rLayer + linklayer.ieee8021r.Ieee8021rProtocol + linklayer.ieee8021r.Ieee8021rTagEpdHeaderChecker + linklayer.ieee8021r.Ieee8021rTagEpdHeaderInserter + networklayer.configurator.base.L3NetworkConfiguratorBase + node.ethernet.EthernetSwitch + node.tsn.TsnClock + node.tsn.TsnDevice + node.tsn.TsnSwitch + protocolelement.common.OmittedProtocolLayer + protocolelement.lifetime.CarrierBasedLifeTimer + protocolelement.measurement.MultiMeasurementLayer + protocolelement.processing.OmittedProcessingDelayLayer + protocolelement.processing.ProcessingDelayLayer + protocolelement.redundancy.StreamClassifier + protocolelement.redundancy.StreamCoderLayer + protocolelement.redundancy.StreamDecoder + protocolelement.redundancy.StreamEncoder + protocolelement.redundancy.StreamFilter + protocolelement.redundancy.StreamIdentifier + protocolelement.redundancy.StreamIdentifierLayer + protocolelement.redundancy.StreamMerger + protocolelement.redundancy.StreamRelayLayer + protocolelement.redundancy.StreamSplitter + protocolelement.shaper.EligibilityTimeFilter + protocolelement.shaper.EligibilityTimeGate + protocolelement.shaper.EligibilityTimeMeter + protocolelement.shaper.EligibilityTimeQueue + queueing.classifier.DualRateThreeColorClassifier + queueing.classifier.MultiTokenBucketClassifier + queueing.classifier.SingleRateThreeColorClassifier + queueing.classifier.SingleRateTwoColorClassifier + queueing.classifier.TokenBucketClassifier + queueing.common.OmittedPacketDelayer + queueing.common.OrdinalBasedDuplicator + queueing.common.QueueingPacketDelayer + queueing.filter.LabelFilter + queueing.filter.MultiPacketFilter + queueing.gate.CreditBasedGate + queueing.gate.InteractiveGate + queueing.gate.OmittedPacketGate + queueing.meter.DualRateThreeColorMeter + queueing.meter.MultiPacketMeter + queueing.meter.MultiTokenBucketMeter + queueing.meter.OmittedPacketMeter + queueing.meter.SingleRateThreeColorMeter + queueing.meter.SingleRateTwoColorMeter + queueing.meter.SlidingWindowRateMeter + queueing.meter.TokenBucketMeter + queueing.policing.MultiPacketPolicing + queueing.policing.PacketPolicing + queueing.queue.HtbQueue + queueing.scheduler.HtbScheduler + queueing.shaper.AsynchronousShaper + queueing.shaper.CreditBasedShaper + queueing.shaper.PacketShaper + queueing.shaper.PriorityShaper + queueing.shaper.TimeAwareShaper + visualizer.base.GateScheduleVisualizerBase + visualizer.base.TreeVisualizerBase + visualizer.canvas.common.GateScheduleCanvasVisualizer + visualizer.canvas.configurator.FailureProtectionConfigurationCanvasVisualizer + visualizer.canvas.configurator.StreamRedundancyConfigurationCanvasVisualizer + visualizer.common.GateScheduleVisualizer + visualizer.osg.common.GateScheduleOsgVisualizer - Renamed modules - =============== - linklayer.ethernet.common.MacAddressTable -> linklayer.ethernet.common.MacForwardingTable - queueing.filter.RateLimiter -> queueing.filter.StatisticalRateLimiter - queueing.meter.RateMeter -> queueing.meter.ExponentialRateMeter + Renamed modules + =============== + linklayer.ethernet.common.MacAddressTable -> linklayer.ethernet.common.MacForwardingTable + queueing.filter.RateLimiter -> queueing.filter.StatisticalRateLimiter + queueing.meter.RateMeter -> queueing.meter.ExponentialRateMeter - Removed modules - =============== - linklayer.common.OmittedPolicyLayer is replaced by OmittedProtocolLayer + Removed modules + =============== + linklayer.common.OmittedPolicyLayer is replaced by OmittedProtocolLayer - Added parameters - ================ - activeClockIndex - adjustHTBTreeValuesForCorectness - backpressure - bitsPerToken - buckets - bufferSize - checkHTBTreeValuesForCorectness - colorAware - committedBurstSize - committedInformationRate - configuration - correctionField - currentTimePosition - defaultLabel - defaultMulticastLoop - defaultPcp - displayDuration - displayGates - displayTrees - domainNumber - driftRateChangeLowerLimit - driftRateChangeUpperLimit - excessBurstSize - excessInformationRate - excessTokenModule - extraDuration - extraLength - failureProtectionConfiguratorModule - followUpInterval - forwardProtocolRegistration - forwardServiceRegistration - forwardingTable - gateCycleDuration - gateFilter - gateIndexOffset - gateScheduleConfiguratorModule - gptpNodeType - hasCutthroughSwitching - hasDefaultPath - hasEgressTrafficFiltering - hasEgressTrafficShaping - hasFramePreemption - hasGlobalArp - hasGptp - hasIncomingStreams - hasIngressTrafficFiltering - hasOutgoingStreams - hasSequenceNumbering - hasStreamRedundancy - hasTimeSynchronization - htbHysterisis - htbTreeConfig - idleCreditGainRate - idleSlope - initialCollectionOffset - initialCredit - initialProductionOffset - label - labelFilter - labelPriority - localSap - mapping - masterClockModule - masterPorts - maxCredit - maxInterferenceSize - maxResidenceTime - maxVlanId - measurementEndSignal - measurementStartSignal - minCredit - minVlanId - multicastAddresses - numClocks - numDomains - numFilters - numGateScheduleVisualizers - numGates - numMeasurementModules - numMeters - numPaths - numShapers - numStreamRedundancyConfigurationVisualizers - numStreams - numTrafficClasses - numFailureProtectionConfigurationVisualizers - open - pDelayReqProcessingTime - packetOverheadLength - pcp - pcpToGateIndex - pdelayInitialOffset - pdelayInterval - remoteSap - scheduleForAbsoluteTime - sendSlope - slaveClockModule - slavePort - startY - storageModule - streamFilter - streamFilterTable - streamNameFilter - streamRedundancyConfiguratorModule - syncInitialOffset - syncInterval - synchronizationAccuracy - synchronizationInterval - timeWindow - tokenProductionRate - transmitCreditLimit - transmitCreditSpendRate + Added parameters + ================ + activeClockIndex + adjustHTBTreeValuesForCorectness + backpressure + bitsPerToken + buckets + bufferSize + checkHTBTreeValuesForCorectness + colorAware + committedBurstSize + committedInformationRate + configuration + correctionField + currentTimePosition + defaultLabel + defaultMulticastLoop + defaultPcp + displayDuration + displayGates + displayTrees + domainNumber + driftRateChangeLowerLimit + driftRateChangeUpperLimit + excessBurstSize + excessInformationRate + excessTokenModule + extraDuration + extraLength + failureProtectionConfiguratorModule + followUpInterval + forwardProtocolRegistration + forwardServiceRegistration + forwardingTable + gateCycleDuration + gateFilter + gateIndexOffset + gateScheduleConfiguratorModule + gptpNodeType + hasCutthroughSwitching + hasDefaultPath + hasEgressTrafficFiltering + hasEgressTrafficShaping + hasFramePreemption + hasGlobalArp + hasGptp + hasIncomingStreams + hasIngressTrafficFiltering + hasOutgoingStreams + hasSequenceNumbering + hasStreamRedundancy + hasTimeSynchronization + htbHysterisis + htbTreeConfig + idleCreditGainRate + idleSlope + initialCollectionOffset + initialCredit + initialProductionOffset + label + labelFilter + labelPriority + localSap + mapping + masterClockModule + masterPorts + maxCredit + maxInterferenceSize + maxResidenceTime + maxVlanId + measurementEndSignal + measurementStartSignal + minCredit + minVlanId + multicastAddresses + numClocks + numDomains + numFilters + numGateScheduleVisualizers + numGates + numMeasurementModules + numMeters + numPaths + numShapers + numStreamRedundancyConfigurationVisualizers + numStreams + numTrafficClasses + numFailureProtectionConfigurationVisualizers + open + pDelayReqProcessingTime + packetOverheadLength + pcp + pcpToGateIndex + pdelayInitialOffset + pdelayInterval + remoteSap + scheduleForAbsoluteTime + sendSlope + slaveClockModule + slavePort + startY + storageModule + streamFilter + streamFilterTable + streamNameFilter + streamRedundancyConfiguratorModule + syncInitialOffset + syncInterval + synchronizationAccuracy + synchronizationInterval + timeWindow + tokenProductionRate + transmitCreditLimit + transmitCreditSpendRate - Renamed parameters - ================== - addressTableFile -> forwardingTableFile - enableCutthrough -> hasCutthroughSwitching + Renamed parameters + ================== + addressTableFile -> forwardingTableFile + enableCutthrough -> hasCutthroughSwitching - Removed parameters - ================== - packetDataFilter is replaced by the more generic packetFilter parameter syntax - packetDataFilters is replaced by the more generic packetFilters parameter syntax - serverModule + Removed parameters + ================== + packetDataFilter is replaced by the more generic packetFilter parameter syntax + packetDataFilters is replaced by the more generic packetFilters parameter syntax + serverModule - Added signals - ============= - creditsChanged - dequeueIndex - interpacketGapEnded - interpacketGapStarted - localTime - packetFlowMeasured - packetPulledIn - packetPulledOut - packetPushEnded - packetPushStarted - packetPushedIn - packetPushedOut - packetStayed - peerDelay - rateRatio - remainingEligibilityTimeChanged - timeDifference - tokensChanged + Added signals + ============= + creditsChanged + dequeueIndex + interpacketGapEnded + interpacketGapStarted + localTime + packetFlowMeasured + packetPulledIn + packetPulledOut + packetPushEnded + packetPushStarted + packetPushedIn + packetPushedOut + packetStayed + peerDelay + rateRatio + remainingEligibilityTimeChanged + timeDifference + tokensChanged - Removed signals - =============== - delayingTime is merged into a shared signal - elapsedTime is merged into a shared signal - lifeTime is merged into a shared signal - packetServed - processingTime is merged into a shared signal - propagationTime is merged into a shared signal - queueingTime merged is into a shared signal - transmissionTime is merged into a shared signal + Removed signals + =============== + delayingTime is merged into a shared signal + elapsedTime is merged into a shared signal + lifeTime is merged into a shared signal + packetServed + processingTime is merged into a shared signal + propagationTime is merged into a shared signal + queueingTime merged is into a shared signal + transmissionTime is merged into a shared signal - Added statistics - ================ - addedPacketLengths - addedPackets - addedTokens - bitElapsedTime - bitElapsedTimePerRegion - bitLifeTime - bitLifeTimePerRegion - bitResidenceTime - bitResidenceTimePerRegion - bufferBitLength - bufferLength - dataRate - dequeueIndex - droppedDataRate - droppedPacketLengths - droppedPacketLengthsQueueOverflow - droppedPackets - droppedPacketsQueueOverflow - flowBitResidenceTime - flowBitResidenceTimePerRegion - flowDataRate - flowDroppedDataRate - flowDroppedPacketLengths - flowIncomingDataRate - flowIncomingPacketLengths - flowMaxBitResidenceTimePerPacket - flowMeanBitResidenceTimePerPacket - flowOutgoingDataRate - flowOutgoingPacketLengths - flowQueueingTime - flowReceptionTime - flowTransmissionTime - gateState - incomingDataRate - incomingPacketLengths - incomingPackets - localTime - maxBitResidenceTimePerPacket - meanBitElapsedTimePerPacket - meanBitLifeTimePerPacket - meanBitResidenceTimePerPacket - meanTotalBitDelayingTimePerPacket - meanTotalBitProcessingTimePerPacket - meanTotalBitPropagationTimePerPacket - meanTotalBitQueueingTimePerPacket - meanTotalBitTransmissionTimePerPacket - meanTotalPacketTransmissionTime - numCredits - numTokens - numTokensCreated - numTokensDepleted - outgoingDataRate - outgoingPacketLengths - outgoingPackets - packetDelayDifferenceToMean - packetDelayVariation - packetDropNoCarrier - packetJitter - packetLengths - packets - peerDelay - queueBitLength - rateRatio - receptionTime - remainingEligibilityTime - removedPacketLengths - removedPackets - removedTokens - timeDifference - totalBitDelayingTime - totalBitDelayingTimePerRegion - totalBitProcessingTime - totalBitProcessingTimePerRegion - totalBitPropagationTime - totalBitPropagationTimePerRegion - totalBitQueueingTime - totalBitQueueingTimePerRegion - totalBitTransmissionTime - totalBitTransmissionTimePerRegion - totalPacketTransmissionTimePerBit - totalPacketTransmissionTimePerRegion - transmitting - utilization + Added statistics + ================ + addedPacketLengths + addedPackets + addedTokens + bitElapsedTime + bitElapsedTimePerRegion + bitLifeTime + bitLifeTimePerRegion + bitResidenceTime + bitResidenceTimePerRegion + bufferBitLength + bufferLength + dataRate + dequeueIndex + droppedDataRate + droppedPacketLengths + droppedPacketLengthsQueueOverflow + droppedPackets + droppedPacketsQueueOverflow + flowBitResidenceTime + flowBitResidenceTimePerRegion + flowDataRate + flowDroppedDataRate + flowDroppedPacketLengths + flowIncomingDataRate + flowIncomingPacketLengths + flowMaxBitResidenceTimePerPacket + flowMeanBitResidenceTimePerPacket + flowOutgoingDataRate + flowOutgoingPacketLengths + flowQueueingTime + flowReceptionTime + flowTransmissionTime + gateState + incomingDataRate + incomingPacketLengths + incomingPackets + localTime + maxBitResidenceTimePerPacket + meanBitElapsedTimePerPacket + meanBitLifeTimePerPacket + meanBitResidenceTimePerPacket + meanTotalBitDelayingTimePerPacket + meanTotalBitProcessingTimePerPacket + meanTotalBitPropagationTimePerPacket + meanTotalBitQueueingTimePerPacket + meanTotalBitTransmissionTimePerPacket + meanTotalPacketTransmissionTime + numCredits + numTokens + numTokensCreated + numTokensDepleted + outgoingDataRate + outgoingPacketLengths + outgoingPackets + packetDelayDifferenceToMean + packetDelayVariation + packetDropNoCarrier + packetJitter + packetLengths + packets + peerDelay + queueBitLength + rateRatio + receptionTime + remainingEligibilityTime + removedPacketLengths + removedPackets + removedTokens + timeDifference + totalBitDelayingTime + totalBitDelayingTimePerRegion + totalBitProcessingTime + totalBitProcessingTimePerRegion + totalBitPropagationTime + totalBitPropagationTimePerRegion + totalBitQueueingTime + totalBitQueueingTimePerRegion + totalBitTransmissionTime + totalBitTransmissionTimePerRegion + totalPacketTransmissionTimePerBit + totalPacketTransmissionTimePerRegion + transmitting + utilization - Removed statistics - ================== - delayingTime - elapsedTime - gateStateChanged - lifeTime - packetAdded - packetCreated - packetRemoved - packetServed - processingTime - tokensAdded - tokensDepleted - tokensRemoved + Removed statistics + ================== + delayingTime + elapsedTime + gateStateChanged + lifeTime + packetAdded + packetCreated + packetRemoved + packetServed + processingTime + tokensAdded + tokensDepleted + tokensRemoved - Added chunks - ============ - GptpFollowUp - GptpPdelayReq - GptpPdelayResp - GptpPdelayRespFollowUp - Ieee8021rTagEpdHeader - Ieee8021rTagTpidHeader + Added chunks + ============ + GptpFollowUp + GptpPdelayReq + GptpPdelayResp + GptpPdelayRespFollowUp + Ieee8021rTagEpdHeader + Ieee8021rTagTpidHeader - Added tags - ========== - CreditGateTag - EligibilityTimeTag - EncapsulationProtocolInd - EncapsulationProtocolReq - GptpIngressTimeInd - Ieee8021rTag - PcpInd - PcpReq - PcpTag - ProtocolListTag - ResidenceTimeTag - SequenceNumberInd - SequenceNumberReq - SequenceNumberTag - StreamInd - StreamReq - StreamTag + Added tags + ========== + CreditGateTag + EligibilityTimeTag + EncapsulationProtocolInd + EncapsulationProtocolReq + GptpIngressTimeInd + Ieee8021rTag + PcpInd + PcpReq + PcpTag + ProtocolListTag + ResidenceTimeTag + SequenceNumberInd + SequenceNumberReq + SequenceNumberTag + StreamInd + StreamReq + StreamTag - Added C++ classes - ================= - applications/clock/SimpleClockSynchronizer - applications/ethernet/EthernetSocketIo - applications/ieee8022/Ieee8022LlcSocketIo - clock/base/DriftingOscillatorBase - clock/model/MultiClock - common/DelayingTimePerRegionFilter - common/DemuxFlowFilter - common/DifferenceToMeanFilter - common/DropWeightFilter - common/ElapsedTimePerRegionFilter - common/EncapsulationProtocolInd - common/EncapsulationProtocolReq - common/FlowPacketLengthFilter - common/GroupRegionsPerPacketFilter - common/JitterFilter - common/LengthWeightedValuePerRegionFilter - common/LifeTimePerRegionFilter - common/MaxPerGroupFilter - common/PacketDurationFilter - common/PacketLengthFilter - common/PacketTransmissionTimePerRegionFilter - common/ProcessingTimePerRegionFilter - common/PropagationTimePerRegionFilter - common/ProtocolListTagBase - common/QueueingTimePerRegionFilter - common/ResidenceTimeMeasurer - common/ResidenceTimePerRegionFilter - common/ResidenceTimeTag - common/StddevFilter - common/TransmissionTimePerRegionFilter - common/UtilizationFilter - common/VarianceFilter - common/WeighedMeanPerGroupFilter - common/WeighedSumPerGroupFilter - common/WeightTimesFilter - common/figures/GateFigure - common/selfdoc/SelfDocumenterFingerprintCalculator - linklayer/common/PcpInd - linklayer/common/PcpReq - linklayer/common/PcpTagBase - linklayer/configurator/FailureProtectionConfigurator - linklayer/configurator/MacForwardingTableConfigurator - linklayer/configurator/StreamRedundancyConfigurator - linklayer/configurator/gatescheduling/base/GateScheduleConfiguratorBase - linklayer/configurator/gatescheduling/common/AlwaysOpenGateScheduleConfigurator - linklayer/configurator/gatescheduling/common/EagerGateScheduleConfigurator - linklayer/configurator/gatescheduling/common/TSNschedGateScheduleConfigurator - linklayer/configurator/gatescheduling/z3/Z3GateScheduleConfigurator - linklayer/ethernet/common/PacketDirectionReverser - linklayer/ethernet/common/RelayInterfaceLearner - linklayer/ethernet/common/RelayInterfaceSelector - linklayer/ethernet/modular/EthernetMacLayer - linklayer/ieee8021as/GptpBase - linklayer/ieee8021as/GptpFollowUp - linklayer/ieee8021as/GptpFollowUpInformationTlv - linklayer/ieee8021as/GptpIngressTimeInd - linklayer/ieee8021as/GptpPacketSerializer - linklayer/ieee8021as/GptpPdelayReq - linklayer/ieee8021as/GptpPdelayResp - linklayer/ieee8021as/GptpPdelayRespFollowUp - linklayer/ieee8021as/GptpProtocolDissector - linklayer/ieee8021as/GptpReqAnswerEvent - linklayer/ieee8021as/GptpSync - linklayer/ieee8021q/PcpClassifier - linklayer/ieee8021q/PcpTrafficClassClassifier - linklayer/ieee8021r/Ieee8021rTagEpdHeader - linklayer/ieee8021r/Ieee8021rTagEpdHeaderChecker - linklayer/ieee8021r/Ieee8021rTagEpdHeaderInserter - linklayer/ieee8021r/Ieee8021rTagEpdHeaderSerializer - linklayer/ieee8021r/Ieee8021rTagEpdProtocolDissector - linklayer/ieee8021r/Ieee8021rTagTpidHeader - linklayer/ieee8021r/Ieee8021rTagTpidHeaderSerializer - networklayer/configurator/base/L3NetworkConfiguratorBase - protocolelement/lifetime/CarrierBasedLifeTimer - protocolelement/redundancy/SequenceNumberInd - protocolelement/redundancy/SequenceNumberReq - protocolelement/redundancy/SequenceNumberTagBase - protocolelement/redundancy/StreamClassifier - protocolelement/redundancy/StreamDecoder - protocolelement/redundancy/StreamEncoder - protocolelement/redundancy/StreamFilter - protocolelement/redundancy/StreamIdentifier - protocolelement/redundancy/StreamInd - protocolelement/redundancy/StreamMerger - protocolelement/redundancy/StreamReq - protocolelement/redundancy/StreamSplitter - protocolelement/redundancy/StreamTagBase - protocolelement/shaper/EligibilityTimeFilter - protocolelement/shaper/EligibilityTimeGate - protocolelement/shaper/EligibilityTimeMeter - protocolelement/shaper/EligibilityTimeTag - queueing/base/MultiTokenBucketMixin - queueing/base/TokenBucketClassifierMixin - queueing/base/TokenBucketMeterMixin - queueing/base/TokenBucketMixin - queueing/classifier/MultiTokenBucketClassifier - queueing/classifier/TokenBucketClassifier - queueing/common/TokenBucket - queueing/filter/LabelFilter - queueing/gate/CreditBasedGate - queueing/gate/CreditGateTag - queueing/gate/InteractiveGate - queueing/meter/MultiTokenBucketMeter - queueing/meter/SlidingWindowRateMeter - queueing/meter/TokenBucketMeter - queueing/scheduler/HtbScheduler - visualizer/base/GateScheduleVisualizerBase - visualizer/base/TreeVisualizerBase - visualizer/canvas/base/TreeCanvasVisualizerBase - visualizer/canvas/common/GateScheduleCanvasVisualizer - visualizer/canvas/configurator/FailureProtectionConfigurationCanvasVisualizer - visualizer/canvas/configurator/StreamRedundancyConfigurationCanvasVisualizer - visualizer/osg/common/GateScheduleOsgVisualizer + Added C++ classes + ================= + applications/clock/SimpleClockSynchronizer + applications/ethernet/EthernetSocketIo + applications/ieee8022/Ieee8022LlcSocketIo + clock/base/DriftingOscillatorBase + clock/model/MultiClock + common/DelayingTimePerRegionFilter + common/DemuxFlowFilter + common/DifferenceToMeanFilter + common/DropWeightFilter + common/ElapsedTimePerRegionFilter + common/EncapsulationProtocolInd + common/EncapsulationProtocolReq + common/FlowPacketLengthFilter + common/GroupRegionsPerPacketFilter + common/JitterFilter + common/LengthWeightedValuePerRegionFilter + common/LifeTimePerRegionFilter + common/MaxPerGroupFilter + common/PacketDurationFilter + common/PacketLengthFilter + common/PacketTransmissionTimePerRegionFilter + common/ProcessingTimePerRegionFilter + common/PropagationTimePerRegionFilter + common/ProtocolListTagBase + common/QueueingTimePerRegionFilter + common/ResidenceTimeMeasurer + common/ResidenceTimePerRegionFilter + common/ResidenceTimeTag + common/StddevFilter + common/TransmissionTimePerRegionFilter + common/UtilizationFilter + common/VarianceFilter + common/WeighedMeanPerGroupFilter + common/WeighedSumPerGroupFilter + common/WeightTimesFilter + common/figures/GateFigure + common/selfdoc/SelfDocumenterFingerprintCalculator + linklayer/common/PcpInd + linklayer/common/PcpReq + linklayer/common/PcpTagBase + linklayer/configurator/FailureProtectionConfigurator + linklayer/configurator/MacForwardingTableConfigurator + linklayer/configurator/StreamRedundancyConfigurator + linklayer/configurator/gatescheduling/base/GateScheduleConfiguratorBase + linklayer/configurator/gatescheduling/common/AlwaysOpenGateScheduleConfigurator + linklayer/configurator/gatescheduling/common/EagerGateScheduleConfigurator + linklayer/configurator/gatescheduling/common/TSNschedGateScheduleConfigurator + linklayer/configurator/gatescheduling/z3/Z3GateScheduleConfigurator + linklayer/ethernet/common/PacketDirectionReverser + linklayer/ethernet/common/RelayInterfaceLearner + linklayer/ethernet/common/RelayInterfaceSelector + linklayer/ethernet/modular/EthernetMacLayer + linklayer/ieee8021as/GptpBase + linklayer/ieee8021as/GptpFollowUp + linklayer/ieee8021as/GptpFollowUpInformationTlv + linklayer/ieee8021as/GptpIngressTimeInd + linklayer/ieee8021as/GptpPacketSerializer + linklayer/ieee8021as/GptpPdelayReq + linklayer/ieee8021as/GptpPdelayResp + linklayer/ieee8021as/GptpPdelayRespFollowUp + linklayer/ieee8021as/GptpProtocolDissector + linklayer/ieee8021as/GptpReqAnswerEvent + linklayer/ieee8021as/GptpSync + linklayer/ieee8021q/PcpClassifier + linklayer/ieee8021q/PcpTrafficClassClassifier + linklayer/ieee8021r/Ieee8021rTagEpdHeader + linklayer/ieee8021r/Ieee8021rTagEpdHeaderChecker + linklayer/ieee8021r/Ieee8021rTagEpdHeaderInserter + linklayer/ieee8021r/Ieee8021rTagEpdHeaderSerializer + linklayer/ieee8021r/Ieee8021rTagEpdProtocolDissector + linklayer/ieee8021r/Ieee8021rTagTpidHeader + linklayer/ieee8021r/Ieee8021rTagTpidHeaderSerializer + networklayer/configurator/base/L3NetworkConfiguratorBase + protocolelement/lifetime/CarrierBasedLifeTimer + protocolelement/redundancy/SequenceNumberInd + protocolelement/redundancy/SequenceNumberReq + protocolelement/redundancy/SequenceNumberTagBase + protocolelement/redundancy/StreamClassifier + protocolelement/redundancy/StreamDecoder + protocolelement/redundancy/StreamEncoder + protocolelement/redundancy/StreamFilter + protocolelement/redundancy/StreamIdentifier + protocolelement/redundancy/StreamInd + protocolelement/redundancy/StreamMerger + protocolelement/redundancy/StreamReq + protocolelement/redundancy/StreamSplitter + protocolelement/redundancy/StreamTagBase + protocolelement/shaper/EligibilityTimeFilter + protocolelement/shaper/EligibilityTimeGate + protocolelement/shaper/EligibilityTimeMeter + protocolelement/shaper/EligibilityTimeTag + queueing/base/MultiTokenBucketMixin + queueing/base/TokenBucketClassifierMixin + queueing/base/TokenBucketMeterMixin + queueing/base/TokenBucketMixin + queueing/classifier/MultiTokenBucketClassifier + queueing/classifier/TokenBucketClassifier + queueing/common/TokenBucket + queueing/filter/LabelFilter + queueing/gate/CreditBasedGate + queueing/gate/CreditGateTag + queueing/gate/InteractiveGate + queueing/meter/MultiTokenBucketMeter + queueing/meter/SlidingWindowRateMeter + queueing/meter/TokenBucketMeter + queueing/scheduler/HtbScheduler + visualizer/base/GateScheduleVisualizerBase + visualizer/base/TreeVisualizerBase + visualizer/canvas/base/TreeCanvasVisualizerBase + visualizer/canvas/common/GateScheduleCanvasVisualizer + visualizer/canvas/configurator/FailureProtectionConfigurationCanvasVisualizer + visualizer/canvas/configurator/StreamRedundancyConfigurationCanvasVisualizer + visualizer/osg/common/GateScheduleOsgVisualizer - Renamed C++ classes - =================== - linklayer/ethernet/common/MacAddressTable -> linklayer/ethernet/common/MacForwardingTable - queueing/filter/RateLimiter -> queueing/filter/StatisticalRateLimiter - queueing/meter/RateMeter -> queueing/meter/ExponentialRateMeter - networks/NetworkBase -> networks/base/NetworkBase + Renamed C++ classes + =================== + linklayer/ethernet/common/MacAddressTable -> linklayer/ethernet/common/MacForwardingTable + queueing/filter/RateLimiter -> queueing/filter/StatisticalRateLimiter + queueing/meter/RateMeter -> queueing/meter/ExponentialRateMeter + networks/NetworkBase -> networks/base/NetworkBase - Removed C++ classes - =================== - queueing/compat/cPacketQueue is no longer needed with the latest omnetpp version - queueing/compat/cQueue is no longer needed with the latest omnetpp version + Removed C++ classes + =================== + queueing/compat/cPacketQueue is no longer needed with the latest omnetpp version + queueing/compat/cQueue is no longer needed with the latest omnetpp version 2021-01-11 ------ inet-4.3.0 released ------ 2020-11-10 - Added folders - ============= - clock/base - clock/model - clock/oscillator - common/clock - linklayer/ethernet/base - linklayer/ethernet/basic - linklayer/ethernet/contract - linklayer/ethernet/modular - linklayer/virtual - networks - node/eigrp - physicallayer/wired/common - physicallayer/wired/ethernet - physicallayer/wireless/common - physicallayer/wireless/common/medium - physicallayer/wireless/common/radio - physicallayer/wireless/common/signal - physicallayer/wireless/noise - protocolelement/aggregation/base - protocolelement/aggregation/contract - protocolelement/aggregation/policy - protocolelement/checksum/base - protocolelement/checksum/serializer - protocolelement/common - protocolelement/contract - protocolelement/fragmentation/base - protocolelement/fragmentation/contract - protocolelement/fragmentation/policy - protocolelement/fragmentation/serializer - protocolelement/measurement - protocolelement/service - protocolelement/trafficconditioner - protocolelement/transceiver - protocolelement/transceiver/base - protocolelement/transceiver/contract - queueing/flow - queueing/gate - routing/eigrp - routing/eigrp/messages - routing/eigrp/pdms - routing/eigrp/tables - visualizer/canvas - visualizer/canvas/flow - visualizer/osg - visualizer/osg/flow - node/eigrp - routing/eigrp/pdms - routing/eigrp/tables + Added folders + ============= + clock/base + clock/model + clock/oscillator + common/clock + linklayer/ethernet/base + linklayer/ethernet/basic + linklayer/ethernet/contract + linklayer/ethernet/modular + linklayer/virtual + networks + node/eigrp + physicallayer/wired/common + physicallayer/wired/ethernet + physicallayer/wireless/common + physicallayer/wireless/common/medium + physicallayer/wireless/common/radio + physicallayer/wireless/common/signal + physicallayer/wireless/noise + protocolelement/aggregation/base + protocolelement/aggregation/contract + protocolelement/aggregation/policy + protocolelement/checksum/base + protocolelement/checksum/serializer + protocolelement/common + protocolelement/contract + protocolelement/fragmentation/base + protocolelement/fragmentation/contract + protocolelement/fragmentation/policy + protocolelement/fragmentation/serializer + protocolelement/measurement + protocolelement/service + protocolelement/trafficconditioner + protocolelement/transceiver + protocolelement/transceiver/base + protocolelement/transceiver/contract + queueing/flow + queueing/gate + routing/eigrp + routing/eigrp/messages + routing/eigrp/pdms + routing/eigrp/tables + visualizer/canvas + visualizer/canvas/flow + visualizer/osg + visualizer/osg/flow + node/eigrp + routing/eigrp/pdms + routing/eigrp/tables - Changed folders - =============== - linklayer/ethernet -> linklayer/ethernet/base - linklayer/ethernet -> linklayer/ethernet/basic - linklayer/ethernet -> linklayer/ethernet/common - linklayer/ethernet -> linklayer/ethernet/contract - linklayer/ethernet/switch -> linklayer/ethernet/common - physicallayer -> physicallayer/common - physicallayer -> physicallayer/wired - physicallayer -> physicallayer/wireless - visualizer -> visualizer/canvas - visualizer -> visualizer/osg + Changed folders + =============== + linklayer/ethernet -> linklayer/ethernet/base + linklayer/ethernet -> linklayer/ethernet/basic + linklayer/ethernet -> linklayer/ethernet/common + linklayer/ethernet -> linklayer/ethernet/contract + linklayer/ethernet/switch -> linklayer/ethernet/common + physicallayer -> physicallayer/common + physicallayer -> physicallayer/wired + physicallayer -> physicallayer/wireless + visualizer -> visualizer/canvas + visualizer -> visualizer/osg - Added modules - ============= - clock/base/ClockBase - clock/base/OscillatorBase - clock/contract/IClock - clock/contract/IOscillator - clock/model/IdealClock - clock/model/OscillatorBasedClock - clock/model/SettableClock - clock/oscillator/ConstantDriftOscillator - clock/oscillator/IdealOscillator - clock/oscillator/RandomDriftOscillator - linklayer/base/MacRelayUnitBase - linklayer/common/OmittedPolicyLayer - linklayer/contract/IPolicyLayer - linklayer/ethernet/modular/LayeredEthernetInterface - linklayer/ethernet/modular/EthernetAddressChecker - linklayer/ethernet/modular/EthernetAddressInserter - linklayer/ethernet/modular/EthernetCutthroughInterface - linklayer/ethernet/modular/EthernetCutthroughLayer - linklayer/ethernet/modular/EthernetCutthroughSink - linklayer/ethernet/modular/EthernetCutthroughSource - linklayer/ethernet/modular/EthernetFcsChecker - linklayer/ethernet/modular/EthernetFcsInserter - linklayer/ethernet/modular/EthernetFragmentFcsChecker - linklayer/ethernet/modular/EthernetFragmentFcsInserter - linklayer/ethernet/modular/EthernetFragmentingMacLayer - linklayer/ethernet/modular/EthernetGatingQueue - linklayer/ethernet/modular/EthernetLayer - linklayer/ethernet/modular/EthernetMacHeaderChecker - linklayer/ethernet/modular/EthernetMacHeaderInserter - linklayer/ethernet/modular/EthernetMacLayer - linklayer/ethernet/modular/EthernetPauseCommandProcessor - linklayer/ethernet/modular/EthernetPreemptingMacLayer - linklayer/ethernet/modular/EthernetPriorityQueue - linklayer/ethernet/modular/EthernetQueue - linklayer/ethernet/modular/EthernetSocketCommandProcessor - linklayer/ethernet/modular/EthernetSocketPacketProcessor - linklayer/ethernet/modular/EthernetSocketTable - linklayer/ethernet/modular/EthernetStreamingMacLayer - linklayer/ethernet/modular/EthernetTypeOrLengthChecker - linklayer/ethernet/modular/EthernetTypeOrLengthInserter - linklayer/ethernet/modular/IEthernetLayer - linklayer/ethernet/modular/IEthernetMacLayer - linklayer/ieee8021ae/Ieee8021aeTagEpdHeaderChecker - linklayer/ieee8021ae/Ieee8021aeTagEpdHeaderInserter - linklayer/ieee8021ae/IIeee8021aeTagEpdHeaderChecker - linklayer/ieee8021ae/IIeee8021aeTagEpdHeaderInserter - linklayer/ieee8021q/Ieee8021qLayer - linklayer/ieee8021q/Ieee8021qSocketCommandProcessor - linklayer/ieee8021q/Ieee8021qSocketPacketProcessor - linklayer/ieee8021q/Ieee8021qSocketTable - linklayer/ieee8021q/Ieee8021qTagEpdHeaderChecker - linklayer/ieee8021q/Ieee8021qTagEpdHeaderInserter - linklayer/ieee8021q/Ieee8021qTagTpidHeaderChecker - linklayer/ieee8021q/Ieee8021qTagTpidHeaderInserter - linklayer/ieee8021q/IIeee8021qLayer - linklayer/ieee8021q/IIeee8021qTagEpdHeaderChecker - linklayer/ieee8021q/IIeee8021qTagEpdHeaderInserter - linklayer/ieee8021q/IIeee8021qTagTpidHeaderChecker - linklayer/ieee8021q/IIeee8021qTagTpidHeaderInserter - linklayer/ieee8021q/OmittedIeee8021qTagEpdHeaderChecker - linklayer/ieee8021q/OmittedIeee8021qTagEpdHeaderInserter - linklayer/ieee8021q/OmittedIeee8021qTagTpidHeaderChecker - linklayer/ieee8021q/OmittedIeee8021qTagTpidHeaderInserter - linklayer/ieee8022/Ieee8022LlcChecker - linklayer/ieee8022/Ieee8022LlcInserter - linklayer/ieee8022/Ieee8022LlcLayer - linklayer/ieee8022/Ieee8022LlcSocketCommandProcessor - linklayer/ieee8022/Ieee8022LlcSocketPacketProcessor - linklayer/ieee8022/Ieee8022LlcSocketTable - linklayer/ieee8022/Ieee8022SnapChecker - linklayer/ieee8022/Ieee8022SnapInserter - linklayer/ieee8022/IIeee8022LlcChecker - linklayer/ieee8022/IIeee8022LlcInserter - linklayer/ieee8022/IIeee8022LlcLayer - linklayer/ieee8022/IIeee8022SnapChecker - linklayer/ieee8022/IIeee8022SnapInserter - linklayer/ieee8022/OmittedIeee8022Llc - linklayer/ieee8022/OmittedIeee8022LlcChecker - linklayer/ieee8022/OmittedIeee8022LlcInserter - linklayer/ieee8022/OmittedIeee8022LlcLayer - linklayer/ieee8022/OmittedIeee8022SnapChecker - linklayer/ieee8022/OmittedIeee8022SnapInserter - linklayer/vlan/VlanIndFilter - linklayer/vlan/VlanPolicyLayer - linklayer/vlan/VlanReqFilter - linklayer/vlan/VlanReqMapper - networks/Ieee80211NetworkBase - networks/NetworkBase - networks/WiredNetworkBase - networks/WirelessNetworkBase - node/eigrp/EigrpRouter - physicallayer/common/packetlevel/WireJunction - physicallayer/ethernet/EthernetFragmentPhyHeaderChecker - physicallayer/ethernet/EthernetFragmentPhyHeaderInserter - physicallayer/ethernet/EthernetPhyHeaderChecker - physicallayer/ethernet/EthernetPhyHeaderInserter - physicallayer/ethernet/EthernetPhyLayer - physicallayer/ethernet/EthernetPreemptingPhyLayer - physicallayer/ethernet/EthernetStreamingPhyLayer - physicallayer/ethernet/EthernetStreamThroughPhyLayer - physicallayer/ethernet/IEthernetPhyLayer - protocolelement/acknowledgement/ReceiveWithAcknowledge - protocolelement/acknowledgement/Resending - protocolelement/acknowledgement/SendWithAcknowledge - protocolelement/aggregation/base/AggregatorBase - protocolelement/aggregation/base/DeaggregatorBase - protocolelement/aggregation/contract/IAggregatorPolicy - protocolelement/aggregation/contract/IPacketAggregator - protocolelement/aggregation/contract/IPacketDeaggregator - protocolelement/aggregation/policy/LengthBasedAggregatorPolicy - protocolelement/aggregation/SubpacketLengthHeaderBasedAggregator - protocolelement/aggregation/SubpacketLengthHeaderBasedDeaggregator - protocolelement/checksum/base/CrcCheckerBase - protocolelement/checksum/base/CrcInserterBase - protocolelement/checksum/base/FcsCheckerBase - protocolelement/checksum/base/FcsInserterBase - protocolelement/checksum/CrcHeaderChecker - protocolelement/checksum/CrcHeaderInserter - protocolelement/checksum/FcsHeaderChecker - protocolelement/checksum/FcsHeaderInserter - protocolelement/common/InterpacketGapInserter - protocolelement/common/PacketDeserializer - protocolelement/common/PacketDestreamer - protocolelement/common/PacketEmitter - protocolelement/common/PacketSerializer - protocolelement/common/PacketStreamer - protocolelement/common/PaddingInserter - protocolelement/common/PreemptableStreamer - protocolelement/common/ProtocolChecker - protocolelement/contract/IProtocolHeaderChecker - protocolelement/contract/IProtocolHeaderInserter - protocolelement/dispatching/ReceiveWithProtocol - protocolelement/dispatching/SendWithProtocol - protocolelement/forwarding/Forwarding - protocolelement/forwarding/ReceiveWithHopLimit - protocolelement/forwarding/SendWithHopLimit - protocolelement/fragmentation/base/DefragmenterBase - protocolelement/fragmentation/base/FragmenterBase - protocolelement/fragmentation/contract/IFragmenterPolicy - protocolelement/fragmentation/contract/IPacketDefragmenter - protocolelement/fragmentation/contract/IPacketFragmenter - protocolelement/fragmentation/FragmentNumberHeaderBasedDefragmenter - protocolelement/fragmentation/FragmentNumberHeaderBasedFragmenter - protocolelement/fragmentation/FragmentNumberHeaderChecker - protocolelement/fragmentation/FragmentNumberHeaderInserter - protocolelement/fragmentation/FragmentTagBasedDefragmenter - protocolelement/fragmentation/FragmentTagBasedFragmenter - protocolelement/fragmentation/policy/LengthBasedFragmenterPolicy - protocolelement/measurement/IMeasurementLayer - protocolelement/measurement/MeasurementLayer - protocolelement/measurement/OmittedMeasurementLayer - protocolelement/ordering/DuplicateRemoval - protocolelement/ordering/Reordering - protocolelement/ordering/SequenceNumbering - protocolelement/selectivity/ReceiveAtL3Address - protocolelement/selectivity/ReceiveAtMacAddress - protocolelement/selectivity/ReceiveAtPort - protocolelement/selectivity/SendToL3Address - protocolelement/selectivity/SendToMacAddress - protocolelement/selectivity/SendToPort - protocolelement/service/DataService - protocolelement/service/ForwardingService - protocolelement/service/InterfaceService - protocolelement/service/MacService - protocolelement/service/SelectivityService - protocolelement/socket/ISocketLayer - protocolelement/socket/OmittedSocketLayer - protocolelement/trafficconditioner/ITrafficConditionerLayer - protocolelement/trafficconditioner/OmittedTrafficConditionerLayer - protocolelement/trafficconditioner/TrafficConditionerLayer - protocolelement/transceiver/base/PacketReceiverBase - protocolelement/transceiver/base/PacketTransmitterBase - protocolelement/transceiver/base/StreamingReceiverBase - protocolelement/transceiver/base/StreamingTransmitterBase - protocolelement/transceiver/contract/IPacketReceiver - protocolelement/transceiver/contract/IPacketTransmitter - protocolelement/transceiver/DestreamingReceiver - protocolelement/transceiver/PacketReceiver - protocolelement/transceiver/PacketTransmitter - protocolelement/transceiver/StreamingTransmitter - protocolelement/transceiver/StreamThroughReceiver - protocolelement/transceiver/StreamThroughTransmitter - queueing/base/ActivePacketSinkBase - queueing/base/ActivePacketSourceBase - queueing/base/PacketDuplicatorBase - queueing/base/PacketFlowBase - queueing/base/PacketGateBase - queueing/base/PacketPullerBase - queueing/base/PacketPusherBase - queueing/base/PassivePacketSinkBase - queueing/base/PassivePacketSourceBase - queueing/classifier/DynamicClassifier - queueing/common/OmittedPacketFlow - queueing/contract/IPacketFlow - queueing/contract/IPacketGate - queueing/contract/IPacketPuller - queueing/contract/IPacketPusher - queueing/filter/OmittedPacketFilter - queueing/gate/PeriodicGate - queueing/queue/InProgressQueue - queueing/queue/OmittedPacketQueue - queueing/queue/SelectiveQueue - queueing/server/InstantServer - queueing/server/OmittedPacketServer - queueing/server/PreemptingServer - queueing/shaper/OmittedTrafficConditioner - queueing/flow/FlowMeasurementRecorder - queueing/flow/FlowMeasurementStarter - routing/contract/IEigrp - routing/eigrp/EigrpProcessDS - routing/eigrp/EigrpRtp - routing/eigrp/EigrpRtp6 - routing/eigrp/EigrpSplitter - routing/eigrp/package - routing/eigrp/pdms/EigrpIpv4Pdm - routing/eigrp/pdms/EigrpIpv6Pdm - routing/eigrp/tables/EigrpInterfaceTable - routing/eigrp/tables/EigrpIpv4NeighborTable - routing/eigrp/tables/EigrpIpv4TopologyTable - routing/eigrp/tables/EigrpIpv6NeighborTable - routing/eigrp/tables/EigrpIpv6TopologyTable - visualizer/contract/IPacketFlowVisualizer - visualizer/flow/PacketFlowCanvasVisualizer - visualizer/flow/PacketFlowOsgVisualizer - visualizer/flow/PacketFlowVisualizer + Added modules + ============= + clock/base/ClockBase + clock/base/OscillatorBase + clock/contract/IClock + clock/contract/IOscillator + clock/model/IdealClock + clock/model/OscillatorBasedClock + clock/model/SettableClock + clock/oscillator/ConstantDriftOscillator + clock/oscillator/IdealOscillator + clock/oscillator/RandomDriftOscillator + linklayer/base/MacRelayUnitBase + linklayer/common/OmittedPolicyLayer + linklayer/contract/IPolicyLayer + linklayer/ethernet/modular/LayeredEthernetInterface + linklayer/ethernet/modular/EthernetAddressChecker + linklayer/ethernet/modular/EthernetAddressInserter + linklayer/ethernet/modular/EthernetCutthroughInterface + linklayer/ethernet/modular/EthernetCutthroughLayer + linklayer/ethernet/modular/EthernetCutthroughSink + linklayer/ethernet/modular/EthernetCutthroughSource + linklayer/ethernet/modular/EthernetFcsChecker + linklayer/ethernet/modular/EthernetFcsInserter + linklayer/ethernet/modular/EthernetFragmentFcsChecker + linklayer/ethernet/modular/EthernetFragmentFcsInserter + linklayer/ethernet/modular/EthernetFragmentingMacLayer + linklayer/ethernet/modular/EthernetGatingQueue + linklayer/ethernet/modular/EthernetLayer + linklayer/ethernet/modular/EthernetMacHeaderChecker + linklayer/ethernet/modular/EthernetMacHeaderInserter + linklayer/ethernet/modular/EthernetMacLayer + linklayer/ethernet/modular/EthernetPauseCommandProcessor + linklayer/ethernet/modular/EthernetPreemptingMacLayer + linklayer/ethernet/modular/EthernetPriorityQueue + linklayer/ethernet/modular/EthernetQueue + linklayer/ethernet/modular/EthernetSocketCommandProcessor + linklayer/ethernet/modular/EthernetSocketPacketProcessor + linklayer/ethernet/modular/EthernetSocketTable + linklayer/ethernet/modular/EthernetStreamingMacLayer + linklayer/ethernet/modular/EthernetTypeOrLengthChecker + linklayer/ethernet/modular/EthernetTypeOrLengthInserter + linklayer/ethernet/modular/IEthernetLayer + linklayer/ethernet/modular/IEthernetMacLayer + linklayer/ieee8021ae/Ieee8021aeTagEpdHeaderChecker + linklayer/ieee8021ae/Ieee8021aeTagEpdHeaderInserter + linklayer/ieee8021ae/IIeee8021aeTagEpdHeaderChecker + linklayer/ieee8021ae/IIeee8021aeTagEpdHeaderInserter + linklayer/ieee8021q/Ieee8021qLayer + linklayer/ieee8021q/Ieee8021qSocketCommandProcessor + linklayer/ieee8021q/Ieee8021qSocketPacketProcessor + linklayer/ieee8021q/Ieee8021qSocketTable + linklayer/ieee8021q/Ieee8021qTagEpdHeaderChecker + linklayer/ieee8021q/Ieee8021qTagEpdHeaderInserter + linklayer/ieee8021q/Ieee8021qTagTpidHeaderChecker + linklayer/ieee8021q/Ieee8021qTagTpidHeaderInserter + linklayer/ieee8021q/IIeee8021qLayer + linklayer/ieee8021q/IIeee8021qTagEpdHeaderChecker + linklayer/ieee8021q/IIeee8021qTagEpdHeaderInserter + linklayer/ieee8021q/IIeee8021qTagTpidHeaderChecker + linklayer/ieee8021q/IIeee8021qTagTpidHeaderInserter + linklayer/ieee8021q/OmittedIeee8021qTagEpdHeaderChecker + linklayer/ieee8021q/OmittedIeee8021qTagEpdHeaderInserter + linklayer/ieee8021q/OmittedIeee8021qTagTpidHeaderChecker + linklayer/ieee8021q/OmittedIeee8021qTagTpidHeaderInserter + linklayer/ieee8022/Ieee8022LlcChecker + linklayer/ieee8022/Ieee8022LlcInserter + linklayer/ieee8022/Ieee8022LlcLayer + linklayer/ieee8022/Ieee8022LlcSocketCommandProcessor + linklayer/ieee8022/Ieee8022LlcSocketPacketProcessor + linklayer/ieee8022/Ieee8022LlcSocketTable + linklayer/ieee8022/Ieee8022SnapChecker + linklayer/ieee8022/Ieee8022SnapInserter + linklayer/ieee8022/IIeee8022LlcChecker + linklayer/ieee8022/IIeee8022LlcInserter + linklayer/ieee8022/IIeee8022LlcLayer + linklayer/ieee8022/IIeee8022SnapChecker + linklayer/ieee8022/IIeee8022SnapInserter + linklayer/ieee8022/OmittedIeee8022Llc + linklayer/ieee8022/OmittedIeee8022LlcChecker + linklayer/ieee8022/OmittedIeee8022LlcInserter + linklayer/ieee8022/OmittedIeee8022LlcLayer + linklayer/ieee8022/OmittedIeee8022SnapChecker + linklayer/ieee8022/OmittedIeee8022SnapInserter + linklayer/vlan/VlanIndFilter + linklayer/vlan/VlanPolicyLayer + linklayer/vlan/VlanReqFilter + linklayer/vlan/VlanReqMapper + networks/Ieee80211NetworkBase + networks/NetworkBase + networks/WiredNetworkBase + networks/WirelessNetworkBase + node/eigrp/EigrpRouter + physicallayer/common/packetlevel/WireJunction + physicallayer/ethernet/EthernetFragmentPhyHeaderChecker + physicallayer/ethernet/EthernetFragmentPhyHeaderInserter + physicallayer/ethernet/EthernetPhyHeaderChecker + physicallayer/ethernet/EthernetPhyHeaderInserter + physicallayer/ethernet/EthernetPhyLayer + physicallayer/ethernet/EthernetPreemptingPhyLayer + physicallayer/ethernet/EthernetStreamingPhyLayer + physicallayer/ethernet/EthernetStreamThroughPhyLayer + physicallayer/ethernet/IEthernetPhyLayer + protocolelement/acknowledgement/ReceiveWithAcknowledge + protocolelement/acknowledgement/Resending + protocolelement/acknowledgement/SendWithAcknowledge + protocolelement/aggregation/base/AggregatorBase + protocolelement/aggregation/base/DeaggregatorBase + protocolelement/aggregation/contract/IAggregatorPolicy + protocolelement/aggregation/contract/IPacketAggregator + protocolelement/aggregation/contract/IPacketDeaggregator + protocolelement/aggregation/policy/LengthBasedAggregatorPolicy + protocolelement/aggregation/SubpacketLengthHeaderBasedAggregator + protocolelement/aggregation/SubpacketLengthHeaderBasedDeaggregator + protocolelement/checksum/base/CrcCheckerBase + protocolelement/checksum/base/CrcInserterBase + protocolelement/checksum/base/FcsCheckerBase + protocolelement/checksum/base/FcsInserterBase + protocolelement/checksum/CrcHeaderChecker + protocolelement/checksum/CrcHeaderInserter + protocolelement/checksum/FcsHeaderChecker + protocolelement/checksum/FcsHeaderInserter + protocolelement/common/InterpacketGapInserter + protocolelement/common/PacketDeserializer + protocolelement/common/PacketDestreamer + protocolelement/common/PacketEmitter + protocolelement/common/PacketSerializer + protocolelement/common/PacketStreamer + protocolelement/common/PaddingInserter + protocolelement/common/PreemptableStreamer + protocolelement/common/ProtocolChecker + protocolelement/contract/IProtocolHeaderChecker + protocolelement/contract/IProtocolHeaderInserter + protocolelement/dispatching/ReceiveWithProtocol + protocolelement/dispatching/SendWithProtocol + protocolelement/forwarding/Forwarding + protocolelement/forwarding/ReceiveWithHopLimit + protocolelement/forwarding/SendWithHopLimit + protocolelement/fragmentation/base/DefragmenterBase + protocolelement/fragmentation/base/FragmenterBase + protocolelement/fragmentation/contract/IFragmenterPolicy + protocolelement/fragmentation/contract/IPacketDefragmenter + protocolelement/fragmentation/contract/IPacketFragmenter + protocolelement/fragmentation/FragmentNumberHeaderBasedDefragmenter + protocolelement/fragmentation/FragmentNumberHeaderBasedFragmenter + protocolelement/fragmentation/FragmentNumberHeaderChecker + protocolelement/fragmentation/FragmentNumberHeaderInserter + protocolelement/fragmentation/FragmentTagBasedDefragmenter + protocolelement/fragmentation/FragmentTagBasedFragmenter + protocolelement/fragmentation/policy/LengthBasedFragmenterPolicy + protocolelement/measurement/IMeasurementLayer + protocolelement/measurement/MeasurementLayer + protocolelement/measurement/OmittedMeasurementLayer + protocolelement/ordering/DuplicateRemoval + protocolelement/ordering/Reordering + protocolelement/ordering/SequenceNumbering + protocolelement/selectivity/ReceiveAtL3Address + protocolelement/selectivity/ReceiveAtMacAddress + protocolelement/selectivity/ReceiveAtPort + protocolelement/selectivity/SendToL3Address + protocolelement/selectivity/SendToMacAddress + protocolelement/selectivity/SendToPort + protocolelement/service/DataService + protocolelement/service/ForwardingService + protocolelement/service/InterfaceService + protocolelement/service/MacService + protocolelement/service/SelectivityService + protocolelement/socket/ISocketLayer + protocolelement/socket/OmittedSocketLayer + protocolelement/trafficconditioner/ITrafficConditionerLayer + protocolelement/trafficconditioner/OmittedTrafficConditionerLayer + protocolelement/trafficconditioner/TrafficConditionerLayer + protocolelement/transceiver/base/PacketReceiverBase + protocolelement/transceiver/base/PacketTransmitterBase + protocolelement/transceiver/base/StreamingReceiverBase + protocolelement/transceiver/base/StreamingTransmitterBase + protocolelement/transceiver/contract/IPacketReceiver + protocolelement/transceiver/contract/IPacketTransmitter + protocolelement/transceiver/DestreamingReceiver + protocolelement/transceiver/PacketReceiver + protocolelement/transceiver/PacketTransmitter + protocolelement/transceiver/StreamingTransmitter + protocolelement/transceiver/StreamThroughReceiver + protocolelement/transceiver/StreamThroughTransmitter + queueing/base/ActivePacketSinkBase + queueing/base/ActivePacketSourceBase + queueing/base/PacketDuplicatorBase + queueing/base/PacketFlowBase + queueing/base/PacketGateBase + queueing/base/PacketPullerBase + queueing/base/PacketPusherBase + queueing/base/PassivePacketSinkBase + queueing/base/PassivePacketSourceBase + queueing/classifier/DynamicClassifier + queueing/common/OmittedPacketFlow + queueing/contract/IPacketFlow + queueing/contract/IPacketGate + queueing/contract/IPacketPuller + queueing/contract/IPacketPusher + queueing/filter/OmittedPacketFilter + queueing/gate/PeriodicGate + queueing/queue/InProgressQueue + queueing/queue/OmittedPacketQueue + queueing/queue/SelectiveQueue + queueing/server/InstantServer + queueing/server/OmittedPacketServer + queueing/server/PreemptingServer + queueing/shaper/OmittedTrafficConditioner + queueing/flow/FlowMeasurementRecorder + queueing/flow/FlowMeasurementStarter + routing/contract/IEigrp + routing/eigrp/EigrpProcessDS + routing/eigrp/EigrpRtp + routing/eigrp/EigrpRtp6 + routing/eigrp/EigrpSplitter + routing/eigrp/package + routing/eigrp/pdms/EigrpIpv4Pdm + routing/eigrp/pdms/EigrpIpv6Pdm + routing/eigrp/tables/EigrpInterfaceTable + routing/eigrp/tables/EigrpIpv4NeighborTable + routing/eigrp/tables/EigrpIpv4TopologyTable + routing/eigrp/tables/EigrpIpv6NeighborTable + routing/eigrp/tables/EigrpIpv6TopologyTable + visualizer/contract/IPacketFlowVisualizer + visualizer/flow/PacketFlowCanvasVisualizer + visualizer/flow/PacketFlowOsgVisualizer + visualizer/flow/PacketFlowVisualizer - Changed modules - =============== - linklayer/contract/ITrafficConditioner -> queueing/contract/ITrafficConditioner - linklayer/contract/IVlanInterface -> linklayer/contract/IVirtualInterface - linklayer/ethernet/EtherEncap -> linklayer/ethernet/basic/EthernetEncapsulation - linklayer/ethernet/EtherEncapDummy -> linklayer/ethernet/OmittedEtherEncap - linklayer/ethernet/EtherFrameClassifier -> linklayer/ethernet/common/EthernetFrameClassifier - linklayer/ethernet/EtherHub -> node/ethernet/EthernetHub - linklayer/ethernet/EtherMac -> linklayer/ethernet/basic/EthernetCsmaCaMac - linklayer/ethernet/EtherMacFullDuplex -> linklayer/ethernet/basic/EthernetMac - linklayer/ethernet/EtherQosQueue -> linklayer/ethernet/common/EthernetQosQueue - linklayer/ethernet/EtherQosRedQueue -> linklayer/ethernet/common/EthernetQosRedQueue - linklayer/ethernet/EtherQueue -> linklayer/ethernet/common/EthernetQueue - linklayer/ethernet/IEtherEncap -> linklayer/ethernet/contract/IEtherEncap - linklayer/vlan/VlanInterface -> linklayer/virtual/VirtualInterface - linklayer/vlan/VlanTunnel -> linklayer/virtual/VirtualTunnel - networklayer/common/InterfaceEntry -> networklayer/common/NetworkInterface - node/ethernet/EtherHost -> node/ethernet/EthernetHost - node/ethernet/EtherHost2 -> node/ethernet/EthernetHost2 - node/ethernet/EtherLink -> node/ethernet/EthernetLink - node/ethernet/EtherSwitch -> node/ethernet/EthernetSwitch - physicallayer/ethernet/EtherPhy -> physicallayer/wired/ethernet/EthernetPhy - queueing/common/PacketGate -> queueing/gate/PacketGate - queueing/queue/CompoundPacketQueue -> queueing/queue/CompoundPacketQueueBase + Changed modules + =============== + linklayer/contract/ITrafficConditioner -> queueing/contract/ITrafficConditioner + linklayer/contract/IVlanInterface -> linklayer/contract/IVirtualInterface + linklayer/ethernet/EtherEncap -> linklayer/ethernet/basic/EthernetEncapsulation + linklayer/ethernet/EtherEncapDummy -> linklayer/ethernet/OmittedEtherEncap + linklayer/ethernet/EtherFrameClassifier -> linklayer/ethernet/common/EthernetFrameClassifier + linklayer/ethernet/EtherHub -> node/ethernet/EthernetHub + linklayer/ethernet/EtherMac -> linklayer/ethernet/basic/EthernetCsmaCaMac + linklayer/ethernet/EtherMacFullDuplex -> linklayer/ethernet/basic/EthernetMac + linklayer/ethernet/EtherQosQueue -> linklayer/ethernet/common/EthernetQosQueue + linklayer/ethernet/EtherQosRedQueue -> linklayer/ethernet/common/EthernetQosRedQueue + linklayer/ethernet/EtherQueue -> linklayer/ethernet/common/EthernetQueue + linklayer/ethernet/IEtherEncap -> linklayer/ethernet/contract/IEtherEncap + linklayer/vlan/VlanInterface -> linklayer/virtual/VirtualInterface + linklayer/vlan/VlanTunnel -> linklayer/virtual/VirtualTunnel + networklayer/common/InterfaceEntry -> networklayer/common/NetworkInterface + node/ethernet/EtherHost -> node/ethernet/EthernetHost + node/ethernet/EtherHost2 -> node/ethernet/EthernetHost2 + node/ethernet/EtherLink -> node/ethernet/EthernetLink + node/ethernet/EtherSwitch -> node/ethernet/EthernetSwitch + physicallayer/ethernet/EtherPhy -> physicallayer/wired/ethernet/EthernetPhy + queueing/common/PacketGate -> queueing/gate/PacketGate + queueing/queue/CompoundPacketQueue -> queueing/queue/CompoundPacketQueueBase - Removed modules - =============== - common/misc/NetAnimTrace - linklayer/ethernet/EtherBus - linklayer/ethernet/EtherBus - linklayer/ethernet/EtherEncapDummy - linklayer/ieee8021q/IIeee8021qEncap - linklayer/ieee8021q/Ieee8021qEncap + Removed modules + =============== + common/misc/NetAnimTrace + linklayer/ethernet/EtherBus + linklayer/ethernet/EtherBus + linklayer/ethernet/EtherEncapDummy + linklayer/ieee8021q/IIeee8021qEncap + linklayer/ieee8021q/Ieee8021qEncap - Added module parameters - ======================= - ActivePacketSource:clockModule - ApskRadio:protocol - ErrorModelBase:snirOffset - EthernetInterface:bitrate - EthernetInterface:duplexMode - EthernetLink:length - EthernetSwitch:enableCutthrough - ExtIpv4TunDevice:namespace - ExtLowerEthernetInterface:bitrate - ExtUpperEthernetInterface:bitrate - IEthernetInterface:bitrate - Icmp:quoteLength - Ieee8022LlcSocketCommandProcessor:socketTableModule - Ieee8022LlcSocketPacketProcessor:socketTableModule - LinkLayerNodeBase:recordPcap - MediumVisualizerBase:powerDensityMapPixelMode - MediumVisualizerBase:signalAnimationSpeedChangeTimeMode - MediumVisualizerBase:spectrogramPixelMode - NetworkInterface:numPcapRecorders - NetworkInterface:recordPcap - NoiseDimensionalTransmitter:gainFunctionCacheLimit - PacketClassifierBase:reverseOrder - PacketSchedulerBase:reverseOrder - PacketSourceBase:attachCreationTimeTag - PacketSourceBase:attachDirectionTag - PacketSourceBase:attachIdentityTag - PassivePacketSource:clockModule - PathVisualizerBase:endPathSignal - PathVisualizerBase:extendPathSignal - PathVisualizerBase:startPathSignal - PcapFilePacketConsumer:outbound - PcapRecorder:fileFormat - Router:hasEigrp - ShortcutMac:mtu - Tcp:dctcpGamma - Tcp:dupthresh - Tcp:initialSsthresh - UdpBasicApp:clockModule - VirtualTunnel:protocol - VirtualTunnel:steal - WirelessInterface:protocol + Added module parameters + ======================= + ActivePacketSource:clockModule + ApskRadio:protocol + ErrorModelBase:snirOffset + EthernetInterface:bitrate + EthernetInterface:duplexMode + EthernetLink:length + EthernetSwitch:enableCutthrough + ExtIpv4TunDevice:namespace + ExtLowerEthernetInterface:bitrate + ExtUpperEthernetInterface:bitrate + IEthernetInterface:bitrate + Icmp:quoteLength + Ieee8022LlcSocketCommandProcessor:socketTableModule + Ieee8022LlcSocketPacketProcessor:socketTableModule + LinkLayerNodeBase:recordPcap + MediumVisualizerBase:powerDensityMapPixelMode + MediumVisualizerBase:signalAnimationSpeedChangeTimeMode + MediumVisualizerBase:spectrogramPixelMode + NetworkInterface:numPcapRecorders + NetworkInterface:recordPcap + NoiseDimensionalTransmitter:gainFunctionCacheLimit + PacketClassifierBase:reverseOrder + PacketSchedulerBase:reverseOrder + PacketSourceBase:attachCreationTimeTag + PacketSourceBase:attachDirectionTag + PacketSourceBase:attachIdentityTag + PassivePacketSource:clockModule + PathVisualizerBase:endPathSignal + PathVisualizerBase:extendPathSignal + PathVisualizerBase:startPathSignal + PcapFilePacketConsumer:outbound + PcapRecorder:fileFormat + Router:hasEigrp + ShortcutMac:mtu + Tcp:dctcpGamma + Tcp:dupthresh + Tcp:initialSsthresh + UdpBasicApp:clockModule + VirtualTunnel:protocol + VirtualTunnel:steal + WirelessInterface:protocol - Changed module parameters - ========================= - LinkLayerNodeBase:numVlanInterfaces -> LinkLayerNodeBase:numVirtInterfaces - MediumVisualizerBase:powerDensityMapSampling -> MediumVisualizerBase:powerDensityMapPixelMode - RadioMedium:recordCommunicationLog -> RadioMedium:recordReceptionLog - RadioMedium:recordCommunicationLog -> RadioMedium:recordTransmissionLog - VlanTunnel:realInterfaceName -> VirtualTunnel:realInterface + Changed module parameters + ========================= + LinkLayerNodeBase:numVlanInterfaces -> LinkLayerNodeBase:numVirtInterfaces + MediumVisualizerBase:powerDensityMapSampling -> MediumVisualizerBase:powerDensityMapPixelMode + RadioMedium:recordCommunicationLog -> RadioMedium:recordReceptionLog + RadioMedium:recordCommunicationLog -> RadioMedium:recordTransmissionLog + VlanTunnel:realInterfaceName -> VirtualTunnel:realInterface - Removed module parameters - ========================= - BMac:macMaxFrameRetries - EtherSwitch:csmacdSupport - Ipv4:procDelay - PacketGate:changeTimes - PcapRecorder:pcapLinkType + Removed module parameters + ========================= + BMac:macMaxFrameRetries + EtherSwitch:csmacdSupport + Ipv4:procDelay + PacketGate:changeTimes + PcapRecorder:pcapLinkType - Added statistics - ================ - calcLoad - delayingTime - driftRateChanged - elapsedTime - gateStateChanged - lifeTime - load - markingProb - processingTime - propagationTime - tcpRcvPayloadBytes - timeChanged - transmissionTime + Added statistics + ================ + calcLoad + delayingTime + driftRateChanged + elapsedTime + gateStateChanged + lifeTime + load + markingProb + processingTime + propagationTime + tcpRcvPayloadBytes + timeChanged + transmissionTime - Changed statistics - ================== - packetPopped -> packetPulled + Changed statistics + ================== + packetPopped -> packetPulled - Added packet chunks - =================== - AcknowledgeHeader - CrcHeader - DestinationL3AddressHeader - DestinationMacAddressHeader - DestinationPortHeader - EigrpMessage - EmptyChunk - EncryptedChunk - EthernetFragmentPhyHeader - EthernetMacAddressFields - EthernetPhyHeaderBase - EthernetTypeOrLengthField - FcsHeader - FragmentNumberHeader - HopLimitHeader - IcmpPtb - Ieee8021aeTagEpdHeader - Ieee8021aeTagTpidHeader - Ieee8022SnapHeader - ProtocolHeader - SequenceNumberHeader - SubpacketLengthHeader + Added packet chunks + =================== + AcknowledgeHeader + CrcHeader + DestinationL3AddressHeader + DestinationMacAddressHeader + DestinationPortHeader + EigrpMessage + EmptyChunk + EncryptedChunk + EthernetFragmentPhyHeader + EthernetMacAddressFields + EthernetPhyHeaderBase + EthernetTypeOrLengthField + FcsHeader + FragmentNumberHeader + HopLimitHeader + IcmpPtb + Ieee8021aeTagEpdHeader + Ieee8021aeTagTpidHeader + Ieee8022SnapHeader + ProtocolHeader + SequenceNumberHeader + SubpacketLengthHeader - Changed packet chunks - ===================== - EthernetControlFrame -> EthernetControlFrameBase - Ieee80211EtherTypeHeader -> Ieee802EpdHeader - Ieee8021qHeader -> Ieee8021qTagEpdHeader - Ieee8021qHeader -> Ieee8021qTagTpidHeader + Changed packet chunks + ===================== + EthernetControlFrame -> EthernetControlFrameBase + Ieee80211EtherTypeHeader -> Ieee802EpdHeader + Ieee8021qHeader -> Ieee8021qTagEpdHeader + Ieee8021qHeader -> Ieee8021qTagTpidHeader - Added MSG classes - ================= - common/packet/chunk/Chunk.msg: EmptyChunk - common/packet/chunk/Chunk.msg: EncryptedChunk - common/socket/SocketCommand.msg: SocketBindCommand - common/socket/SocketCommand.msg: SocketCloseCommand - common/socket/SocketCommand.msg: SocketClosedIndication - common/socket/SocketCommand.msg: SocketCommandBase - common/socket/SocketCommand.msg: SocketDestroyCommand - linklayer/ethernet/EthernetMacHeader.msg: EthernetFragmentFcs - linklayer/ieee802/Ieee802EpdHeader.msg: Ieee802EpdHeader - linklayer/ieee8021ae/Ieee8021aeTagHeader.msg: Ieee8021aeTagEpdHeader - linklayer/ieee8021ae/Ieee8021aeTagHeader.msg: Ieee8021aeTagTpidHeader - linklayer/ieee8021q/Ieee8021qCommand.msg: Ieee8021qBindCommand - physicallayer/ethernet/EthernetPhyHeader.msg: EthernetFragmentPhyHeader - physicallayer/ethernet/EthernetPhyHeader.msg: EthernetPhyHeaderBase - protocolelement/acknowledgement/AcknowledgeHeader.msg: AcknowledgeHeader - protocolelement/aggregation/header/SubpacketLengthHeader.msg: SubpacketLengthHeader - protocolelement/checksum/header/CrcHeader.msg: CrcHeader - protocolelement/checksum/header/FcsHeader.msg: FcsHeader - protocolelement/dispatching/ProtocolHeader.msg: ProtocolHeader - protocolelement/forwarding/HopLimitHeader.msg: HopLimitHeader - protocolelement/fragmentation/header/FragmentNumberHeader.msg: FragmentNumberHeader - protocolelement/ordering/SequenceNumberHeader.msg: SequenceNumberHeader - protocolelement/selectivity/DestinationL3AddressHeader.msg: DestinationL3AddressHeader - protocolelement/selectivity/DestinationMacAddressHeader.msg: DestinationMacAddressHeader - protocolelement/selectivity/DestinationPortHeader.msg: DestinationPortHeader - routing/eigrp/messages/EigrpMessage.msg: EigrpIpv4Ack - routing/eigrp/messages/EigrpMessage.msg: EigrpIpv4Hello - routing/eigrp/messages/EigrpMessage.msg: EigrpIpv4Message - routing/eigrp/messages/EigrpMessage.msg: EigrpIpv4Query - routing/eigrp/messages/EigrpMessage.msg: EigrpIpv4Reply - routing/eigrp/messages/EigrpMessage.msg: EigrpIpv4Update - routing/eigrp/messages/EigrpMessage.msg: EigrpIpv6Ack - routing/eigrp/messages/EigrpMessage.msg: EigrpIpv6Hello - routing/eigrp/messages/EigrpMessage.msg: EigrpIpv6Message - routing/eigrp/messages/EigrpMessage.msg: EigrpIpv6Query - routing/eigrp/messages/EigrpMessage.msg: EigrpIpv6Reply - routing/eigrp/messages/EigrpMessage.msg: EigrpIpv6Update - routing/eigrp/messages/EigrpMessage.msg: EigrpMessage + Added MSG classes + ================= + common/packet/chunk/Chunk.msg: EmptyChunk + common/packet/chunk/Chunk.msg: EncryptedChunk + common/socket/SocketCommand.msg: SocketBindCommand + common/socket/SocketCommand.msg: SocketCloseCommand + common/socket/SocketCommand.msg: SocketClosedIndication + common/socket/SocketCommand.msg: SocketCommandBase + common/socket/SocketCommand.msg: SocketDestroyCommand + linklayer/ethernet/EthernetMacHeader.msg: EthernetFragmentFcs + linklayer/ieee802/Ieee802EpdHeader.msg: Ieee802EpdHeader + linklayer/ieee8021ae/Ieee8021aeTagHeader.msg: Ieee8021aeTagEpdHeader + linklayer/ieee8021ae/Ieee8021aeTagHeader.msg: Ieee8021aeTagTpidHeader + linklayer/ieee8021q/Ieee8021qCommand.msg: Ieee8021qBindCommand + physicallayer/ethernet/EthernetPhyHeader.msg: EthernetFragmentPhyHeader + physicallayer/ethernet/EthernetPhyHeader.msg: EthernetPhyHeaderBase + protocolelement/acknowledgement/AcknowledgeHeader.msg: AcknowledgeHeader + protocolelement/aggregation/header/SubpacketLengthHeader.msg: SubpacketLengthHeader + protocolelement/checksum/header/CrcHeader.msg: CrcHeader + protocolelement/checksum/header/FcsHeader.msg: FcsHeader + protocolelement/dispatching/ProtocolHeader.msg: ProtocolHeader + protocolelement/forwarding/HopLimitHeader.msg: HopLimitHeader + protocolelement/fragmentation/header/FragmentNumberHeader.msg: FragmentNumberHeader + protocolelement/ordering/SequenceNumberHeader.msg: SequenceNumberHeader + protocolelement/selectivity/DestinationL3AddressHeader.msg: DestinationL3AddressHeader + protocolelement/selectivity/DestinationMacAddressHeader.msg: DestinationMacAddressHeader + protocolelement/selectivity/DestinationPortHeader.msg: DestinationPortHeader + routing/eigrp/messages/EigrpMessage.msg: EigrpIpv4Ack + routing/eigrp/messages/EigrpMessage.msg: EigrpIpv4Hello + routing/eigrp/messages/EigrpMessage.msg: EigrpIpv4Message + routing/eigrp/messages/EigrpMessage.msg: EigrpIpv4Query + routing/eigrp/messages/EigrpMessage.msg: EigrpIpv4Reply + routing/eigrp/messages/EigrpMessage.msg: EigrpIpv4Update + routing/eigrp/messages/EigrpMessage.msg: EigrpIpv6Ack + routing/eigrp/messages/EigrpMessage.msg: EigrpIpv6Hello + routing/eigrp/messages/EigrpMessage.msg: EigrpIpv6Message + routing/eigrp/messages/EigrpMessage.msg: EigrpIpv6Query + routing/eigrp/messages/EigrpMessage.msg: EigrpIpv6Reply + routing/eigrp/messages/EigrpMessage.msg: EigrpIpv6Update + routing/eigrp/messages/EigrpMessage.msg: EigrpMessage - Changed MSG classes - =================== - linklayer/ethernet/EtherFrame.msg: EthernetControlFrame -> linklayer/ethernet/EthernetControlFrame.msg: EthernetControlFrameBase - linklayer/ethernet/EtherFrame.msg: EthernetPauseFrame -> linklayer/ethernet/EthernetControlFrame.msg: EthernetPauseFrame - linklayer/ethernet/EthernetMacHeader.msg: EthernetMacAddressFields - linklayer/ethernet/EthernetMacHeader.msg: EthernetTypeOrLengthField - linklayer/ethernet/EtherPhyFrame.msg: EthernetPhyHeader -> physicallayer/ethernet/EthernetPhyHeader.msg: EthernetPhyHeader - linklayer/ieee8021q/Ieee8021qHeader.msg: Ieee8021qHeader -> linklayer/ieee8021q/Ieee8021qTagHeader.msg: Ieee8021qTagEpdHeader - linklayer/ieee8021q/Ieee8021qHeader.msg: Ieee8021qHeader -> linklayer/ieee8021q/Ieee8021qTagHeader.msg: Ieee8021qTagTpidHeader - linklayer/ieee8022/Ieee8022LlcHeader.msg: Ieee8022LlcSnapHeader -> linklayer/ieee8022/Ieee8022SnapHeader.msg: Ieee8022LlcSnapHeader - linklayer/ieee8022/Ieee8022LlcHeader.msg: Ieee8022LlcSnapHeader -> linklayer/ieee8022/Ieee8022SnapHeader.msg: Ieee8022SnapHeader + Changed MSG classes + =================== + linklayer/ethernet/EtherFrame.msg: EthernetControlFrame -> linklayer/ethernet/EthernetControlFrame.msg: EthernetControlFrameBase + linklayer/ethernet/EtherFrame.msg: EthernetPauseFrame -> linklayer/ethernet/EthernetControlFrame.msg: EthernetPauseFrame + linklayer/ethernet/EthernetMacHeader.msg: EthernetMacAddressFields + linklayer/ethernet/EthernetMacHeader.msg: EthernetTypeOrLengthField + linklayer/ethernet/EtherPhyFrame.msg: EthernetPhyHeader -> physicallayer/ethernet/EthernetPhyHeader.msg: EthernetPhyHeader + linklayer/ieee8021q/Ieee8021qHeader.msg: Ieee8021qHeader -> linklayer/ieee8021q/Ieee8021qTagHeader.msg: Ieee8021qTagEpdHeader + linklayer/ieee8021q/Ieee8021qHeader.msg: Ieee8021qHeader -> linklayer/ieee8021q/Ieee8021qTagHeader.msg: Ieee8021qTagTpidHeader + linklayer/ieee8022/Ieee8022LlcHeader.msg: Ieee8022LlcSnapHeader -> linklayer/ieee8022/Ieee8022SnapHeader.msg: Ieee8022LlcSnapHeader + linklayer/ieee8022/Ieee8022LlcHeader.msg: Ieee8022LlcSnapHeader -> linklayer/ieee8022/Ieee8022SnapHeader.msg: Ieee8022SnapHeader - Removed MSG classes - =================== - linklayer/ethernet/EthernetCommand.msg: EthernetCloseCommand - linklayer/ethernet/EthernetCommand.msg: EthernetCommandBase - linklayer/ethernet/EthernetCommand.msg: EthernetDestroyCommand - linklayer/ethernet/EthernetCommand.msg: EthernetSocketClosedIndication - linklayer/ieee80211/llc/Ieee80211EtherTypeHeader.msg: Ieee80211EtherTypeHeader - linklayer/ieee8022/Ieee8022LlcSocketCommand.msg: Ieee8022LlcSocketCloseCommand - linklayer/ieee8022/Ieee8022LlcSocketCommand.msg: Ieee8022LlcSocketClosedIndication - linklayer/ieee8022/Ieee8022LlcSocketCommand.msg: Ieee8022LlcSocketCommand - linklayer/ieee8022/Ieee8022LlcSocketCommand.msg: Ieee8022LlcSocketDestroyCommand + Removed MSG classes + =================== + linklayer/ethernet/EthernetCommand.msg: EthernetCloseCommand + linklayer/ethernet/EthernetCommand.msg: EthernetCommandBase + linklayer/ethernet/EthernetCommand.msg: EthernetDestroyCommand + linklayer/ethernet/EthernetCommand.msg: EthernetSocketClosedIndication + linklayer/ieee80211/llc/Ieee80211EtherTypeHeader.msg: Ieee80211EtherTypeHeader + linklayer/ieee8022/Ieee8022LlcSocketCommand.msg: Ieee8022LlcSocketCloseCommand + linklayer/ieee8022/Ieee8022LlcSocketCommand.msg: Ieee8022LlcSocketClosedIndication + linklayer/ieee8022/Ieee8022LlcSocketCommand.msg: Ieee8022LlcSocketCommand + linklayer/ieee8022/Ieee8022LlcSocketCommand.msg: Ieee8022LlcSocketDestroyCommand - Added tags - ========== - DelayingTimeTag - DirectionTag - ElapsedTimeTag - FlowTag - FragmentTag - IdentityTag - PacketEventTag - ProcessingTimeTag - ProgressTag - PropagationTimeTag - QueueingTimeTag - TransmissionTimeTag + Added tags + ========== + DelayingTimeTag + DirectionTag + ElapsedTimeTag + FlowTag + FragmentTag + IdentityTag + PacketEventTag + ProcessingTimeTag + ProgressTag + PropagationTimeTag + QueueingTimeTag + TransmissionTimeTag - Added C++ classes - ================= - clock/common/ClockTime - common/clock/ClockUserModuleBase - common/clock/ClockUserModuleMixin - common/clock/ClockUserModuleMixinImpl - common/FlowTag - common/lifecycle/OperationalMixin - common/lifecycle/OperationalMixinImpl - common/packet/chunk/EncryptedChunk - common/packet/recorder/IPcapWriter - common/packet/recorder/PcapngWriter - common/packet/tag/SharingRegionTagSet - common/packet/tag/SharingTagSet - common/PacketEventTag - common/socket/SocketBase - common/SubmoduleLayout - linklayer/base/MacRelayUnitBase - linklayer/ethernet/EthernetControlFrameSerializer - linklayer/ethernet/modular/EthernetClassifier - linklayer/ieee802/Ieee802EpdHeaderSerializer - linklayer/ieee802/Ieee802EpdProtocolDissector - linklayer/ieee802/Ieee802EpdProtocolPrinter - linklayer/ieee8021ae/Ieee8021aeTagHeaderSerializer - linklayer/ieee8021q/Ieee8021qSocket - linklayer/ieee8021q/Ieee8021qTagEpdProtocolDissector - linklayer/ieee8021q/Ieee8021qTagHeaderSerializer - physicallayer/common/packetlevel/WirelessSignal - physicallayer/ethernet/EthernetPhyHeaderSerializer - physicallayer/ethernet/EthernetPhyProtocolDissector - protocolelement/checksum/serializer/CrcHeaderSerializer - protocolelement/checksum/serializer/FcsHeaderSerializer - protocolelement/common/AccessoryProtocol - protocolelement/common/HeaderPosition - protocolelement/fragmentation/serializer/FragmentNumberHeaderSerializer - protocolelement/ordering/SequenceNumberHeaderSerializer - protocolelement/ordering/SequenceNumberPacketClassifierFunction - routing/dsdv/DsdvHelloSerializer - routing/eigrp/EigrpDeviceConfigurator - routing/eigrp/EigrpDual - routing/eigrp/EigrpDualStack - routing/eigrp/messages/EigrpMsgReq - routing/eigrp/pdms/EigrpMetricHelper - routing/eigrp/pdms/EigrpPrint - routing/eigrp/tables/EigrpDisabledInterfaces - routing/eigrp/tables/EigrpNeighborTable - routing/eigrp/tables/EigrpNetworkTable - routing/eigrp/tables/EigrpRoute - routing/eigrp/tables/EigrpTopologyTable + Added C++ classes + ================= + clock/common/ClockTime + common/clock/ClockUserModuleBase + common/clock/ClockUserModuleMixin + common/clock/ClockUserModuleMixinImpl + common/FlowTag + common/lifecycle/OperationalMixin + common/lifecycle/OperationalMixinImpl + common/packet/chunk/EncryptedChunk + common/packet/recorder/IPcapWriter + common/packet/recorder/PcapngWriter + common/packet/tag/SharingRegionTagSet + common/packet/tag/SharingTagSet + common/PacketEventTag + common/socket/SocketBase + common/SubmoduleLayout + linklayer/base/MacRelayUnitBase + linklayer/ethernet/EthernetControlFrameSerializer + linklayer/ethernet/modular/EthernetClassifier + linklayer/ieee802/Ieee802EpdHeaderSerializer + linklayer/ieee802/Ieee802EpdProtocolDissector + linklayer/ieee802/Ieee802EpdProtocolPrinter + linklayer/ieee8021ae/Ieee8021aeTagHeaderSerializer + linklayer/ieee8021q/Ieee8021qSocket + linklayer/ieee8021q/Ieee8021qTagEpdProtocolDissector + linklayer/ieee8021q/Ieee8021qTagHeaderSerializer + physicallayer/common/packetlevel/WirelessSignal + physicallayer/ethernet/EthernetPhyHeaderSerializer + physicallayer/ethernet/EthernetPhyProtocolDissector + protocolelement/checksum/serializer/CrcHeaderSerializer + protocolelement/checksum/serializer/FcsHeaderSerializer + protocolelement/common/AccessoryProtocol + protocolelement/common/HeaderPosition + protocolelement/fragmentation/serializer/FragmentNumberHeaderSerializer + protocolelement/ordering/SequenceNumberHeaderSerializer + protocolelement/ordering/SequenceNumberPacketClassifierFunction + routing/dsdv/DsdvHelloSerializer + routing/eigrp/EigrpDeviceConfigurator + routing/eigrp/EigrpDual + routing/eigrp/EigrpDualStack + routing/eigrp/messages/EigrpMsgReq + routing/eigrp/pdms/EigrpMetricHelper + routing/eigrp/pdms/EigrpPrint + routing/eigrp/tables/EigrpDisabledInterfaces + routing/eigrp/tables/EigrpNeighborTable + routing/eigrp/tables/EigrpNetworkTable + routing/eigrp/tables/EigrpRoute + routing/eigrp/tables/EigrpTopologyTable - Changed C++ classes - =================== - common/int128 -> common/Int128 - common/NetworkCommunicationFingerprintCalculator -> common/FingerprintCalculator - linklayer/ethernet/EthernetHeaderSerializer -> linklayer/ethernet/EthernetMacHeaderSerializer - linklayer/ethernet/EthernetProtocolDissector -> linklayer/ethernet/EthernetMacProtocolDissector - linklayer/ethernet/EthernetProtocolPrinter -> linklayer/ethernet/EthernetMacProtocolPrinter + Changed C++ classes + =================== + common/int128 -> common/Int128 + common/NetworkCommunicationFingerprintCalculator -> common/FingerprintCalculator + linklayer/ethernet/EthernetHeaderSerializer -> linklayer/ethernet/EthernetMacHeaderSerializer + linklayer/ethernet/EthernetProtocolDissector -> linklayer/ethernet/EthernetMacProtocolDissector + linklayer/ethernet/EthernetProtocolPrinter -> linklayer/ethernet/EthernetMacProtocolPrinter - Removed C++ classes - =================== - common/packet/recorder/PacketDump - common/packet/tag/RegionTagSet - linklayer/ieee80211/llc/Ieee80211EtherTypeHeaderSerializer - linklayer/ieee80211/llc/Ieee80211EtherTypeProtocolDissector - linklayer/ieee80211/llc/Ieee80211EtherTypeProtocolPrinter + Removed C++ classes + =================== + common/packet/recorder/PacketDump + common/packet/tag/RegionTagSet + linklayer/ieee80211/llc/Ieee80211EtherTypeHeaderSerializer + linklayer/ieee80211/llc/Ieee80211EtherTypeProtocolDissector + linklayer/ieee80211/llc/Ieee80211EtherTypeProtocolPrinter - Added signals - ============= - calcLoad - delayingTime - driftRateChanged - elapsedTime - gateStateChanged - lifeTime - load - markingProb - packetFlowEnded - packetFlowStarted - postOscillatorStateChanged - preOscillatorStateChanged - processingTime - propagationTime - queueingTime - tcpRcvPayloadBytes - timeChanged - transmissionTime + Added signals + ============= + calcLoad + delayingTime + driftRateChanged + elapsedTime + gateStateChanged + lifeTime + load + markingProb + packetFlowEnded + packetFlowStarted + postOscillatorStateChanged + preOscillatorStateChanged + processingTime + propagationTime + queueingTime + tcpRcvPayloadBytes + timeChanged + transmissionTime - Removed signals - =============== - messageSent + Removed signals + =============== + messageSent - Changed signals - =============== - packetPopped -> packetPulled - receptionStarted - receptionEnded - transmissionStarted - transmissionEnded + Changed signals + =============== + packetPopped -> packetPulled + receptionStarted + receptionEnded + transmissionStarted + transmissionEnded\n\n \ No newline at end of file diff --git a/src/inet/applications/base/ChangeLog b/src/inet/applications/base/ChangeLog index f2cb700d4dd..1d305b836dc 100644 --- a/src/inet/applications/base/ChangeLog +++ b/src/inet/applications/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/applications/clock/ChangeLog b/src/inet/applications/clock/ChangeLog index 2acc901a249..c74c02cf054 100644 --- a/src/inet/applications/clock/ChangeLog +++ b/src/inet/applications/clock/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-14 Levente Mészáros diff --git a/src/inet/applications/common/ChangeLog b/src/inet/applications/common/ChangeLog index 4b6c7e762f4..5ad4de97b7c 100644 --- a/src/inet/applications/common/ChangeLog +++ b/src/inet/applications/common/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-10 Andras Varga diff --git a/src/inet/applications/contract/ChangeLog b/src/inet/applications/contract/ChangeLog index ae789fa95d2..9b02759741d 100644 --- a/src/inet/applications/contract/ChangeLog +++ b/src/inet/applications/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/applications/dhcp/ChangeLog b/src/inet/applications/dhcp/ChangeLog index 4bb58006f36..212ecb2f149 100644 --- a/src/inet/applications/dhcp/ChangeLog +++ b/src/inet/applications/dhcp/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/applications/ethernet/ChangeLog b/src/inet/applications/ethernet/ChangeLog index 452ad7bdf7b..b7b005632d7 100644 --- a/src/inet/applications/ethernet/ChangeLog +++ b/src/inet/applications/ethernet/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-21 Levente Mészáros diff --git a/src/inet/applications/generic/ChangeLog b/src/inet/applications/generic/ChangeLog index 5c1e8950381..93e62907c76 100644 --- a/src/inet/applications/generic/ChangeLog +++ b/src/inet/applications/generic/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/applications/ieee8022/ChangeLog b/src/inet/applications/ieee8022/ChangeLog index f961f197707..9046afee72e 100644 --- a/src/inet/applications/ieee8022/ChangeLog +++ b/src/inet/applications/ieee8022/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/applications/netperfmeter/ChangeLog b/src/inet/applications/netperfmeter/ChangeLog index 911f040bc66..3dc27bfc90f 100644 --- a/src/inet/applications/netperfmeter/ChangeLog +++ b/src/inet/applications/netperfmeter/ChangeLog @@ -1,5 +1,16 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-14 Levente Meszaros + + all: Fixed 'warning: variable length arrays in C++ are a Clang + extension'. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ @@ -162,4 +173,4 @@ Added the a network performance metering application -====== inet-2.x ====== +====== inet-2.x ======\n \ No newline at end of file diff --git a/src/inet/applications/netperfmeter/NetPerfMeter.cc b/src/inet/applications/netperfmeter/NetPerfMeter.cc index e0afb0c4b55..a5313937f1e 100644 --- a/src/inet/applications/netperfmeter/NetPerfMeter.cc +++ b/src/inet/applications/netperfmeter/NetPerfMeter.cc @@ -1032,7 +1032,7 @@ void NetPerfMeter::sendDataOfSaturatedStreams(const unsigned long long bytesAvai if (SendingAllowed) { // ====== SCTP tells current queue occupation for each stream ========= unsigned long long contingent; - unsigned long long queued[ActualOutboundStreams]; + unsigned long long *queued = new unsigned long long[ActualOutboundStreams]; if (sendQueueAbatedIndication == nullptr) { // At the moment, the actual queue size is unknown. // => Assume it to be bytesAvailableInQueue. @@ -1075,6 +1075,7 @@ void NetPerfMeter::sendDataOfSaturatedStreams(const unsigned long long bytesAvai LastStreamID = (LastStreamID + 1) % ActualOutboundStreams; } while (LastStreamID != startStreamID); } while ((newlyQueuedBytes < bytesAvailableInQueue) && (progress == true)); + delete [] queued; } } diff --git a/src/inet/applications/pingapp/ChangeLog b/src/inet/applications/pingapp/ChangeLog index 3e176e4f4d1..a9c6f5c5771 100644 --- a/src/inet/applications/pingapp/ChangeLog +++ b/src/inet/applications/pingapp/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-10-06 Andras Varga diff --git a/src/inet/applications/rtpapp/ChangeLog b/src/inet/applications/rtpapp/ChangeLog index fa4466cdc76..4f797660b34 100644 --- a/src/inet/applications/rtpapp/ChangeLog +++ b/src/inet/applications/rtpapp/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/applications/sctpapp/ChangeLog b/src/inet/applications/sctpapp/ChangeLog index d9d34140509..575384d6b61 100644 --- a/src/inet/applications/sctpapp/ChangeLog +++ b/src/inet/applications/sctpapp/ChangeLog @@ -1,5 +1,16 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-14 Levente Meszaros + + all: Fixed 'warning: variable length arrays in C++ are a Clang + extension'. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-13 Andras Varga @@ -476,4 +487,4 @@ If you are interested in the early history of the code, change to the project root and type - $ gitk -- INET/src/applications/sctpapp + $ gitk -- INET/src/applications/sctpapp\n \ No newline at end of file diff --git a/src/inet/applications/sctpapp/SctpNatPeer.cc b/src/inet/applications/sctpapp/SctpNatPeer.cc index c43e38f7a53..142cd32ab05 100644 --- a/src/inet/applications/sctpapp/SctpNatPeer.cc +++ b/src/inet/applications/sctpapp/SctpNatPeer.cc @@ -354,7 +354,7 @@ void SctpNatPeer::handleMessage(cMessage *msg) if (rendezvous) { const auto& smsg = message->peekDataAsBytes(); int bufferlen = B(smsg->getChunkLength()).get(); - uint8_t buffer[bufferlen]; + uint8_t *buffer = new uint8_t[bufferlen]; std::vector vec = smsg->getBytes(); for (int i = 0; i < bufferlen; i++) { buffer[i] = vec[i]; @@ -372,6 +372,7 @@ void SctpNatPeer::handleMessage(cMessage *msg) } peerPort = nat->portPeer2; delete msg; + delete [] buffer; } else { auto j = rcvdBytesPerAssoc.find(id); diff --git a/src/inet/applications/sctpapp/SctpNatServer.cc b/src/inet/applications/sctpapp/SctpNatServer.cc index 9f319c60c8f..75214345cc8 100644 --- a/src/inet/applications/sctpapp/SctpNatServer.cc +++ b/src/inet/applications/sctpapp/SctpNatServer.cc @@ -266,7 +266,7 @@ void SctpNatServer::handleMessage(cMessage *msg) id = ind->getSocketId(); const auto& smsg = message->peekDataAsBytes(); int bufferlen = B(smsg->getChunkLength()).get(); - uint8_t buffer[bufferlen]; + uint8_t *buffer = new uint8_t[bufferlen]; std::vector vec = smsg->getBytes(); for (int i = 0; i < bufferlen; i++) { buffer[i] = vec[i]; @@ -358,6 +358,7 @@ void SctpNatServer::handleMessage(cMessage *msg) printNatVector(); delete msg; + delete [] buffer; break; } diff --git a/src/inet/applications/tcpapp/ChangeLog b/src/inet/applications/tcpapp/ChangeLog index e5ccdcc87d9..3949a9a0f5f 100644 --- a/src/inet/applications/tcpapp/ChangeLog +++ b/src/inet/applications/tcpapp/ChangeLog @@ -1,5 +1,15 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-04-17 Zoltan Bojthe + + TcpBasicClientApp: bugfix: fixed stopTime detection + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-04 Zoltan Bojthe diff --git a/src/inet/applications/tcpapp/TcpBasicClientApp.cc b/src/inet/applications/tcpapp/TcpBasicClientApp.cc index cf8a34675a0..5022bdc4f1c 100644 --- a/src/inet/applications/tcpapp/TcpBasicClientApp.cc +++ b/src/inet/applications/tcpapp/TcpBasicClientApp.cc @@ -132,7 +132,7 @@ void TcpBasicClientApp::socketEstablished(TcpSocket *socket) void TcpBasicClientApp::rescheduleAfterOrDeleteTimer(simtime_t d, short int msgKind) { - if (stopTime < SIMTIME_ZERO || d < stopTime) { + if (stopTime < SIMTIME_ZERO || simTime() + d < stopTime) { timeoutMsg->setKind(msgKind); rescheduleAfter(d, timeoutMsg); } diff --git a/src/inet/applications/tunapp/ChangeLog b/src/inet/applications/tunapp/ChangeLog index 80389ec4127..ce361e59d6b 100644 --- a/src/inet/applications/tunapp/ChangeLog +++ b/src/inet/applications/tunapp/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/applications/udpapp/ChangeLog b/src/inet/applications/udpapp/ChangeLog index 8f7a5bbf71f..dd8bd8493b8 100644 --- a/src/inet/applications/udpapp/ChangeLog +++ b/src/inet/applications/udpapp/ChangeLog @@ -1,5 +1,31 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-09-19 Levente Meszaros + + UdpBasicBurst: Fixed enumeration name in cEnum::get. + +2024-09-19 Levente Meszaros + + UdpBasicBurst: Fixed missing Define_Module. + +2024-08-07 Rudolf Hornig + + prod: version bump to 4.5.2, updated WHATSNEW and ChangeLogs + +2024-04-08 Andras Varga + + misc: fix incorrect enum declarations (required for OMNeT++ 6.1) + +2024-04-08 Andras Varga + + misc: fix incorrect enum declarations (required for OMNeT++ 6.1) + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-16 Andras Varga @@ -673,4 +699,4 @@ If you are interested in the early history of the code, change to the project root and type - $ gitk -- Applications/UDPApp INET/src/applications/udpapp + $ gitk -- Applications/UDPApp INET/src/applications/udpapp\n \ No newline at end of file diff --git a/src/inet/applications/udpapp/UdpBasicBurst.cc b/src/inet/applications/udpapp/UdpBasicBurst.cc index 5c0dc4d5b34..04bbf11c861 100644 --- a/src/inet/applications/udpapp/UdpBasicBurst.cc +++ b/src/inet/applications/udpapp/UdpBasicBurst.cc @@ -19,15 +19,10 @@ namespace inet { -Register_Enum2(destAddrMode, "inet::ChooseDestAddrMode", ( - "once", UdpBasicBurst::ONCE, - "perBurst", UdpBasicBurst::PER_BURST, - "perSend", UdpBasicBurst::PER_SEND, - nullptr - )); - Define_Module(UdpBasicBurst); +Register_Enum(UdpBasicBurst::ChooseDestAddrMode, (UdpBasicBurst::ONCE, UdpBasicBurst::PER_BURST, UdpBasicBurst::PER_SEND)); + simsignal_t UdpBasicBurst::outOfOrderPkSignal = registerSignal("outOfOrderPk"); UdpBasicBurst::~UdpBasicBurst() @@ -63,7 +58,8 @@ void UdpBasicBurst::initialize(int stage) destAddrRNG = par("destAddrRNG"); const char *addrModeStr = par("chooseDestAddrMode"); - int addrMode = cEnum::get("inet::ChooseDestAddrMode")->lookup(addrModeStr); + std::string addrModeEnumStr = opp_replacesubstring(opp_strupper(addrModeStr), "PER", "PER_", false); + int addrMode = cEnum::get("inet::UdpBasicBurst::ChooseDestAddrMode")->lookup(addrModeEnumStr.c_str()); if (addrMode == -1) throw cRuntimeError("Invalid chooseDestAddrMode: '%s'", addrModeStr); chooseDestAddrMode = static_cast(addrMode); diff --git a/src/inet/applications/voip/ChangeLog b/src/inet/applications/voip/ChangeLog index 9715aa3a21e..e4f2ff2c04d 100644 --- a/src/inet/applications/voip/ChangeLog +++ b/src/inet/applications/voip/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/applications/voipstream/AudioOutFile.cc b/src/inet/applications/voipstream/AudioOutFile.cc index 447a8620c1d..f04ab603da1 100644 --- a/src/inet/applications/voipstream/AudioOutFile.cc +++ b/src/inet/applications/voipstream/AudioOutFile.cc @@ -71,7 +71,11 @@ void AudioOutFile::open(const char *resultFile, int sampleRate, short int sample p->codec_type = AVMEDIA_TYPE_AUDIO; p->bit_rate = sampleRate * sampleBits; p->sample_rate = sampleRate; +#if LIBAVCODEC_VERSION_MAJOR < 59 p->channels = 1; +#else /* LIBAVCODEC_VERSION_MAJOR < 59 */ + p->ch_layout = AV_CHANNEL_LAYOUT_MONO; +#endif /* LIBAVCODEC_VERSION_MAJOR < 59 */ } av_dump_format(oc, 0, resultFile, 1); @@ -93,26 +97,27 @@ void AudioOutFile::open(const char *resultFile, int sampleRate, short int sample throw cRuntimeError("avcodec_alloc_context3() failed"); err = avcodec_parameters_to_context(codecCtx, codecPar); if (err < 0) - throw cRuntimeError("avcodec_parameters_to_context() error: %d", err); + throw cRuntimeError("avcodec_parameters_to_context() error: (%d) %s", err, av_err2str(err)); codecCtx->sample_fmt = AV_SAMPLE_FMT_S16; // FIXME hack! // open it err = avcodec_open2(codecCtx, avcodec, nullptr); if (err < 0) - throw cRuntimeError("Could not open codec %d: error %d", codecPar->codec_id, err); + throw cRuntimeError("Could not open codec %d: error=(%d) %s", codecPar->codec_id, err, av_err2str(err)); } // open the output file, if needed if (!(fmt->flags & AVFMT_NOFILE)) { - if (avio_open(&oc->pb, resultFile, AVIO_FLAG_WRITE) < 0) - throw cRuntimeError("Could not open '%s'", resultFile); + err = avio_open(&oc->pb, resultFile, AVIO_FLAG_WRITE); + if (err < 0) + throw cRuntimeError("Could not open '%s': error=(%d) %s", resultFile, err, av_err2str(err)); } // write the stream header err = avformat_write_header(oc, nullptr); if (err < 0) - throw cRuntimeError("Could not write header to '%s', error=%d", resultFile, err); + throw cRuntimeError("Could not write header to '%s', error=(%d) %s", resultFile, err, av_err2str(err)); } void AudioOutFile::write(void *decBuf, int pktBytes) @@ -124,34 +129,41 @@ void AudioOutFile::write(void *decBuf, int pktBytes) AVFrame *frame = av_frame_alloc(); frame->nb_samples = samples; - frame->channel_layout = AV_CH_LAYOUT_MONO; frame->sample_rate = codecCtx->sample_rate; +#if LIBAVCODEC_VERSION_MAJOR < 59 + frame->channel_layout = AV_CH_LAYOUT_MONO; frame->channels = codecCtx->channels; +#else /* LIBAVCODEC_VERSION_MAJOR < 59 */ + frame->ch_layout = codecCtx->ch_layout; + frame->ch_layout.u.mask = AV_CH_LAYOUT_MONO; +#endif /* LIBAVCODEC_VERSION_MAJOR < 59 */ frame->format = codecCtx->sample_fmt; int err = avcodec_fill_audio_frame(frame, /*channels*/ 1, codecCtx->sample_fmt, (const uint8_t *)(decBuf), pktBytes, 1); if (err < 0) - throw cRuntimeError("Error in avcodec_fill_audio_frame(): err=%d", err); + throw cRuntimeError("Error in avcodec_fill_audio_frame(): error (%d) %s", err, av_err2str(err)); // The bitsPerOutSample is not 0 when codec is PCM. +#if LIBAVCODEC_VERSION_MAJOR < 59 frame->channels = codecCtx->channels; +#endif /* LIBAVCODEC_VERSION_MAJOR < 59 */ frame->format = codecCtx->sample_fmt; err = avcodec_send_frame(codecCtx, frame); if (err < 0) - throw cRuntimeError("avcodec_send_frame() error: %d", err); + throw cRuntimeError("avcodec_send_frame() error: (%d) %s", err, av_err2str(err)); AVPacket *pkt = av_packet_alloc(); while(true) { err = avcodec_receive_packet(codecCtx, pkt); if (err == AVERROR(EAGAIN) || err == AVERROR_EOF) break; else if (err < 0) - throw cRuntimeError("avcodec_receive_packet() error: %d", err); + throw cRuntimeError("avcodec_receive_packet() error: (%d) %s", err, av_err2str(err)); pkt->dts = 0; // HACK for libav 11 // write the compressed frame into the media file err = av_interleaved_write_frame(oc, pkt); if (err != 0) - throw cRuntimeError("Error while writing audio frame: %d", err); + throw cRuntimeError("Error while writing audio frame: (%d) %s", err, av_err2str(err)); } av_packet_free(&pkt); av_frame_free(&frame); @@ -164,21 +176,21 @@ bool AudioOutFile::close() int err = avcodec_send_frame(codecCtx, nullptr); if (err < 0) - throw cRuntimeError("avcodec_send_frame() error: %d", err); + throw cRuntimeError("avcodec_send_frame() error: (%d) %s", err, av_err2str(err)); AVPacket *pkt = av_packet_alloc(); while(true) { err = avcodec_receive_packet(codecCtx, pkt); if (err == AVERROR(EAGAIN) || err == AVERROR_EOF) break; else if (err < 0) - throw cRuntimeError("avcodec_receive_packet() error: %d", err); + throw cRuntimeError("avcodec_receive_packet() error: (%d) %s", err, av_err2str(err)); pkt->dts = 0; // HACK for libav 11 // write the compressed frame into the media file err = av_interleaved_write_frame(oc, pkt); if (err != 0) - throw cRuntimeError("Error while writing audio frame: %d", err); + throw cRuntimeError("Error while writing audio frame: (%d) %s", err, av_err2str(err)); } av_packet_free(&pkt); @@ -202,6 +214,8 @@ bool AudioOutFile::close() // free the stream avformat_free_context(oc); oc = nullptr; + + avcodec_free_context(&codecCtx); return true; } diff --git a/src/inet/applications/voipstream/ChangeLog b/src/inet/applications/voipstream/ChangeLog index 24966dd00b0..7ce4fd01a74 100644 --- a/src/inet/applications/voipstream/ChangeLog +++ b/src/inet/applications/voipstream/ChangeLog @@ -1,5 +1,46 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-21 Levente Meszaros + + VoipStreamSender: Fixed memory leaks found by sanitizer build. + +2024-10-18 Levente Meszaros + + voipstream: Fixed memory leaks in how ffmpeg is used detected by + sanitizer. + +2024-10-14 Levente Meszaros + + all: Fixed 'warning: variable length arrays in C++ are a Clang + extension'. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-05-05 Zoltan Bojthe + + VoipStreamSender: padding last frame when the sending will be repeating + from start + +2023-05-03 Zoltan Bojthe + + Fixup: set frame_size in pEncoderCtx. + + Required for g726 codec in libavcodec: 60.3.100. Tested with libavcodec: + 59.37.100, too. + +2023-04-27 Zoltan Bojthe + + VoipStreamSender: Use swr_alloc_set_opts2() instead of many + av_opt_set_int() + + More verbose error messages + + Replace deprecated code + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-11-22 Zoltan Bojthe @@ -491,4 +532,4 @@ Initial commit of the contents of OMNeT_VoIPTool_INET.tgz from http://www.tkn.tu-berlin.de/research/omnetVoipTool/ - into the repo github.com:inet-framework/voiptool.git + into the repo github.com:inet-framework/voiptool.git\n \ No newline at end of file diff --git a/src/inet/applications/voipstream/VoipStreamReceiver.cc b/src/inet/applications/voipstream/VoipStreamReceiver.cc index 5cdab2c0124..a2aea6d8292 100644 --- a/src/inet/applications/voipstream/VoipStreamReceiver.cc +++ b/src/inet/applications/voipstream/VoipStreamReceiver.cc @@ -119,9 +119,10 @@ void VoipStreamReceiver::Connection::writeLostSamples(int sampleCount) { int pktBytes = sampleCount * av_get_bytes_per_sample(decCtx->sample_fmt); if (outFile.isOpen()) { - uint8_t decBuf[pktBytes]; + uint8_t *decBuf = new uint8_t[pktBytes]; memset(decBuf, 0, pktBytes); outFile.write(decBuf, pktBytes); + delete [] decBuf; } } @@ -129,7 +130,7 @@ void VoipStreamReceiver::Connection::writeAudioFrame(AVPacket *avpkt) { int err = avcodec_send_packet(decCtx, avpkt); if (err < 0) - throw cRuntimeError("Error in avcodec_send_packet(), err=%d", err); + throw cRuntimeError("Error in avcodec_send_packet(), error (%d) %s", err, av_err2str(err)); AVFrame *decodedFrame = av_frame_alloc(); while (true) { @@ -138,7 +139,7 @@ void VoipStreamReceiver::Connection::writeAudioFrame(AVPacket *avpkt) if (err == AVERROR(EAGAIN) || err == AVERROR_EOF) break; else if (err < 0) - throw cRuntimeError("Error in avcodec_receive_frame(), err=%d", err); + throw cRuntimeError("Error in avcodec_receive_frame(), error (%d) %s", err, av_err2str(err)); simtime_t decodedTime(1.0 * decodedFrame->nb_samples / sampleRate); lastPacketFinish += decodedTime; if (outFile.isOpen()) @@ -181,12 +182,16 @@ void VoipStreamReceiver::createConnection(Packet *pk) curConn.decCtx = avcodec_alloc_context3(curConn.pCodecDec); curConn.decCtx->bit_rate = curConn.transmitBitrate; curConn.decCtx->sample_rate = curConn.sampleRate; +#if LIBAVCODEC_VERSION_MAJOR < 59 curConn.decCtx->channels = 1; +#else /* LIBAVCODEC_VERSION_MAJOR < 59 */ + curConn.decCtx->ch_layout = AV_CHANNEL_LAYOUT_MONO; +#endif /* LIBAVCODEC_VERSION_MAJOR < 59 */ curConn.decCtx->bits_per_coded_sample = curConn.sampleBits; int err = avcodec_open2(curConn.decCtx, curConn.pCodecDec, nullptr); if (err < 0) - throw cRuntimeError("could not open decoding codec %d (%s): err=%d", curConn.codec, curConn.pCodecDec->name, err); + throw cRuntimeError("could not open decoding codec %d (%s): error (%d) %s", curConn.codec, curConn.pCodecDec->name, err, av_err2str(err)); curConn.openAudio(resultFile); curConn.offline = false; diff --git a/src/inet/applications/voipstream/VoipStreamSender.cc b/src/inet/applications/voipstream/VoipStreamSender.cc index c1ac84dc946..be0631e592a 100644 --- a/src/inet/applications/voipstream/VoipStreamSender.cc +++ b/src/inet/applications/voipstream/VoipStreamSender.cc @@ -191,6 +191,8 @@ void VoipStreamSender::finish() if (pFormatCtx) { avformat_close_input(&pFormatCtx); } + if (pCodecCtx) + avcodec_free_context(&pCodecCtx); } void VoipStreamSender::openSoundFile(const char *name) @@ -199,11 +201,11 @@ void VoipStreamSender::openSoundFile(const char *name) err = avformat_open_input(&pFormatCtx, name, nullptr, nullptr); if (err < 0) - throw cRuntimeError("Audiofile '%s' open error: %d", name, err); + throw cRuntimeError("Audiofile '%s' open error: (%d) %s", name, err, av_err2str(err)); err = avformat_find_stream_info(pFormatCtx, nullptr); if (err < 0) - throw cRuntimeError("Audiofile '%s' avformat_find_stream_info() error: %d", name, err); + throw cRuntimeError("Audiofile '%s' avformat_find_stream_info() error: (%d) %s", name, err, av_err2str(err)); // get stream number streamIndex = -1; @@ -228,10 +230,10 @@ void VoipStreamSender::openSoundFile(const char *name) throw cRuntimeError("avcodec_alloc_context3() failed"); err = avcodec_parameters_to_context(pCodecCtx, codecPar); if (err < 0) - throw cRuntimeError("avcodec_parameters_to_context() error: %d", err); + throw cRuntimeError("avcodec_parameters_to_context() error: (%d) %s", err, av_err2str(err)); err = avcodec_open2(pCodecCtx, pCodec, nullptr); if (err < 0) - throw cRuntimeError("avcodec_open() error on file '%s': %d", name, err); + throw cRuntimeError("avcodec_open() error on file '%s': (%d) %s", name, err, av_err2str(err)); // allocate encoder pEncoderCtx = avcodec_alloc_context3(nullptr); @@ -240,7 +242,11 @@ void VoipStreamSender::openSoundFile(const char *name) // set bitrate: pEncoderCtx->bit_rate = compressedBitRate; pEncoderCtx->sample_rate = sampleRate; +#if LIBAVCODEC_VERSION_MAJOR < 59 pEncoderCtx->channels = 1; +#else /* LIBAVCODEC_VERSION_MAJOR < 59 */ + pEncoderCtx->ch_layout = AV_CHANNEL_LAYOUT_MONO; +#endif /* LIBAVCODEC_VERSION_MAJOR < 59 */ pCodecEncoder = avcodec_find_encoder_by_name(codec); if (!pCodecEncoder) @@ -251,13 +257,20 @@ void VoipStreamSender::openSoundFile(const char *name) if (avcodec_open2(pEncoderCtx, pCodecEncoder, nullptr) < 0) throw cRuntimeError("could not open %s encoding codec!", codec); - if (pCodecCtx->sample_rate == sampleRate - && pCodecCtx->sample_fmt == pEncoderCtx->sample_fmt - && pCodecCtx->channels == 1) +#if LIBAVCODEC_VERSION_MAJOR >= 59 + pEncoderCtx->frame_size = samplesPerPacket; // TODO required for g726 codec in libavcodec: 60.3.100 (KLUDGE?) +#endif /* LIBAVCODEC_VERSION_MAJOR >= 59 */ + + pReSampleCtx = nullptr; + if (pCodecCtx->sample_rate != sampleRate + || pCodecCtx->sample_fmt != pEncoderCtx->sample_fmt +#if LIBAVCODEC_VERSION_MAJOR < 59 + || pCodecCtx->channels != 1) +#else /* LIBAVCODEC_VERSION_MAJOR < 59 */ + || pCodecCtx->ch_layout.nb_channels != 1) +#endif /* LIBAVCODEC_VERSION_MAJOR < 59 */ { - pReSampleCtx = nullptr; - } - else { +#if LIBAVCODEC_VERSION_MAJOR < 59 pReSampleCtx = swr_alloc(); if (!pReSampleCtx) throw cRuntimeError("error in av_audio_resample_init()"); @@ -275,12 +288,31 @@ void VoipStreamSender::openSoundFile(const char *name) throw cRuntimeError("error in option setting of 'out_sample_fmt'"); if (av_opt_set_int(pReSampleCtx, "out_sample_rate", sampleRate, 0)) throw cRuntimeError("error in option setting of 'out_sample_rate'"); +#else /* LIBAVCODEC_VERSION_MAJOR < 59 */ + AVChannelLayout inChannelLayout = pCodecCtx->ch_layout; + if (inChannelLayout.u.mask == 0) + av_channel_layout_default(&inChannelLayout, pCodecCtx->ch_layout.nb_channels); + ASSERT(inChannelLayout.u.mask != 0); + AVSampleFormat inSampleFmt = pCodecCtx->sample_fmt; + int inSampleRate = pCodecCtx->sample_rate; + AVChannelLayout outChannelLayout = AV_CHANNEL_LAYOUT_MONO; + AVSampleFormat outSampleFmt = pEncoderCtx->sample_fmt; + int outSampleRate = sampleRate; + err = swr_alloc_set_opts2(&pReSampleCtx, + &outChannelLayout, outSampleFmt, outSampleRate, + &inChannelLayout, inSampleFmt, inSampleRate, + 0, nullptr); + if (err < 0) + throw cRuntimeError("Error opening context, swr_alloc_set_opts2() returns (%d) %s", err, av_err2str(err)); + if (!pReSampleCtx) + throw cRuntimeError("error in swr_alloc()"); +#endif if (av_opt_set_int(pReSampleCtx, "internal_sample_fmt", AV_SAMPLE_FMT_FLTP, 0)) throw cRuntimeError("error in option setting of 'internal_sample_fmt'"); err = swr_init(pReSampleCtx); if (err < 0) - throw cRuntimeError("Error opening context"); + throw cRuntimeError("Error opening context, swr_init() returns (%d) %s", err, av_err2str(err)); } if (traceFileName && *traceFileName) { @@ -300,27 +332,45 @@ Packet *VoipStreamSender::generatePacket() return nullptr; short int bytesPerInSample = av_get_bytes_per_sample(pEncoderCtx->sample_fmt); - int samples = std::min(sampleBuffer.length() / (bytesPerInSample), samplesPerPacket); - int inBytes = samples * bytesPerInSample; + int samples = std::min(sampleBuffer.length() / bytesPerInSample, samplesPerPacket); bool isSilent = checkSilence(pEncoderCtx->sample_fmt, sampleBuffer.readPtr(), samples); const auto& vp = makeShared(); + if (samples < samplesPerPacket && repeatCount > 1) { + //padding last frame when the sending will be repeating from start + int dataSize = (samplesPerPacket - samples) * bytesPerInSample; + memset(sampleBuffer.writePtr(), 0, dataSize); + sampleBuffer.notifyWrote(dataSize); + samples = std::min(sampleBuffer.length() / (bytesPerInSample), samplesPerPacket); + } + int inBytes = samples * bytesPerInSample; + AVPacket *opacket = av_packet_alloc(); AVFrame *frame = av_frame_alloc(); frame->nb_samples = samples; - frame->channel_layout = AV_CH_LAYOUT_MONO; frame->sample_rate = pEncoderCtx->sample_rate; +#if LIBAVCODEC_VERSION_MAJOR < 59 + frame->channel_layout = AV_CH_LAYOUT_MONO; frame->channels = pEncoderCtx->channels; +#else /* LIBAVCODEC_VERSION_MAJOR < 59 */ + frame->ch_layout = pEncoderCtx->ch_layout; +#endif /* LIBAVCODEC_VERSION_MAJOR < 59 */ frame->format = pEncoderCtx->sample_fmt; + +#if LIBAVCODEC_VERSION_MAJOR < 59 int err = avcodec_fill_audio_frame(frame, pEncoderCtx->channels, pEncoderCtx->sample_fmt, (const uint8_t *)(sampleBuffer.readPtr()), inBytes, 1); +#else /* LIBAVCODEC_VERSION_MAJOR < 59 */ + int err = avcodec_fill_audio_frame(frame, pEncoderCtx->ch_layout.nb_channels, pEncoderCtx->sample_fmt, (const uint8_t *)(sampleBuffer.readPtr()), inBytes, 1); +#endif /* LIBAVCODEC_VERSION_MAJOR < 59 */ if (err < 0) - throw cRuntimeError("Error in avcodec_fill_audio_frame(): err=%d", err); + throw cRuntimeError("Error in avcodec_fill_audio_frame(): (%d) %s", err, av_err2str(err)); + err = avcodec_send_frame(pEncoderCtx, frame); if (err < 0) - throw cRuntimeError("avcodec_send_frame() error: %d", err); + throw cRuntimeError("avcodec_send_frame() error: (%d) %s", err, av_err2str(err)); err = avcodec_receive_packet(pEncoderCtx, opacket); if (err < 0) - throw cRuntimeError("avcodec_receive_packet() error: %d", err); + throw cRuntimeError("avcodec_receive_packet() error: (%d) %s", err, av_err2str(err)); if (outFile.isOpen()) outFile.write(sampleBuffer.readPtr(), inBytes); @@ -424,21 +474,24 @@ void VoipStreamSender::readFrame() sampleBuffer.align(); - AVPacket *packet = av_packet_alloc(); while (sampleBuffer.length() < samplesPerPacket * inBytesPerSample) { // read one frame + AVPacket *packet = av_packet_alloc(); int err = av_read_frame(pFormatCtx, packet); if (err < 0) { // end of file if (pReSampleCtx) resampleFrame(nullptr, 0); // resample remainder data in internal buffer + av_packet_free(&packet); break; } // if the frame doesn't belong to our audiostream, continue... is not supposed to happen, // since .wav contain only one media stream - if (packet->stream_index != streamIndex) + if (packet->stream_index != streamIndex) { + av_packet_free(&packet); continue; + } #if LIBAVUTIL_VERSION_MAJOR < 57 int skip_samples_size = 0; @@ -458,12 +511,14 @@ void VoipStreamSender::readFrame() } // packet length == 0 ? read next packet - if (packet->size == 0) + if (packet->size == 0) { + av_packet_free(&packet); continue; + } err = avcodec_send_packet(pCodecCtx, packet); if (err < 0) - throw cRuntimeError("Error in avcodec_send_packet(), err=%d", err); + throw cRuntimeError("Error in avcodec_send_packet(): (%d) %s", err, av_err2str(err)); AVFrame *frame = av_frame_alloc(); while (true) { @@ -472,7 +527,7 @@ void VoipStreamSender::readFrame() if (err == AVERROR(EAGAIN) || err == AVERROR_EOF) break; else if (err < 0) - throw cRuntimeError("Error in avcodec_receive_frame(), err=%d", err); + throw cRuntimeError("Error in avcodec_receive_frame(): (%d) %s", err, av_err2str(err)); if (!pReSampleCtx) { // copy frame to sampleBuffer @@ -486,8 +541,8 @@ void VoipStreamSender::readFrame() } } av_frame_free(&frame); + av_packet_free(&packet); } - av_packet_free(&packet); } void VoipStreamSender::resampleFrame(const uint8_t **in_data, int in_nb_samples) @@ -501,11 +556,11 @@ void VoipStreamSender::resampleFrame(const uint8_t **in_data, int in_nb_samples) err = av_samples_fill_arrays(out_data, &out_linesize, tmpSamples, 1, maxOutSamples, pEncoderCtx->sample_fmt, 0); if (err < 0) - throw cRuntimeError("failed out_data fill arrays"); + throw cRuntimeError("failed out_data fill arrays: (%d) %s", err, av_err2str(err)); int resampled = swr_convert(pReSampleCtx, out_data, out_linesize, in_data, in_nb_samples); if (resampled < 0) - throw cRuntimeError("swr_convert() returns error %d", resampled); + throw cRuntimeError("swr_convert() returns error (%d) %s", resampled, av_err2str(resampled)); if (swr_get_delay(pReSampleCtx, 0) > 0) throw cRuntimeError("%ld delay samples not converted\n", swr_get_delay(pReSampleCtx, 0)); if (resampled > 0) { diff --git a/src/inet/clock/base/ChangeLog b/src/inet/clock/base/ChangeLog index 6ead21d8ed9..824c794a4e3 100644 --- a/src/inet/clock/base/ChangeLog +++ b/src/inet/clock/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-13 Levente Mészáros diff --git a/src/inet/clock/common/ChangeLog b/src/inet/clock/common/ChangeLog index eb815cd8248..f891963c91f 100644 --- a/src/inet/clock/common/ChangeLog +++ b/src/inet/clock/common/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/clock/contract/ChangeLog b/src/inet/clock/contract/ChangeLog index 3aa3ca16537..155aa1d83d5 100644 --- a/src/inet/clock/contract/ChangeLog +++ b/src/inet/clock/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/clock/model/ChangeLog b/src/inet/clock/model/ChangeLog index 5470a296f37..33f86d0a8fb 100644 --- a/src/inet/clock/model/ChangeLog +++ b/src/inet/clock/model/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-13 Levente Mészáros diff --git a/src/inet/clock/oscillator/ChangeLog b/src/inet/clock/oscillator/ChangeLog index 22aa00b952d..b2b3ce1ff6e 100644 --- a/src/inet/clock/oscillator/ChangeLog +++ b/src/inet/clock/oscillator/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-13 Levente Mészáros diff --git a/src/inet/common/ChangeLog b/src/inet/common/ChangeLog index f68204b715d..7e9a9657124 100644 --- a/src/inet/common/ChangeLog +++ b/src/inet/common/ChangeLog @@ -1,5 +1,68 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-18 Levente Meszaros + + StreamBufferChunkSerializer: Added temporary fix to avoid serialization + error due to bit length not divisble by 8. + +2023-04-05 Zoltan Bojthe + + ChunkPtr: moved to Chunk.msg + +2023-09-25 Zoltan Bojthe + + all: follow omnetpp change: cNedValue::OBJECT renamed to POINTER + +2024-10-10 Rudolf Hornig + + prod: version umped to 4.5.4 + +2024-03-28 Levente Meszaros + + common: Fixed bug #967. + + The std::function in sharedVariables wrapping the value's destructor can + be uninitialized because sharedVariables.resize(handle+1) in + getSharedVariable() can add more than one item to the vector. + +2024-04-10 Andras Varga + + NodeStatus: follow enum registration fix. + +2024-08-07 Rudolf Hornig + + prod: version bump to 4.5.2, updated WHATSNEW and ChangeLogs + +2024-04-08 Andras Varga + + misc: fix incorrect enum declarations (required for OMNeT++ 6.1) + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-06-01 Levente Mészáros + + ThroughputFilter: Fixed the 0 time interval case when emitting the + throughput. + + Previously the filter emitted 0 but now it either emits nan or inf + depending on what is the value of totalLength. + +2023-05-09 Levente Mészáros + + ModuleRefByGate: Fixed infinite recursion. + +2023-08-24 ------ inet-4.5.1 released ------ + +2023-08-24 Rudolf Hornig + + Compat.h: added missing INET_API macros that caused a linker error on Windows + + Some header files had to be rearranged. Note: Compat.h is meant to be + included automatically by INETDefs.h so it should not be included + manually in any files (except Compat.cc) + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-27 André Apitzsch @@ -2435,4 +2498,4 @@ If you are interested in the early history of the code, change to the project root and type - $ gitk -- src/base INET/src/base Base + $ gitk -- src/base INET/src/base Base\n \ No newline at end of file diff --git a/src/inet/common/Compat.cc b/src/inet/common/Compat.cc index 0b45e5fcebd..58ea4357338 100644 --- a/src/inet/common/Compat.cc +++ b/src/inet/common/Compat.cc @@ -5,6 +5,7 @@ // +#include "inet/common/INETDefs.h" #include "inet/common/Compat.h" namespace inet { @@ -86,7 +87,8 @@ uint64_t& SharedDataManager::getSharedCounter(const char *name, uint64_t initial void SharedDataManager::clear() { for (auto& item : sharedVariables) - item.second(); // call stored destructor + if (item.second) + item.second(); // call stored destructor sharedVariables.clear(); sharedCounters.clear(); sharedCounters.resize(MAX_NUM_COUNTERS, INVALID); diff --git a/src/inet/common/Compat.h b/src/inet/common/Compat.h index 3e6dcf53566..20691614154 100644 --- a/src/inet/common/Compat.h +++ b/src/inet/common/Compat.h @@ -39,7 +39,7 @@ typedef int sharedcounterhandle_t; * This class encapsulates the "simulation-global variables" functionality which became * part of the cSimulation class in OMNeT++ 7.0. */ -class SharedDataManager : public omnetpp::cISimulationLifecycleListener +class INET_API SharedDataManager : public omnetpp::cISimulationLifecycleListener { private: struct SharedDataHandles { @@ -186,7 +186,7 @@ T& SharedDataManager::getSharedVariable(int handle, Args&&... args) * Supporting class for EXECUTE_PRE_NETWORK_SETUP() / EXECUTE_POST_NETWORK_DELETE(), * which didn't exist prior to OMNeT++ 7.0. */ -class CodeFragment +class INET_API CodeFragment { private: omnetpp::SimulationLifecycleEventType lifecycleEvent; diff --git a/src/inet/common/INETDefs.h b/src/inet/common/INETDefs.h index db83f4062e5..de4ae190d89 100644 --- a/src/inet/common/INETDefs.h +++ b/src/inet/common/INETDefs.h @@ -25,8 +25,6 @@ // General definitions. // -#include "inet/common/Compat.h" - namespace inet { using namespace omnetpp; } // namespace inet @@ -36,7 +34,7 @@ using namespace omnetpp; #endif #define INET_VERSION 0x0405 -#define INET_PATCH_LEVEL 0x00 +#define INET_PATCH_LEVEL 0x04 #if defined(INET_EXPORT) #define INET_API OPP_DLLEXPORT @@ -46,6 +44,7 @@ using namespace omnetpp; #define INET_API #endif // if defined(INET_EXPORT) +#include "inet/common/Compat.h" #include "inet/common/InitStages.h" // main namespace of INET framework diff --git a/src/inet/common/ModuleRefByGate.h b/src/inet/common/ModuleRefByGate.h index 34b8f64764e..4689634b5f9 100644 --- a/src/inet/common/ModuleRefByGate.h +++ b/src/inet/common/ModuleRefByGate.h @@ -58,8 +58,8 @@ class INET_API ModuleRefByGate T *getNullable() { return referencedModule.getNullable(); } const T *getNullable() const { return referencedModule.getNullable(); } - T *get() { checkReference(); return get(); } - const T *get() const { checkReference(); return get(); } + T *get() { checkReference(); return referencedModule; } + const T *get() const { checkReference(); return referencedModule; } cGate *getGate() { return gate; } const cGate *getGate() const { return gate; } diff --git a/src/inet/common/NedFunctions.cc b/src/inet/common/NedFunctions.cc index bd7e869e099..7a79c6388f6 100644 --- a/src/inet/common/NedFunctions.cc +++ b/src/inet/common/NedFunctions.cc @@ -218,8 +218,16 @@ static cNedValue nedf_intWithUnit(cComponent *context, cNedValue argv[], int arg return cNedValue(checked_int_cast(floor(argv[0].doubleValueRaw())), argv[0].getUnit()); case cNedValue::STRING: throw cRuntimeError("intWithUnit(): Cannot convert string to int"); +#if OMNETPP_BUILDNUM < 1527 case cNedValue::OBJECT: throw cRuntimeError("intWithUnit(): Cannot convert cObject to int"); +#else + case cNedValue::POINTER: + if (argv[0].containsXML()) + throw cRuntimeError("intWithUnit(): Cannot convert xml to int"); + else + throw cRuntimeError("intWithUnit(): Cannot convert pointer to int"); +#endif default: throw cRuntimeError("Internal error: Invalid cNedValue type"); } @@ -232,8 +240,13 @@ Define_NED_Function2(nedf_intWithUnit, cNedValue nedf_xmlattr(cComponent *context, cNedValue argv[], int argc) { +#if OMNETPP_BUILDNUM < 1527 if (argv[0].getType() != cNedValue::OBJECT) throw cRuntimeError("xmlattr(): xmlNode argument must be an xml node"); +#else + if (argv[0].getType() != cNedValue::POINTER || !argv[0].containsXML()) + throw cRuntimeError("xmlattr(): xmlNode argument must be an xml node"); +#endif if (argv[1].getType() != cNEDValue::STRING) throw cRuntimeError("xmlattr(): attributeName argument must be a string"); diff --git a/src/inet/common/ProtocolTag.msg b/src/inet/common/ProtocolTag.msg index ef37bc0480f..d738cc1e3da 100644 --- a/src/inet/common/ProtocolTag.msg +++ b/src/inet/common/ProtocolTag.msg @@ -11,17 +11,6 @@ import inet.common.packet.chunk.Chunk; namespace inet; -cplusplus{{ -typedef Ptr ChunkPtr; -}} - -class ChunkPtr -{ - @existingClass; - @descriptor(readonly); - Chunk *content @getter(get); -} - // // This is an abstract base class that should not be directly added as a tag. // diff --git a/src/inet/common/ResultFilters.cc b/src/inet/common/ResultFilters.cc index a0d41764eef..3b8fb6e1b44 100644 --- a/src/inet/common/ResultFilters.cc +++ b/src/inet/common/ResultFilters.cc @@ -770,7 +770,8 @@ ThroughputFilter *ThroughputFilter::clone() const void ThroughputFilter::emitThroughput(simtime_t endInterval, cObject *details) { - double throughput = endInterval == lastSignalTime ? 0 : totalLength / (endInterval - lastSignalTime).dbl(); + // this expression can result in 0, inf and nan too, and this is intentional + double throughput = totalLength / (endInterval - lastSignalTime).dbl(); fire(this, endInterval, throughput, details); lastSignalTime = endInterval; totalLength = 0; diff --git a/src/inet/common/checksum/ChangeLog b/src/inet/common/checksum/ChangeLog index 93067f8edce..e9ee1b9140c 100644 --- a/src/inet/common/checksum/ChangeLog +++ b/src/inet/common/checksum/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/common/clock/ChangeLog b/src/inet/common/clock/ChangeLog index 10d5ea98c85..4b7cf679c88 100644 --- a/src/inet/common/clock/ChangeLog +++ b/src/inet/common/clock/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 Rudolf Hornig diff --git a/src/inet/common/figures/ChangeLog b/src/inet/common/figures/ChangeLog index 6847d952ba9..f8fa3606d7b 100644 --- a/src/inet/common/figures/ChangeLog +++ b/src/inet/common/figures/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/common/geometry/ChangeLog b/src/inet/common/geometry/ChangeLog index 03d98611d5a..f2b53eff981 100644 --- a/src/inet/common/geometry/ChangeLog +++ b/src/inet/common/geometry/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-13 Andras Varga diff --git a/src/inet/common/geometry/base/ChangeLog b/src/inet/common/geometry/base/ChangeLog index 806120456b3..0e250149594 100644 --- a/src/inet/common/geometry/base/ChangeLog +++ b/src/inet/common/geometry/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/common/geometry/common/ChangeLog b/src/inet/common/geometry/common/ChangeLog index 8aaecaefaa8..80b8d7507cb 100644 --- a/src/inet/common/geometry/common/ChangeLog +++ b/src/inet/common/geometry/common/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-13 Andras Varga diff --git a/src/inet/common/geometry/container/ChangeLog b/src/inet/common/geometry/container/ChangeLog index f44f38f882d..664a7351d25 100644 --- a/src/inet/common/geometry/container/ChangeLog +++ b/src/inet/common/geometry/container/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/common/geometry/object/ChangeLog b/src/inet/common/geometry/object/ChangeLog index 72a1c2d1cfb..66c309f32b7 100644 --- a/src/inet/common/geometry/object/ChangeLog +++ b/src/inet/common/geometry/object/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/common/geometry/shape/ChangeLog b/src/inet/common/geometry/shape/ChangeLog index fa8e7077177..fa1824d26cb 100644 --- a/src/inet/common/geometry/shape/ChangeLog +++ b/src/inet/common/geometry/shape/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/common/geometry/shape/polyhedron/ChangeLog b/src/inet/common/geometry/shape/polyhedron/ChangeLog index 806120456b3..0e250149594 100644 --- a/src/inet/common/geometry/shape/polyhedron/ChangeLog +++ b/src/inet/common/geometry/shape/polyhedron/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/common/lifecycle/ChangeLog b/src/inet/common/lifecycle/ChangeLog index 27fc1038210..a5039a438f9 100644 --- a/src/inet/common/lifecycle/ChangeLog +++ b/src/inet/common/lifecycle/ChangeLog @@ -1,5 +1,19 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-04-10 Andras Varga + + NodeStatus: follow enum registration fix. + +2024-04-08 Andras Varga + + misc: fix incorrect enum declarations (required for OMNeT++ 6.1) + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-09-01 Zoltan Bojthe @@ -120,4 +134,4 @@ 2016-06-16 Levente Mészáros - Removed icon size specification from module definitions. + Removed icon size specification from module definitions.\n \ No newline at end of file diff --git a/src/inet/common/lifecycle/NodeStatus.cc b/src/inet/common/lifecycle/NodeStatus.cc index 0c33236a51e..b2929fce2cf 100644 --- a/src/inet/common/lifecycle/NodeStatus.cc +++ b/src/inet/common/lifecycle/NodeStatus.cc @@ -14,7 +14,8 @@ namespace inet { -Register_Enum(inet::NodeStatus, (NodeStatus::UP, NodeStatus::DOWN, NodeStatus::GOING_UP, NodeStatus::GOING_DOWN)); +Register_Enum(NodeStatus::State, ( NodeStatus::UP, NodeStatus::DOWN, NodeStatus::GOING_UP, NodeStatus::GOING_DOWN ) ); + Define_Module(NodeStatus); simsignal_t NodeStatus::nodeStatusChangedSignal = registerSignal("nodeStatusChanged"); @@ -33,7 +34,7 @@ NodeStatus::State NodeStatus::getStateByName(const char *name) { std::string temp = name; std::transform(temp.begin(), temp.end(), temp.begin(), ::toupper); - cEnum *e = cEnum::get("inet::NodeStatus"); + cEnum *e = cEnum::get("inet::NodeStatus::State"); int state = e->lookup(temp.c_str(), -1); if (state == -1) throw cRuntimeError("Invalid state name '%s'", name); diff --git a/src/inet/common/math/ChangeLog b/src/inet/common/math/ChangeLog index 55a2d604e0a..1163de3ad21 100644 --- a/src/inet/common/math/ChangeLog +++ b/src/inet/common/math/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-09-29 Andras Varga diff --git a/src/inet/common/misc/ChangeLog b/src/inet/common/misc/ChangeLog index ce0f60c8aff..b5415c84ac2 100644 --- a/src/inet/common/misc/ChangeLog +++ b/src/inet/common/misc/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/common/packet/ChangeLog b/src/inet/common/packet/ChangeLog index 547a9385a6d..fc1f35279fb 100644 --- a/src/inet/common/packet/ChangeLog +++ b/src/inet/common/packet/ChangeLog @@ -1,5 +1,31 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-18 Levente Meszaros + + StreamBufferChunkSerializer: Added temporary fix to avoid serialization + error due to bit length not divisble by 8. + +2023-04-05 Zoltan Bojthe + + ChunkPtr: moved to Chunk.msg + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-04-27 Zoltan Bojthe + + Packet: Fixed missing offset from length calculation. + + Detected with CHUNK_CHECK_IMPLEMENTATION_ENABLED. + +2023-04-25 Levente Mészáros + + StreamBufferChunkSerializer: Fixed padding with 0s after the + currentStreamPosition. + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-11 Levente Mészáros @@ -505,4 +531,4 @@ 2016-07-20 Zoltan Bojthe Replaced deprecated cQueue functions: operator(), length(), empty(). - Removed obsolete omnetpp 4.x code (#if OMNETPP_VERSION < 0x500). + Removed obsolete omnetpp 4.x code (#if OMNETPP_VERSION < 0x500).\n \ No newline at end of file diff --git a/src/inet/common/packet/Packet.cc b/src/inet/common/packet/Packet.cc index 12912adab43..d327739e9e3 100644 --- a/src/inet/common/packet/Packet.cc +++ b/src/inet/common/packet/Packet.cc @@ -219,7 +219,7 @@ void Packet::insertAt(const Ptr& chunk, b offset) sequenceChunk->insertAtBack(content->peek(Chunk::ForwardIterator(b(0), 0), offset, Chunk::PF_ALLOW_ALL)); sequenceChunk->insertAtBack(chunk); if (offset != totalLength) - sequenceChunk->insertAtBack(content->peek(Chunk::ForwardIterator(offset, -1), totalLength, Chunk::PF_ALLOW_ALL)); + sequenceChunk->insertAtBack(content->peek(Chunk::ForwardIterator(offset, -1), totalLength - offset, Chunk::PF_ALLOW_ALL)); sequenceChunk->markImmutable(); content = sequenceChunk; } @@ -274,7 +274,7 @@ void Packet::eraseAt(b offset, b length) if (offset != b(0)) sequenceChunk->insertAtBack(content->peek(Chunk::ForwardIterator(b(0), 0), offset)); if (offset != totalLength) - sequenceChunk->insertAtBack(content->peek(Chunk::ForwardIterator(offset + length, -1), totalLength - length)); + sequenceChunk->insertAtBack(content->peek(Chunk::ForwardIterator(offset + length, -1), totalLength - offset - length)); sequenceChunk->markImmutable(); content = sequenceChunk; } diff --git a/src/inet/common/packet/chunk/ChangeLog b/src/inet/common/packet/chunk/ChangeLog index 9fd5e3ae0a1..c967204146b 100644 --- a/src/inet/common/packet/chunk/ChangeLog +++ b/src/inet/common/packet/chunk/ChangeLog @@ -1,5 +1,15 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-04-05 Zoltan Bojthe + + ChunkPtr: moved to Chunk.msg + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-22 Andras Varga @@ -367,4 +377,4 @@ 2017-03-02 Levente Mészáros Moved MemoryInputStream and MemoryOutputStream under common. - Moved ChunkSerializer under common/packet/serializer. + Moved ChunkSerializer under common/packet/serializer.\n \ No newline at end of file diff --git a/src/inet/common/packet/chunk/Chunk.msg b/src/inet/common/packet/chunk/Chunk.msg index a9f8c6ff37c..0e2c8461695 100644 --- a/src/inet/common/packet/chunk/Chunk.msg +++ b/src/inet/common/packet/chunk/Chunk.msg @@ -135,3 +135,14 @@ class ChunkTemporarySharedPtr extends cObject @existingClass; @descriptor(readonly); } + +cplusplus{{ +typedef Ptr ChunkPtr; +}} + +class ChunkPtr +{ + @existingClass; + @descriptor(readonly); + Chunk *content @getter(get); +} diff --git a/src/inet/common/packet/dissector/ChangeLog b/src/inet/common/packet/dissector/ChangeLog index 28709184662..dc465d868b1 100644 --- a/src/inet/common/packet/dissector/ChangeLog +++ b/src/inet/common/packet/dissector/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-13 Andras Varga diff --git a/src/inet/common/packet/printer/ChangeLog b/src/inet/common/packet/printer/ChangeLog index 00827d19af5..958e68cda5a 100644 --- a/src/inet/common/packet/printer/ChangeLog +++ b/src/inet/common/packet/printer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-21 Levente Mészáros diff --git a/src/inet/common/packet/recorder/ChangeLog b/src/inet/common/packet/recorder/ChangeLog index 8215c12570b..6b2e3cb3280 100644 --- a/src/inet/common/packet/recorder/ChangeLog +++ b/src/inet/common/packet/recorder/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-09-26 Andras Varga diff --git a/src/inet/common/packet/serializer/ChangeLog b/src/inet/common/packet/serializer/ChangeLog index b80b79be012..f6c5696b0f8 100644 --- a/src/inet/common/packet/serializer/ChangeLog +++ b/src/inet/common/packet/serializer/ChangeLog @@ -1,5 +1,21 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-18 Levente Meszaros + + StreamBufferChunkSerializer: Added temporary fix to avoid serialization + error due to bit length not divisble by 8. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-04-25 Levente Mészáros + + StreamBufferChunkSerializer: Fixed padding with 0s after the + currentStreamPosition. + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-20 Andras Varga @@ -92,4 +108,4 @@ Split Serializer.cc and Serializer.h according to subclasses. Moved ChunkSerializer under common/packet/serializer. - Renamed to ChunkSerializerRegistry. + Renamed to ChunkSerializerRegistry.\n \ No newline at end of file diff --git a/src/inet/common/packet/serializer/StreamBufferChunkSerializer.cc b/src/inet/common/packet/serializer/StreamBufferChunkSerializer.cc index fb5c47ba133..b7be01a18f6 100644 --- a/src/inet/common/packet/serializer/StreamBufferChunkSerializer.cc +++ b/src/inet/common/packet/serializer/StreamBufferChunkSerializer.cc @@ -18,10 +18,17 @@ void StreamBufferChunkSerializer::serialize(MemoryOutputStream& stream, const Pt { const auto& streamBufferChunk = staticPtrCast(chunk); b currentStreamPosition = b((simTime() - streamBufferChunk->getStartTime()).dbl() * streamBufferChunk->getDatarate().get()); - if (offset < currentStreamPosition) - Chunk::serialize(stream, streamBufferChunk->getStreamData(), offset, std::min(length, currentStreamPosition - offset)); - if (offset + length > currentStreamPosition) - stream.writeBitRepeatedly(false, b(offset + length - currentStreamPosition).get()); + if (length == b(-1)) + length = streamBufferChunk->getChunkLength() - offset; + b copyLength = std::max(b(0), std::min(length, currentStreamPosition - offset)); + // KLUDGE: round up to next value divisible by 8, because serialization doesn't work with arbitrary bit lengths + // this rounding doesn't really affect the outcome of the simulation, the limited serialization length just + // protects against using data that isn't streamed in the buffer yet + copyLength = b(b((copyLength.get() + 7) / 8) * 8); + if (copyLength > b(0)) + Chunk::serialize(stream, streamBufferChunk->getStreamData(), offset, copyLength); + if (copyLength < length) + stream.writeBitRepeatedly(false, b(length - copyLength).get()); } const Ptr StreamBufferChunkSerializer::deserialize(MemoryInputStream& stream, const std::type_info& typeInfo) const diff --git a/src/inet/common/packet/tag/ChangeLog b/src/inet/common/packet/tag/ChangeLog index 24037e75fd9..a91ed333597 100644 --- a/src/inet/common/packet/tag/ChangeLog +++ b/src/inet/common/packet/tag/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-17 Levente Mészáros diff --git a/src/inet/common/scenario/ChangeLog b/src/inet/common/scenario/ChangeLog index 076499f487e..c61f5d56701 100644 --- a/src/inet/common/scenario/ChangeLog +++ b/src/inet/common/scenario/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-27 Zoltan Bojthe diff --git a/src/inet/common/scheduler/ChangeLog b/src/inet/common/scheduler/ChangeLog index 97f308432c5..11426508cc4 100644 --- a/src/inet/common/scheduler/ChangeLog +++ b/src/inet/common/scheduler/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/common/selfdoc/ChangeLog b/src/inet/common/selfdoc/ChangeLog index bd5eeb5b6ca..0ea1f100b3b 100644 --- a/src/inet/common/selfdoc/ChangeLog +++ b/src/inet/common/selfdoc/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-22 Andras Varga diff --git a/src/inet/common/socket/ChangeLog b/src/inet/common/socket/ChangeLog index 4ea6cf16532..608b791a4e9 100644 --- a/src/inet/common/socket/ChangeLog +++ b/src/inet/common/socket/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-21 Levente Mészáros diff --git a/src/inet/common/streetmap/ChangeLog b/src/inet/common/streetmap/ChangeLog index a5cee216842..b1e47d3c59a 100644 --- a/src/inet/common/streetmap/ChangeLog +++ b/src/inet/common/streetmap/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/emulation/common/ChangeLog b/src/inet/emulation/common/ChangeLog index 71550f6dd0c..1be37eaccba 100644 --- a/src/inet/emulation/common/ChangeLog +++ b/src/inet/emulation/common/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/emulation/linklayer/ethernet/ChangeLog b/src/inet/emulation/linklayer/ethernet/ChangeLog index 3d43dd2ad08..a89bc0dd8e9 100644 --- a/src/inet/emulation/linklayer/ethernet/ChangeLog +++ b/src/inet/emulation/linklayer/ethernet/ChangeLog @@ -1,5 +1,16 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-14 Levente Meszaros + + all: Fixed 'warning: variable length arrays in C++ are a Clang + extension'. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-02-20 Zoltan Bojthe @@ -472,4 +483,4 @@ If you are interested in the early history of the code, change to the project root and type - $ gitk -- INET/src/linklayer/ext + $ gitk -- INET/src/linklayer/ext\n \ No newline at end of file diff --git a/src/inet/emulation/linklayer/ethernet/ExtEthernetSocket.cc b/src/inet/emulation/linklayer/ethernet/ExtEthernetSocket.cc index 08e22af9367..72dda6a946e 100644 --- a/src/inet/emulation/linklayer/ethernet/ExtEthernetSocket.cc +++ b/src/inet/emulation/linklayer/ethernet/ExtEthernetSocket.cc @@ -66,9 +66,10 @@ void ExtEthernetSocket::handleMessage(cMessage *message) socket_address.sll_addr[4] = macAddress.getAddressByte(4); socket_address.sll_addr[5] = macAddress.getAddressByte(5); - uint8_t buffer[packet->getByteLength()]; + size_t bufferSize = packet->getByteLength(); + uint8_t *buffer = new uint8_t[bufferSize]; auto bytesChunk = packet->peekAllAsBytes(); - size_t packetLength = bytesChunk->copyToBuffer(buffer, sizeof(buffer)); + size_t packetLength = bytesChunk->copyToBuffer(buffer, bufferSize); ASSERT(packetLength == (size_t)packet->getByteLength()); int sent = sendto(fd, buffer, packetLength, 0, (struct sockaddr *)&socket_address, sizeof(socket_address)); @@ -80,6 +81,7 @@ void ExtEthernetSocket::handleMessage(cMessage *message) numSent++; delete packet; + delete [] buffer; } void ExtEthernetSocket::refreshDisplay() const diff --git a/src/inet/emulation/linklayer/ethernet/ExtEthernetTapDevice.cc b/src/inet/emulation/linklayer/ethernet/ExtEthernetTapDevice.cc index 51ce871228f..94444fb463b 100644 --- a/src/inet/emulation/linklayer/ethernet/ExtEthernetTapDevice.cc +++ b/src/inet/emulation/linklayer/ethernet/ExtEthernetTapDevice.cc @@ -59,7 +59,7 @@ void ExtEthernetTapDevice::handleMessage(cMessage *msg) const auto& ethHeader = packet->peekAtFront(); packet->popAtBack(ETHER_FCS_BYTES); auto bytesChunk = packet->peekDataAsBytes(); - uint8_t buffer[packet->getByteLength() + 4]; + uint8_t *buffer = new uint8_t[packet->getByteLength() + 4]; buffer[0] = 0; buffer[1] = 0; buffer[2] = 0x86; // Ethernet @@ -76,6 +76,7 @@ void ExtEthernetTapDevice::handleMessage(cMessage *msg) else EV_ERROR << "Sending Ethernet packet FAILED! (sendto returned " << nwrite << " (" << strerror(errno) << ") instead of " << packetLength << ").\n"; delete packet; + delete [] buffer; } void ExtEthernetTapDevice::refreshDisplay() const diff --git a/src/inet/emulation/linklayer/ieee80211/ChangeLog b/src/inet/emulation/linklayer/ieee80211/ChangeLog index e52724cc5de..a281d9c17b5 100644 --- a/src/inet/emulation/linklayer/ieee80211/ChangeLog +++ b/src/inet/emulation/linklayer/ieee80211/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/emulation/networklayer/ipv4/ChangeLog b/src/inet/emulation/networklayer/ipv4/ChangeLog index b3080cb9b63..ddb93418a79 100644 --- a/src/inet/emulation/networklayer/ipv4/ChangeLog +++ b/src/inet/emulation/networklayer/ipv4/ChangeLog @@ -1,5 +1,16 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-14 Levente Meszaros + + all: Fixed 'warning: variable length arrays in C++ are a Clang + extension'. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ @@ -60,4 +71,4 @@ 2018-07-20 Levente Mészáros Created a separate folder structure under src for emulation related modules and components. - Added ExtLowerIpv4 and ExtUpperIpv4 modules that provide emulation support at the IPv4 protocol level. + Added ExtLowerIpv4 and ExtUpperIpv4 modules that provide emulation support at the IPv4 protocol level.\n \ No newline at end of file diff --git a/src/inet/emulation/networklayer/ipv4/ExtIpv4TunDevice.cc b/src/inet/emulation/networklayer/ipv4/ExtIpv4TunDevice.cc index c8405c12e97..49d97125ce5 100644 --- a/src/inet/emulation/networklayer/ipv4/ExtIpv4TunDevice.cc +++ b/src/inet/emulation/networklayer/ipv4/ExtIpv4TunDevice.cc @@ -62,7 +62,7 @@ void ExtIpv4TunDevice::handleMessage(cMessage *msg) throw cRuntimeError("Accepts IPv4 packets only"); const auto& ipv4Header = packet->peekAtFront(); auto bytesChunk = packet->peekDataAsBytes(); - uint8_t buffer[packet->getByteLength()]; + uint8_t *buffer = new uint8_t[packet->getByteLength()]; size_t packetLength = bytesChunk->copyToBuffer(buffer, packet->getByteLength()); ASSERT(packetLength == (size_t)packet->getByteLength()); ssize_t nwrite = write(fd, buffer, packetLength); @@ -74,6 +74,7 @@ void ExtIpv4TunDevice::handleMessage(cMessage *msg) else EV_ERROR << "Sending IPv4 packet FAILED! (sendto returned " << nwrite << " (" << strerror(errno) << ") instead of " << packetLength << ").\n"; delete packet; + delete [] buffer; } void ExtIpv4TunDevice::refreshDisplay() const diff --git a/src/inet/emulation/transportlayer/udp/ChangeLog b/src/inet/emulation/transportlayer/udp/ChangeLog index 2e31e9c8072..6ffe56a9e50 100644 --- a/src/inet/emulation/transportlayer/udp/ChangeLog +++ b/src/inet/emulation/transportlayer/udp/ChangeLog @@ -1,5 +1,16 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-14 Levente Meszaros + + all: Fixed 'warning: variable length arrays in C++ are a Clang + extension'. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ @@ -63,4 +74,4 @@ 2018-07-20 Levente Mészáros Created a separate folder structure under src for emulation related modules and components. - Added ExtLowerUdp module that provides emulation support at the UDP protocol level. + Added ExtLowerUdp module that provides emulation support at the UDP protocol level.\n \ No newline at end of file diff --git a/src/inet/emulation/transportlayer/udp/ExtLowerUdp.cc b/src/inet/emulation/transportlayer/udp/ExtLowerUdp.cc index a082c7ba09b..0b48ceb4cac 100644 --- a/src/inet/emulation/transportlayer/udp/ExtLowerUdp.cc +++ b/src/inet/emulation/transportlayer/udp/ExtLowerUdp.cc @@ -256,7 +256,7 @@ void ExtLowerUdp::processPacketFromUpper(Packet *packet) else { auto socket = it->second; auto bytesChunk = packet->peekAllAsBytes(); - uint8_t buffer[packet->getByteLength()]; + uint8_t *buffer = new uint8_t[packet->getByteLength()]; size_t packetLength = bytesChunk->copyToBuffer(buffer, packet->getByteLength()); ASSERT(packetLength == (size_t)packet->getByteLength()); if (auto addressReq = packet->findTag()) { @@ -279,6 +279,7 @@ void ExtLowerUdp::processPacketFromUpper(Packet *packet) throw cRuntimeError("Calling send failed: %d", n); } emit(packetSentSignal, packet); + delete [] buffer; } } diff --git a/src/inet/environment/common/ChangeLog b/src/inet/environment/common/ChangeLog index 8705bb5e5d8..ab544782844 100644 --- a/src/inet/environment/common/ChangeLog +++ b/src/inet/environment/common/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-13 Andras Varga diff --git a/src/inet/environment/contract/ChangeLog b/src/inet/environment/contract/ChangeLog index 2cab4cefa23..28099a5cb8d 100644 --- a/src/inet/environment/contract/ChangeLog +++ b/src/inet/environment/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/environment/ground/ChangeLog b/src/inet/environment/ground/ChangeLog index f02cfa130c0..336375da990 100644 --- a/src/inet/environment/ground/ChangeLog +++ b/src/inet/environment/ground/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/environment/objectcache/ChangeLog b/src/inet/environment/objectcache/ChangeLog index 87b2e6f11a6..999b646fa79 100644 --- a/src/inet/environment/objectcache/ChangeLog +++ b/src/inet/environment/objectcache/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/acking/ChangeLog b/src/inet/linklayer/acking/ChangeLog index 9488a145817..593c11d1509 100644 --- a/src/inet/linklayer/acking/ChangeLog +++ b/src/inet/linklayer/acking/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-09-08 Zoltan Bojthe diff --git a/src/inet/linklayer/base/ChangeLog b/src/inet/linklayer/base/ChangeLog index f41838e7a1f..5a7751ba8dd 100644 --- a/src/inet/linklayer/base/ChangeLog +++ b/src/inet/linklayer/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-06 TÖRÖK Attila diff --git a/src/inet/linklayer/bmac/ChangeLog b/src/inet/linklayer/bmac/ChangeLog index f050e778a12..2ba4ec5777f 100644 --- a/src/inet/linklayer/bmac/ChangeLog +++ b/src/inet/linklayer/bmac/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-31 Zoltan Bojthe diff --git a/src/inet/linklayer/common/ChangeLog b/src/inet/linklayer/common/ChangeLog index ec1f5f8f8c6..84bcd4cfe7c 100644 --- a/src/inet/linklayer/common/ChangeLog +++ b/src/inet/linklayer/common/ChangeLog @@ -1,5 +1,15 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-05-07 Levente Meszaros + + QosClassifier: Removed useless @enum(). + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-16 Andras Varga @@ -341,4 +351,4 @@ 2014-01-22 Levente Meszaros Moved classes shared by implementations from contract to common. - Added MACProtocolBase. + Added MACProtocolBase.\n \ No newline at end of file diff --git a/src/inet/linklayer/common/QosClassifier.ned b/src/inet/linklayer/common/QosClassifier.ned index 91b7a99e656..26f4e5fac65 100644 --- a/src/inet/linklayer/common/QosClassifier.ned +++ b/src/inet/linklayer/common/QosClassifier.ned @@ -15,8 +15,8 @@ simple QosClassifier like IIeee8021dQosClassifier { parameters: string ipProtocolUpMap = default("1 BE 58 BE"); - string udpPortUpMap @enum() = default("21 BK 80 BE 4000 VI 5000 VO"); - string tcpPortUpMap @enum() = default("21 BK 80 BE 4000 VI 5000 VO"); + string udpPortUpMap = default("21 BK 80 BE 4000 VI 5000 VO"); + string tcpPortUpMap = default("21 BK 80 BE 4000 VI 5000 VO"); string defaultUp = default("BE"); @display("i=block/classifier"); gates: diff --git a/src/inet/linklayer/configurator/ChangeLog b/src/inet/linklayer/configurator/ChangeLog index 6179d326482..5a7ca2fd512 100644 --- a/src/inet/linklayer/configurator/ChangeLog +++ b/src/inet/linklayer/configurator/ChangeLog @@ -1,5 +1,22 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-09-25 Zoltan Bojthe + + all: follow omnetpp change: cNedValue::OBJECT renamed to POINTER + +2023-04-11 Levente Mészáros + + MacForwardingConfigurator: Fixed #880, the new forwarding rule is added + when there are no rules. + + Also, link weights are reset after using the topology. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ @@ -209,4 +226,4 @@ 2013-10-03 Benjamin Seregi (benmartin92) L2NetworkConfigurator: module added. This module allows to configure - network scenarios at Layer 2. Used by (Rapid) Spanning Tree protocol. + network scenarios at Layer 2. Used by (Rapid) Spanning Tree protocol.\n \ No newline at end of file diff --git a/src/inet/linklayer/configurator/MacForwardingTableConfigurator.cc b/src/inet/linklayer/configurator/MacForwardingTableConfigurator.cc index 4a2f74ca0ec..9df54fe96fc 100644 --- a/src/inet/linklayer/configurator/MacForwardingTableConfigurator.cc +++ b/src/inet/linklayer/configurator/MacForwardingTableConfigurator.cc @@ -67,31 +67,36 @@ void MacForwardingTableConfigurator::computeMacForwardingTables() void MacForwardingTableConfigurator::extendConfiguration(Node *destinationNode, Interface *destinationInterface, MacAddress macAddress) { - for (int j = 0; j < destinationNode->getNumInLinks(); j++) { - auto link = (Link *)destinationNode->getLinkIn(j); + for (int i = 0; i < destinationNode->getNumInLinks(); i++) { + auto link = (Link *)destinationNode->getLinkIn(i); link->setWeight(link->destinationInterface != destinationInterface ? std::numeric_limits::infinity() : 1); } topology->calculateWeightedSingleShortestPathsTo(destinationNode); - for (int j = 0; j < topology->getNumNodes(); j++) { - Node *sourceNode = (Node *)topology->getNode(j); + for (int i = 0; i < topology->getNumNodes(); i++) { + Node *sourceNode = (Node *)topology->getNode(i); if (sourceNode != destinationNode && isBridgeNode(sourceNode) && sourceNode->getNumPaths() != 0) { auto firstLink = (Link *)sourceNode->getPath(0); auto firstInterface = static_cast(firstLink->sourceInterface); auto interfaceName = firstInterface->networkInterface->getInterfaceName(); auto moduleId = sourceNode->module->getSubmodule("macTable")->getId(); auto it = configurations.find(moduleId); + cValueArray *rules = nullptr; if (it == configurations.end()) - configurations[moduleId] = new cValueArray(); - else if (findForwardingRule(it->second, macAddress, interfaceName) != nullptr) - continue; - else { + rules = configurations[moduleId] = new cValueArray(); + else + rules = it->second; + if (findForwardingRule(rules, macAddress, interfaceName) == nullptr) { auto rule = new cValueMap(); rule->set("address", macAddress.str()); rule->set("interface", interfaceName); - it->second->add(rule); + rules->add(rule); } } } + for (int i = 0; i < destinationNode->getNumInLinks(); i++) { + auto link = (Link *)destinationNode->getLinkIn(i); + link->setWeight(1); + } } cValueMap *MacForwardingTableConfigurator::findForwardingRule(cValueArray *configuration, MacAddress macAddress, std::string interfaceName) diff --git a/src/inet/linklayer/configurator/gatescheduling/base/ChangeLog b/src/inet/linklayer/configurator/gatescheduling/base/ChangeLog index 5ea716a2b92..368275b2d04 100644 --- a/src/inet/linklayer/configurator/gatescheduling/base/ChangeLog +++ b/src/inet/linklayer/configurator/gatescheduling/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-10 Levente Mészáros diff --git a/src/inet/linklayer/configurator/gatescheduling/common/ChangeLog b/src/inet/linklayer/configurator/gatescheduling/common/ChangeLog index 423a45408fe..76bc38d1788 100644 --- a/src/inet/linklayer/configurator/gatescheduling/common/ChangeLog +++ b/src/inet/linklayer/configurator/gatescheduling/common/ChangeLog @@ -1,5 +1,15 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-09-25 Zoltan Bojthe + + all: follow omnetpp change: cNedValue::OBJECT renamed to POINTER + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-02-27 Levente Mészáros @@ -28,4 +38,4 @@ 2021-04-21 Levente Mészáros Added AlwaysOpenGateSchedulingConfigurator, SimpleGateSchedulingConfigurator - and TSNschedGateSchedulingConfigurator. + and TSNschedGateSchedulingConfigurator.\n \ No newline at end of file diff --git a/src/inet/linklayer/configurator/gatescheduling/common/TSNschedGateScheduleConfigurator.cc b/src/inet/linklayer/configurator/gatescheduling/common/TSNschedGateScheduleConfigurator.cc index a07d6766ea7..57a53d04b1f 100644 --- a/src/inet/linklayer/configurator/gatescheduling/common/TSNschedGateScheduleConfigurator.cc +++ b/src/inet/linklayer/configurator/gatescheduling/common/TSNschedGateScheduleConfigurator.cc @@ -17,7 +17,11 @@ Define_Module(TSNschedGateScheduleConfigurator); static void printJson(std::ostream& stream, const cValue& value, int level = 0) { std::string indent(level * 2, ' '); +#if OMNETPP_BUILDNUM < 1527 if (value.getType() == cValue::OBJECT) { +#else + if (value.getType() == cNedValue::POINTER && value.containsObject()) { +#endif auto object = value.objectValue(); if (auto array = dynamic_cast(object)) { if (array->size() == 0) diff --git a/src/inet/linklayer/configurator/gatescheduling/contract/ChangeLog b/src/inet/linklayer/configurator/gatescheduling/contract/ChangeLog index 86ea510fcbb..34cb1ff986d 100644 --- a/src/inet/linklayer/configurator/gatescheduling/contract/ChangeLog +++ b/src/inet/linklayer/configurator/gatescheduling/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/configurator/gatescheduling/z3/ChangeLog b/src/inet/linklayer/configurator/gatescheduling/z3/ChangeLog index cceccf79f24..702972a2ed2 100644 --- a/src/inet/linklayer/configurator/gatescheduling/z3/ChangeLog +++ b/src/inet/linklayer/configurator/gatescheduling/z3/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-08 Levente Mészáros diff --git a/src/inet/linklayer/contract/ChangeLog b/src/inet/linklayer/contract/ChangeLog index 97b50278d55..4380b2da60f 100644 --- a/src/inet/linklayer/contract/ChangeLog +++ b/src/inet/linklayer/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-08 Levente Mészáros diff --git a/src/inet/linklayer/csmaca/ChangeLog b/src/inet/linklayer/csmaca/ChangeLog index 8f0432d2f8f..cc39aa3df5b 100644 --- a/src/inet/linklayer/csmaca/ChangeLog +++ b/src/inet/linklayer/csmaca/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-18 Zoltan Bojthe diff --git a/src/inet/linklayer/ethernet/ChangeLog b/src/inet/linklayer/ethernet/ChangeLog index 0cad67df2f5..79bf26a0bbc 100644 --- a/src/inet/linklayer/ethernet/ChangeLog +++ b/src/inet/linklayer/ethernet/ChangeLog @@ -1,5 +1,30 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-04-25 Levente Mészáros + + EthernetFcsInserter: Copy received FCS for cut-through packets. + + The FCS is forwarded as is, see EthernetCutthroughInterface for more + details. + +2023-04-05 Zoltan Bojthe + + EthernetFcsChecker: Skip checking Ethernet FCS for cut-through packets. + + The FCS is forwarded as is without dropping incorrect frames. The first + non cut-through node checks the FCS. See EthernetCutthroughInterface for + more details. + +2023-04-25 Zoltan Bojthe + + PacketDirectionReverser: Copying all fields of CutthroughTag + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-10 Levente Mészáros @@ -1707,4 +1732,4 @@ change to the project root and type $ gitk -- NetworkInterfaces/Ethernet INET/src/networkinterfaces/ethernet \ - INET/src/linklayer/ethernet + INET/src/linklayer/ethernet\n \ No newline at end of file diff --git a/src/inet/linklayer/ethernet/base/ChangeLog b/src/inet/linklayer/ethernet/base/ChangeLog index ac41a51494e..83b5e90db46 100644 --- a/src/inet/linklayer/ethernet/base/ChangeLog +++ b/src/inet/linklayer/ethernet/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-10-06 Zoltan Bojthe diff --git a/src/inet/linklayer/ethernet/basic/ChangeLog b/src/inet/linklayer/ethernet/basic/ChangeLog index 74bdd9766c4..0b656d2db96 100644 --- a/src/inet/linklayer/ethernet/basic/ChangeLog +++ b/src/inet/linklayer/ethernet/basic/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-14 Levente Mészáros diff --git a/src/inet/linklayer/ethernet/common/ChangeLog b/src/inet/linklayer/ethernet/common/ChangeLog index 9d69cad92fa..d7c1a16906c 100644 --- a/src/inet/linklayer/ethernet/common/ChangeLog +++ b/src/inet/linklayer/ethernet/common/ChangeLog @@ -1,9 +1,19 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-04-25 Zoltan Bojthe + + PacketDirectionReverser: Copying all fields of CutthroughTag + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-10 Levente Mészáros - + Removed name != nullptr checks from handleParameterChange. 2023-02-03 Zoltan Bojthe @@ -742,4 +752,4 @@ change to the project root and type $ gitk -- NetworkInterfaces/Ethernet INET/src/networkinterfaces/ethernet \ - INET/src/linklayer/ethernet + INET/src/linklayer/ethernet\n \ No newline at end of file diff --git a/src/inet/linklayer/ethernet/common/PacketDirectionReverser.cc b/src/inet/linklayer/ethernet/common/PacketDirectionReverser.cc index 96e87cae11e..bfc3f2a7cc8 100644 --- a/src/inet/linklayer/ethernet/common/PacketDirectionReverser.cc +++ b/src/inet/linklayer/ethernet/common/PacketDirectionReverser.cc @@ -66,7 +66,9 @@ void PacketDirectionReverser::processPacket(Packet *packet) packet->addTagIfAbsent()->setDirection(DIRECTION_OUTBOUND); } if (cutthroughTag != nullptr) { - packet->addTagIfAbsent()->setCutthroughPosition(cutthroughTag->getCutthroughPosition()); + const auto& cutthroughTagOut = packet->addTag(); + cutthroughTagOut->setCutthroughPosition(cutthroughTag->getCutthroughPosition()); + cutthroughTagOut->setTrailerChunk(cutthroughTag->getTrailerChunk()); } if (eligibilityTimeTag != nullptr) packet->addTag()->setEligibilityTime(eligibilityTimeTag->getEligibilityTime()); diff --git a/src/inet/linklayer/ethernet/contract/ChangeLog b/src/inet/linklayer/ethernet/contract/ChangeLog index 7b7e806e51d..93235aa2eb9 100644 --- a/src/inet/linklayer/ethernet/contract/ChangeLog +++ b/src/inet/linklayer/ethernet/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ethernet/modular/ChangeLog b/src/inet/linklayer/ethernet/modular/ChangeLog index 19e936aa04b..d550434defb 100644 --- a/src/inet/linklayer/ethernet/modular/ChangeLog +++ b/src/inet/linklayer/ethernet/modular/ChangeLog @@ -1,5 +1,26 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-04-25 Levente Mészáros + + EthernetFcsInserter: Copy received FCS for cut-through packets. + + The FCS is forwarded as is, see EthernetCutthroughInterface for more + details. + +2023-04-05 Zoltan Bojthe + + EthernetFcsChecker: Skip checking Ethernet FCS for cut-through packets. + + The FCS is forwarded as is without dropping incorrect frames. The first + non cut-through node checks the FCS. See EthernetCutthroughInterface for + more details. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-02-20 Levente Mészáros @@ -152,4 +173,4 @@ EthernetQueue, EthernetSelectiveQueue, EthernetSocketCommandProcessor, EthernetSocketPacketProcessor, EthernetSocketTable, EthernetStreamingMacLayer, EthernetTypeOrLengthChecker, EthernetTypeOrLengthInserter, IEthernetLayer, - IEthernetMacLayer, LayeredEthernetInterface. + IEthernetMacLayer, LayeredEthernetInterface.\n \ No newline at end of file diff --git a/src/inet/linklayer/ethernet/modular/EthernetFcsChecker.cc b/src/inet/linklayer/ethernet/modular/EthernetFcsChecker.cc index 83bb0340b49..5771810687b 100644 --- a/src/inet/linklayer/ethernet/modular/EthernetFcsChecker.cc +++ b/src/inet/linklayer/ethernet/modular/EthernetFcsChecker.cc @@ -10,6 +10,7 @@ #include "inet/common/ProtocolTag_m.h" #include "inet/linklayer/ethernet/common/Ethernet.h" #include "inet/linklayer/ethernet/common/EthernetMacHeader_m.h" +#include "inet/protocolelement/cutthrough/CutthroughTag_m.h" namespace inet { @@ -38,6 +39,10 @@ bool EthernetFcsChecker::checkFcs(const Packet *packet, FcsMode fcsMode, uint32_ void EthernetFcsChecker::processPacket(Packet *packet) { + if (auto cutthroughTag = packet->findTagForUpdate()) { + const auto& trailer = packet->peekAtBack(ETHER_FCS_BYTES); + cutthroughTag->setTrailerChunk(trailer); + } if (popFcs) { const auto& trailer = packet->popAtBack(ETHER_FCS_BYTES); auto& packetProtocolTag = packet->getTagForUpdate(); @@ -47,6 +52,8 @@ void EthernetFcsChecker::processPacket(Packet *packet) bool EthernetFcsChecker::matchesPacket(const Packet *packet) const { + if (packet->hasTag()) + return true; const auto& trailer = packet->peekAtBack(ETHER_FCS_BYTES); auto fcsMode = trailer->getFcsMode(); auto fcs = trailer->getFcs(); diff --git a/src/inet/linklayer/ethernet/modular/EthernetFcsInserter.cc b/src/inet/linklayer/ethernet/modular/EthernetFcsInserter.cc index 02a1fba9c97..da76e90d51c 100644 --- a/src/inet/linklayer/ethernet/modular/EthernetFcsInserter.cc +++ b/src/inet/linklayer/ethernet/modular/EthernetFcsInserter.cc @@ -9,6 +9,7 @@ #include "inet/common/ProtocolTag_m.h" #include "inet/linklayer/ethernet/common/EthernetMacHeader_m.h" +#include "inet/protocolelement/cutthrough/CutthroughTag_m.h" namespace inet { @@ -30,11 +31,17 @@ uint32_t EthernetFcsInserter::computeFcs(const Packet *packet, FcsMode fcsMode) void EthernetFcsInserter::processPacket(Packet *packet) { - const auto& header = makeShared(); - auto fcs = computeFcs(packet, fcsMode); - header->setFcs(fcs); - header->setFcsMode(fcsMode); - packet->insertAtBack(header); + if (auto cutthroughTag = packet->findTag()) { + auto header = dynamicPtrCast(cutthroughTag->getTrailerChunk()); + packet->insertAtBack(header); + } + else { + const auto& header = makeShared(); + auto fcs = computeFcs(packet, fcsMode); + header->setFcs(fcs); + header->setFcsMode(fcsMode); + packet->insertAtBack(header); + } auto packetProtocolTag = packet->addTagIfAbsent(); packetProtocolTag->setProtocol(&Protocol::ethernetMac); packetProtocolTag->setFrontOffset(b(0)); diff --git a/src/inet/linklayer/ieee802/ChangeLog b/src/inet/linklayer/ieee802/ChangeLog index 06f9db9de06..f2c9132c640 100644 --- a/src/inet/linklayer/ieee802/ChangeLog +++ b/src/inet/linklayer/ieee802/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee80211/ChangeLog b/src/inet/linklayer/ieee80211/ChangeLog index 8920d9a8f9e..c4f1d980f79 100644 --- a/src/inet/linklayer/ieee80211/ChangeLog +++ b/src/inet/linklayer/ieee80211/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee80211/llc/ChangeLog b/src/inet/linklayer/ieee80211/llc/ChangeLog index a4b768a3f61..0f94be4834a 100644 --- a/src/inet/linklayer/ieee80211/llc/ChangeLog +++ b/src/inet/linklayer/ieee80211/llc/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-07 Andras Varga diff --git a/src/inet/linklayer/ieee80211/mac/ChangeLog b/src/inet/linklayer/ieee80211/mac/ChangeLog index b6a47741a62..aa93e6ecae8 100644 --- a/src/inet/linklayer/ieee80211/mac/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-06 Andras Varga diff --git a/src/inet/linklayer/ieee80211/mac/aggregation/ChangeLog b/src/inet/linklayer/ieee80211/mac/aggregation/ChangeLog index 1e6a4939486..186f4a959d5 100644 --- a/src/inet/linklayer/ieee80211/mac/aggregation/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/aggregation/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-07 Andras Varga diff --git a/src/inet/linklayer/ieee80211/mac/blockack/ChangeLog b/src/inet/linklayer/ieee80211/mac/blockack/ChangeLog index 3c492f519c7..cd1b1678e91 100644 --- a/src/inet/linklayer/ieee80211/mac/blockack/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/blockack/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-07 Andras Varga diff --git a/src/inet/linklayer/ieee80211/mac/blockackreordering/ChangeLog b/src/inet/linklayer/ieee80211/mac/blockackreordering/ChangeLog index 4a9116ebaf4..f8d23856aac 100644 --- a/src/inet/linklayer/ieee80211/mac/blockackreordering/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/blockackreordering/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee80211/mac/channelaccess/ChangeLog b/src/inet/linklayer/ieee80211/mac/channelaccess/ChangeLog index 0ba8539f2d3..6238c6acb66 100644 --- a/src/inet/linklayer/ieee80211/mac/channelaccess/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/channelaccess/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-06 Andras Varga diff --git a/src/inet/linklayer/ieee80211/mac/common/ChangeLog b/src/inet/linklayer/ieee80211/mac/common/ChangeLog index 2b9c5911d3c..30fa2eb37a5 100644 --- a/src/inet/linklayer/ieee80211/mac/common/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/common/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee80211/mac/contention/ChangeLog b/src/inet/linklayer/ieee80211/mac/contention/ChangeLog index 97a3f31644f..d875351bba6 100644 --- a/src/inet/linklayer/ieee80211/mac/contention/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/contention/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-06 Andras Varga diff --git a/src/inet/linklayer/ieee80211/mac/contract/ChangeLog b/src/inet/linklayer/ieee80211/mac/contract/ChangeLog index 53599a4b8b5..37a280fc27d 100644 --- a/src/inet/linklayer/ieee80211/mac/contract/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-07 Andras Varga diff --git a/src/inet/linklayer/ieee80211/mac/coordinationfunction/ChangeLog b/src/inet/linklayer/ieee80211/mac/coordinationfunction/ChangeLog index 092d2204484..531ba4a42e8 100644 --- a/src/inet/linklayer/ieee80211/mac/coordinationfunction/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/coordinationfunction/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-06 Andras Varga diff --git a/src/inet/linklayer/ieee80211/mac/duplicateremoval/ChangeLog b/src/inet/linklayer/ieee80211/mac/duplicateremoval/ChangeLog index f1d6a88e194..c1aacc3702c 100644 --- a/src/inet/linklayer/ieee80211/mac/duplicateremoval/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/duplicateremoval/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee80211/mac/fragmentation/ChangeLog b/src/inet/linklayer/ieee80211/mac/fragmentation/ChangeLog index 1c1c81fb236..c23e43fc512 100644 --- a/src/inet/linklayer/ieee80211/mac/fragmentation/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/fragmentation/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-07 Andras Varga diff --git a/src/inet/linklayer/ieee80211/mac/framesequence/ChangeLog b/src/inet/linklayer/ieee80211/mac/framesequence/ChangeLog index 34358361fd1..73041919d58 100644 --- a/src/inet/linklayer/ieee80211/mac/framesequence/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/framesequence/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee80211/mac/lifetime/ChangeLog b/src/inet/linklayer/ieee80211/mac/lifetime/ChangeLog index 39e8b2f632d..559dadd18df 100644 --- a/src/inet/linklayer/ieee80211/mac/lifetime/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/lifetime/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee80211/mac/originator/ChangeLog b/src/inet/linklayer/ieee80211/mac/originator/ChangeLog index 879a58ac71d..e67758584be 100644 --- a/src/inet/linklayer/ieee80211/mac/originator/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/originator/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-07 Andras Varga diff --git a/src/inet/linklayer/ieee80211/mac/protectionmechanism/ChangeLog b/src/inet/linklayer/ieee80211/mac/protectionmechanism/ChangeLog index e8d06293fa0..89df318a482 100644 --- a/src/inet/linklayer/ieee80211/mac/protectionmechanism/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/protectionmechanism/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee80211/mac/queue/ChangeLog b/src/inet/linklayer/ieee80211/mac/queue/ChangeLog index 623e31ec289..e83859998f6 100644 --- a/src/inet/linklayer/ieee80211/mac/queue/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/queue/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee80211/mac/ratecontrol/ChangeLog b/src/inet/linklayer/ieee80211/mac/ratecontrol/ChangeLog index 28e75a65f91..3bd0d1f73d3 100644 --- a/src/inet/linklayer/ieee80211/mac/ratecontrol/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/ratecontrol/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-07 Andras Varga diff --git a/src/inet/linklayer/ieee80211/mac/rateselection/ChangeLog b/src/inet/linklayer/ieee80211/mac/rateselection/ChangeLog index 871979846f5..a99aad6f6a2 100644 --- a/src/inet/linklayer/ieee80211/mac/rateselection/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/rateselection/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-07 Andras Varga diff --git a/src/inet/linklayer/ieee80211/mac/recipient/ChangeLog b/src/inet/linklayer/ieee80211/mac/recipient/ChangeLog index d48a2c2dd5a..5e540f9c9cb 100644 --- a/src/inet/linklayer/ieee80211/mac/recipient/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/recipient/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-07 Andras Varga diff --git a/src/inet/linklayer/ieee80211/mac/sequencenumberassignment/ChangeLog b/src/inet/linklayer/ieee80211/mac/sequencenumberassignment/ChangeLog index 0ea58922f41..7d339c07ba9 100644 --- a/src/inet/linklayer/ieee80211/mac/sequencenumberassignment/ChangeLog +++ b/src/inet/linklayer/ieee80211/mac/sequencenumberassignment/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee80211/mgmt/ChangeLog b/src/inet/linklayer/ieee80211/mgmt/ChangeLog index 80c137f51cd..a1f02fdf2a6 100644 --- a/src/inet/linklayer/ieee80211/mgmt/ChangeLog +++ b/src/inet/linklayer/ieee80211/mgmt/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-02-22 Levente Mészáros diff --git a/src/inet/linklayer/ieee80211/mib/ChangeLog b/src/inet/linklayer/ieee80211/mib/ChangeLog index a13510924f1..da925c3ec07 100644 --- a/src/inet/linklayer/ieee80211/mib/ChangeLog +++ b/src/inet/linklayer/ieee80211/mib/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee80211/portal/ChangeLog b/src/inet/linklayer/ieee80211/portal/ChangeLog index f2c33a79a4e..0e8f09b2c1c 100644 --- a/src/inet/linklayer/ieee80211/portal/ChangeLog +++ b/src/inet/linklayer/ieee80211/portal/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee802154/ChangeLog b/src/inet/linklayer/ieee802154/ChangeLog index 1acc3d514c6..387c58ce35f 100644 --- a/src/inet/linklayer/ieee802154/ChangeLog +++ b/src/inet/linklayer/ieee802154/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-06-16 Zoltan Bojthe diff --git a/src/inet/linklayer/ieee8021ae/ChangeLog b/src/inet/linklayer/ieee8021ae/ChangeLog index 82576a60a57..c6a2aef24ce 100644 --- a/src/inet/linklayer/ieee8021ae/ChangeLog +++ b/src/inet/linklayer/ieee8021ae/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee8021as/ChangeLog b/src/inet/linklayer/ieee8021as/ChangeLog index e375f3ac113..bc3dca9132e 100644 --- a/src/inet/linklayer/ieee8021as/ChangeLog +++ b/src/inet/linklayer/ieee8021as/ChangeLog @@ -1,5 +1,19 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-16 Levente Meszaros + + Gptp: Added missing packetDrop signal and related statistics. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-04-27 Levente Mészáros + + Gptp: Fixed interpolationmode parameter value. + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-13 Levente Mészáros @@ -98,4 +112,4 @@ https://gitlab.amd.e-technik.uni-rostock.de/peter.danielis/gptp-implementation.git src folder content moved to src/inet/linklayer/ieee8021as/ simulations - folder content moved to examples/ieee8021as/ + folder content moved to examples/ieee8021as/\n \ No newline at end of file diff --git a/src/inet/linklayer/ieee8021as/Gptp.ned b/src/inet/linklayer/ieee8021as/Gptp.ned index c0266a289cd..5f79f30cb62 100644 --- a/src/inet/linklayer/ieee8021as/Gptp.ned +++ b/src/inet/linklayer/ieee8021as/Gptp.ned @@ -42,10 +42,12 @@ simple Gptp like IApp @signal[timeDifference](type=simtime_t); @signal[rateRatio](type=double); @signal[peerDelay](type=simtime_t); + @signal[packetDropped](type=inet::Packet); @statistic[localTime](record=vector; interpolationmode=linear); @statistic[timeDifference](record=vector; interpolationmode=linear); - @statistic[rateRatio](record=vector; interpolationmode=samplehold); - @statistic[peerDelay](record=vector; interpolationmode=samplehold); + @statistic[rateRatio](record=vector; interpolationmode=sample-hold); + @statistic[peerDelay](record=vector; interpolationmode=sample-hold); + @statistic[packetDropNotAddressedToUs](title="packet drop: not addressed to us"; source=packetDropReasonIsNotAddressedToUs(packetDropped); record=count,sum(packetBytes),vector(packetBytes); interpolationmode=none); @selfMessageKinds(inet::GptpSelfMsgKind); gates: diff --git a/src/inet/linklayer/ieee8021d/common/ChangeLog b/src/inet/linklayer/ieee8021d/common/ChangeLog index 6d9a025f114..7e6e29cd370 100644 --- a/src/inet/linklayer/ieee8021d/common/ChangeLog +++ b/src/inet/linklayer/ieee8021d/common/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-06-28 Zoltan Bojthe diff --git a/src/inet/linklayer/ieee8021d/relay/ChangeLog b/src/inet/linklayer/ieee8021d/relay/ChangeLog index 0c3cc970110..eb25f246d2d 100644 --- a/src/inet/linklayer/ieee8021d/relay/ChangeLog +++ b/src/inet/linklayer/ieee8021d/relay/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee8021d/rstp/ChangeLog b/src/inet/linklayer/ieee8021d/rstp/ChangeLog index 088c1e141b9..58082330722 100644 --- a/src/inet/linklayer/ieee8021d/rstp/ChangeLog +++ b/src/inet/linklayer/ieee8021d/rstp/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-06-28 Zoltan Bojthe diff --git a/src/inet/linklayer/ieee8021d/stp/ChangeLog b/src/inet/linklayer/ieee8021d/stp/ChangeLog index bd9ada0317f..cf2aa349df2 100644 --- a/src/inet/linklayer/ieee8021d/stp/ChangeLog +++ b/src/inet/linklayer/ieee8021d/stp/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-06-28 Zoltan Bojthe diff --git a/src/inet/linklayer/ieee8021d/tester/ChangeLog b/src/inet/linklayer/ieee8021d/tester/ChangeLog index 20cc56ed3ce..61ccd096d06 100644 --- a/src/inet/linklayer/ieee8021d/tester/ChangeLog +++ b/src/inet/linklayer/ieee8021d/tester/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/ieee8021q/ChangeLog b/src/inet/linklayer/ieee8021q/ChangeLog index e6bf1e9cdbe..a45772d26e2 100644 --- a/src/inet/linklayer/ieee8021q/ChangeLog +++ b/src/inet/linklayer/ieee8021q/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-10 Levente Mészáros diff --git a/src/inet/linklayer/ieee8021r/ChangeLog b/src/inet/linklayer/ieee8021r/ChangeLog index ec69a351315..b04d7c5dc8c 100644 --- a/src/inet/linklayer/ieee8021r/ChangeLog +++ b/src/inet/linklayer/ieee8021r/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-17 Levente Mészáros diff --git a/src/inet/linklayer/ieee8022/ChangeLog b/src/inet/linklayer/ieee8022/ChangeLog index 585114d723b..a1f851adbbe 100644 --- a/src/inet/linklayer/ieee8022/ChangeLog +++ b/src/inet/linklayer/ieee8022/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-07-05 Zoltan Bojthe diff --git a/src/inet/linklayer/lmac/ChangeLog b/src/inet/linklayer/lmac/ChangeLog index 0c248d6870e..30e91539ec0 100644 --- a/src/inet/linklayer/lmac/ChangeLog +++ b/src/inet/linklayer/lmac/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/linklayer/loopback/ChangeLog b/src/inet/linklayer/loopback/ChangeLog index de71108c9d5..a2d7a7fe960 100644 --- a/src/inet/linklayer/loopback/ChangeLog +++ b/src/inet/linklayer/loopback/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-10-06 Andras Varga diff --git a/src/inet/linklayer/ppp/ChangeLog b/src/inet/linklayer/ppp/ChangeLog index d0be33c8b8d..1b1e52506dc 100644 --- a/src/inet/linklayer/ppp/ChangeLog +++ b/src/inet/linklayer/ppp/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-10-06 Andras Varga diff --git a/src/inet/linklayer/shortcut/ChangeLog b/src/inet/linklayer/shortcut/ChangeLog index 9857612bc27..3ffedced098 100644 --- a/src/inet/linklayer/shortcut/ChangeLog +++ b/src/inet/linklayer/shortcut/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-13 Andras Varga diff --git a/src/inet/linklayer/tun/ChangeLog b/src/inet/linklayer/tun/ChangeLog index 974fe8cb7ae..af313ca7e89 100644 --- a/src/inet/linklayer/tun/ChangeLog +++ b/src/inet/linklayer/tun/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-10-06 Andras Varga diff --git a/src/inet/linklayer/virtual/ChangeLog b/src/inet/linklayer/virtual/ChangeLog index b98d1526bb8..f85e52de5cf 100644 --- a/src/inet/linklayer/virtual/ChangeLog +++ b/src/inet/linklayer/virtual/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-01-10 Levente Mészáros diff --git a/src/inet/linklayer/vlan/ChangeLog b/src/inet/linklayer/vlan/ChangeLog index 1f8f09cea32..a0ed3ab54cf 100644 --- a/src/inet/linklayer/vlan/ChangeLog +++ b/src/inet/linklayer/vlan/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-17 Levente Mészáros diff --git a/src/inet/linklayer/xmac/ChangeLog b/src/inet/linklayer/xmac/ChangeLog index 16c42b20082..b130ccfceaa 100644 --- a/src/inet/linklayer/xmac/ChangeLog +++ b/src/inet/linklayer/xmac/ChangeLog @@ -1,5 +1,15 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-22 Levente Meszaros + + XMac: Fixed memory leak found by sanitizer test. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2021-12-06 Zoltan Bojthe @@ -89,4 +99,4 @@ 2017-12-19 Jan Drees - Added X-MAC implementation. + Added X-MAC implementation.\n \ No newline at end of file diff --git a/src/inet/linklayer/xmac/XMac.cc b/src/inet/linklayer/xmac/XMac.cc index 80c202dfd20..d51a520d04a 100644 --- a/src/inet/linklayer/xmac/XMac.cc +++ b/src/inet/linklayer/xmac/XMac.cc @@ -303,6 +303,8 @@ void XMac::handleSelfMessage(cMessage *msg) macState = WAIT_DATA; scheduleAfter(SIMTIME_ZERO, msg); } + else + delete msg; return; } break; diff --git a/src/inet/mobility/base/ChangeLog b/src/inet/mobility/base/ChangeLog index 0fb14cc1018..2c976e879c2 100644 --- a/src/inet/mobility/base/ChangeLog +++ b/src/inet/mobility/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-10 Levente Mészáros diff --git a/src/inet/mobility/contract/ChangeLog b/src/inet/mobility/contract/ChangeLog index 31fd2180483..abf1721f029 100644 --- a/src/inet/mobility/contract/ChangeLog +++ b/src/inet/mobility/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/mobility/group/ChangeLog b/src/inet/mobility/group/ChangeLog index 9e4b8155b8e..b736f3725f2 100644 --- a/src/inet/mobility/group/ChangeLog +++ b/src/inet/mobility/group/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/mobility/single/ChangeLog b/src/inet/mobility/single/ChangeLog index fada9d9f3fd..f8db5621abe 100644 --- a/src/inet/mobility/single/ChangeLog +++ b/src/inet/mobility/single/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-10 Levente Mészáros diff --git a/src/inet/mobility/static/ChangeLog b/src/inet/mobility/static/ChangeLog index da8395a79e8..fab47158861 100644 --- a/src/inet/mobility/static/ChangeLog +++ b/src/inet/mobility/static/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-09-26 Andras Varga diff --git a/src/inet/networklayer/arp/ipv4/ChangeLog b/src/inet/networklayer/arp/ipv4/ChangeLog index 42166f6a690..90aa28396aa 100644 --- a/src/inet/networklayer/arp/ipv4/ChangeLog +++ b/src/inet/networklayer/arp/ipv4/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-02-20 Zoltan Bojthe diff --git a/src/inet/networklayer/base/ChangeLog b/src/inet/networklayer/base/ChangeLog index 3ba09576b36..b31bb9dda37 100644 --- a/src/inet/networklayer/base/ChangeLog +++ b/src/inet/networklayer/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/networklayer/common/ChangeLog b/src/inet/networklayer/common/ChangeLog index ab949cc3321..cf72339e958 100644 --- a/src/inet/networklayer/common/ChangeLog +++ b/src/inet/networklayer/common/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-10 Levente Mészáros diff --git a/src/inet/networklayer/configurator/base/ChangeLog b/src/inet/networklayer/configurator/base/ChangeLog index 9354912cb39..0c642c8d277 100644 --- a/src/inet/networklayer/configurator/base/ChangeLog +++ b/src/inet/networklayer/configurator/base/ChangeLog @@ -1,5 +1,19 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-10-09 Levente Mészáros + + L3NetworkConfiguratorBase: Fixed #913, copied frame creation code from + "errorRate" to "delay" autoroute metric. + + This fix is a temporary kludge but currently there's no other way to make + this work. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-02-22 Levente Mészáros @@ -185,4 +199,4 @@ Moved base classes under the base directory -====== inet-2.x ====== +====== inet-2.x ======\n \ No newline at end of file diff --git a/src/inet/networklayer/configurator/base/L3NetworkConfiguratorBase.cc b/src/inet/networklayer/configurator/base/L3NetworkConfiguratorBase.cc index 5d68f221de5..2511880c470 100644 --- a/src/inet/networklayer/configurator/base/L3NetworkConfiguratorBase.cc +++ b/src/inet/networklayer/configurator/base/L3NetworkConfiguratorBase.cc @@ -383,7 +383,14 @@ double L3NetworkConfiguratorBase::computeWirelessLinkWeight(Link *link, const ch cModule *receiverInterfaceModule = receiverInterfaceInfo->networkInterface; const IRadio *transmitterRadio = check_and_cast(transmitterInterfaceModule->getSubmodule("radio")); const IRadio *receiverRadio = check_and_cast(receiverInterfaceModule->getSubmodule("radio")); - const Packet *macFrame = new Packet(); + Packet *macFrame = new Packet(); + auto byteCountChunk = makeShared(B(transmitterInterfaceInfo->networkInterface->getMtu())); + macFrame->insertAtBack(byteCountChunk); + + // KLUDGE the frame must contain the PHY header to create a transmission + macFrame->addTag()->setProtocol(&Protocol::ackingMac); + check_and_cast(transmitterRadio)->encapsulate(macFrame); + const IRadioMedium *radioMedium = receiverRadio->getMedium(); const ITransmission *transmission = transmitterRadio->getTransmitter()->createTransmission(transmitterRadio, macFrame, simTime()); const IArrival *arrival = radioMedium->getPropagation()->computeArrival(transmission, receiverRadio->getAntenna()->getMobility()); @@ -409,7 +416,7 @@ double L3NetworkConfiguratorBase::computeWirelessLinkWeight(Link *link, const ch auto byteCountChunk = makeShared(B(transmitterInterfaceInfo->networkInterface->getMtu())); transmittedFrame->insertAtBack(byteCountChunk); - // KLUDGE + // KLUDGE the frame must contain the PHY header to create a transmission transmittedFrame->addTag()->setProtocol(&Protocol::ackingMac); check_and_cast(transmitterRadio)->encapsulate(transmittedFrame); diff --git a/src/inet/networklayer/configurator/contract/ChangeLog b/src/inet/networklayer/configurator/contract/ChangeLog index 186c4b4ff52..e7ac99f96c0 100644 --- a/src/inet/networklayer/configurator/contract/ChangeLog +++ b/src/inet/networklayer/configurator/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/networklayer/configurator/ipv4/ChangeLog b/src/inet/networklayer/configurator/ipv4/ChangeLog index 30657e76fcf..0badf0b0971 100644 --- a/src/inet/networklayer/configurator/ipv4/ChangeLog +++ b/src/inet/networklayer/configurator/ipv4/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-02-22 Levente Mészáros diff --git a/src/inet/networklayer/configurator/ipv6/ChangeLog b/src/inet/networklayer/configurator/ipv6/ChangeLog index b8aeb34866e..eda433c6aa4 100644 --- a/src/inet/networklayer/configurator/ipv6/ChangeLog +++ b/src/inet/networklayer/configurator/ipv6/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/networklayer/configurator/nexthop/ChangeLog b/src/inet/networklayer/configurator/nexthop/ChangeLog index 2cca039864c..2ce4115e4dc 100644 --- a/src/inet/networklayer/configurator/nexthop/ChangeLog +++ b/src/inet/networklayer/configurator/nexthop/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/networklayer/contract/ChangeLog b/src/inet/networklayer/contract/ChangeLog index b5f158976ce..599b366d802 100644 --- a/src/inet/networklayer/contract/ChangeLog +++ b/src/inet/networklayer/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-08 Levente Mészáros diff --git a/src/inet/networklayer/contract/clns/ChangeLog b/src/inet/networklayer/contract/clns/ChangeLog index d865be3cd95..204356e2b85 100644 --- a/src/inet/networklayer/contract/clns/ChangeLog +++ b/src/inet/networklayer/contract/clns/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2019-11-08 Zoltan Bojthe diff --git a/src/inet/networklayer/contract/ipv4/ChangeLog b/src/inet/networklayer/contract/ipv4/ChangeLog index dc89b260125..ef4bb670027 100644 --- a/src/inet/networklayer/contract/ipv4/ChangeLog +++ b/src/inet/networklayer/contract/ipv4/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-08 Levente Mészáros diff --git a/src/inet/networklayer/contract/ipv6/ChangeLog b/src/inet/networklayer/contract/ipv6/ChangeLog index 99ebb113ac8..f055cfc1b55 100644 --- a/src/inet/networklayer/contract/ipv6/ChangeLog +++ b/src/inet/networklayer/contract/ipv6/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-10-06 Andras Varga diff --git a/src/inet/networklayer/diffserv/ChangeLog b/src/inet/networklayer/diffserv/ChangeLog index 01a93c2a928..be43e0e7a6e 100644 --- a/src/inet/networklayer/diffserv/ChangeLog +++ b/src/inet/networklayer/diffserv/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-13 Andras Varga diff --git a/src/inet/networklayer/flooding/ChangeLog b/src/inet/networklayer/flooding/ChangeLog index f53046dc5b5..f84eb017cc9 100644 --- a/src/inet/networklayer/flooding/ChangeLog +++ b/src/inet/networklayer/flooding/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-23 Zoltan Bojthe diff --git a/src/inet/networklayer/icmpv6/ChangeLog b/src/inet/networklayer/icmpv6/ChangeLog index c7474d356b1..297ec9f5659 100644 --- a/src/inet/networklayer/icmpv6/ChangeLog +++ b/src/inet/networklayer/icmpv6/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/networklayer/internetcloud/ChangeLog b/src/inet/networklayer/internetcloud/ChangeLog index 9364d221f5e..a108f40d02a 100644 --- a/src/inet/networklayer/internetcloud/ChangeLog +++ b/src/inet/networklayer/internetcloud/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/networklayer/ipv4/ChangeLog b/src/inet/networklayer/ipv4/ChangeLog index 6ab09cb70e0..0e0025d75b9 100644 --- a/src/inet/networklayer/ipv4/ChangeLog +++ b/src/inet/networklayer/ipv4/ChangeLog @@ -1,10 +1,26 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-16 Levente Meszaros + + all: Fixed passing in the buffer pointer introduced by path all: Fixed + 'warning: variable length arrays in C++ are a Clang extension'. + +2024-10-14 Levente Meszaros + + all: Fixed 'warning: variable length arrays in C++ are a Clang + extension'. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-10 Levente Mészáros - Removed name != nullptr checks from handleParameterChange. + Removed name != nullptr checks from handleParameterChange. 2023-03-10 Levente Mészáros @@ -2572,4 +2588,4 @@ If you are interested in the early history of the IPv4 code, change to the project root and type - $ gitk -- Network/IPv4 INET/src/networklayer/ipv4 + $ gitk -- Network/IPv4 INET/src/networklayer/ipv4\n \ No newline at end of file diff --git a/src/inet/networklayer/ipv4/Ipv4HeaderSerializer.cc b/src/inet/networklayer/ipv4/Ipv4HeaderSerializer.cc index 797357d3946..154632fce1c 100644 --- a/src/inet/networklayer/ipv4/Ipv4HeaderSerializer.cc +++ b/src/inet/networklayer/ipv4/Ipv4HeaderSerializer.cc @@ -152,10 +152,10 @@ const Ptr Ipv4HeaderSerializer::deserialize(MemoryInputStream& stream) co { auto position = stream.getPosition(); B bufsize = stream.getRemainingLength(); - uint8_t buffer[B(IPv4_MIN_HEADER_LENGTH).get()]; + uint8_t *buffer = new uint8_t[B(IPv4_MIN_HEADER_LENGTH).get()]; stream.readBytes(buffer, IPv4_MIN_HEADER_LENGTH); auto ipv4Header = makeShared(); - const struct ip& iphdr = *static_cast((void *)&buffer); + const struct ip& iphdr = *static_cast((void *)buffer); B totalLength, headerLength; ipv4Header->setVersion(iphdr.ip_v); @@ -198,7 +198,7 @@ const Ptr Ipv4HeaderSerializer::deserialize(MemoryInputStream& stream) co ipv4Header->setCrc(ntohs(iphdr.ip_sum)); ipv4Header->setCrcMode(CRC_COMPUTED); - + delete [] buffer; return ipv4Header; } diff --git a/src/inet/networklayer/ipv6/ChangeLog b/src/inet/networklayer/ipv6/ChangeLog index 1333e83f3a7..057b164ca8f 100644 --- a/src/inet/networklayer/ipv6/ChangeLog +++ b/src/inet/networklayer/ipv6/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-09-19 Andras Varga diff --git a/src/inet/networklayer/ipv6/headers/ChangeLog b/src/inet/networklayer/ipv6/headers/ChangeLog index 5e83e2ffcca..4d7b13afb16 100644 --- a/src/inet/networklayer/ipv6/headers/ChangeLog +++ b/src/inet/networklayer/ipv6/headers/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/networklayer/ipv6tunneling/ChangeLog b/src/inet/networklayer/ipv6tunneling/ChangeLog index 8f849c5d96c..d5cbd14eec9 100644 --- a/src/inet/networklayer/ipv6tunneling/ChangeLog +++ b/src/inet/networklayer/ipv6tunneling/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-13 Zoltan Bojthe diff --git a/src/inet/networklayer/ldp/ChangeLog b/src/inet/networklayer/ldp/ChangeLog index 3c139c859ea..aafa74ec48a 100644 --- a/src/inet/networklayer/ldp/ChangeLog +++ b/src/inet/networklayer/ldp/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/networklayer/mpls/ChangeLog b/src/inet/networklayer/mpls/ChangeLog index 9326a39fecc..e5d2c321fcd 100644 --- a/src/inet/networklayer/mpls/ChangeLog +++ b/src/inet/networklayer/mpls/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-18 Zoltan Bojthe diff --git a/src/inet/networklayer/nexthop/ChangeLog b/src/inet/networklayer/nexthop/ChangeLog index 2d89437add9..798a4b686ff 100644 --- a/src/inet/networklayer/nexthop/ChangeLog +++ b/src/inet/networklayer/nexthop/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/networklayer/probabilistic/ChangeLog b/src/inet/networklayer/probabilistic/ChangeLog index dbb7871e3ad..e8e60468170 100644 --- a/src/inet/networklayer/probabilistic/ChangeLog +++ b/src/inet/networklayer/probabilistic/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-16 Andras Varga diff --git a/src/inet/networklayer/rsvpte/ChangeLog b/src/inet/networklayer/rsvpte/ChangeLog index 63721b8e10f..106b93841a9 100644 --- a/src/inet/networklayer/rsvpte/ChangeLog +++ b/src/inet/networklayer/rsvpte/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/networklayer/ted/ChangeLog b/src/inet/networklayer/ted/ChangeLog index f2ec21542d8..cb88041fd7c 100644 --- a/src/inet/networklayer/ted/ChangeLog +++ b/src/inet/networklayer/ted/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/networklayer/wiseroute/ChangeLog b/src/inet/networklayer/wiseroute/ChangeLog index 12373167d35..2c1f4da7e7f 100644 --- a/src/inet/networklayer/wiseroute/ChangeLog +++ b/src/inet/networklayer/wiseroute/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-11-07 Zoltan Bojthe diff --git a/src/inet/networklayer/xmipv6/ChangeLog b/src/inet/networklayer/xmipv6/ChangeLog index 15faa9fb750..815bd836331 100644 --- a/src/inet/networklayer/xmipv6/ChangeLog +++ b/src/inet/networklayer/xmipv6/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/networks/base/ChangeLog b/src/inet/networks/base/ChangeLog index eaad4ff0b0f..4e761c89127 100644 --- a/src/inet/networks/base/ChangeLog +++ b/src/inet/networks/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-14 Levente Mészáros diff --git a/src/inet/networks/ethernet/ChangeLog b/src/inet/networks/ethernet/ChangeLog index 2f55931dbde..4cafcf5b9d1 100644 --- a/src/inet/networks/ethernet/ChangeLog +++ b/src/inet/networks/ethernet/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/networks/tsn/ChangeLog b/src/inet/networks/tsn/ChangeLog index 434b5b3b2f3..7f5ddebc0b1 100644 --- a/src/inet/networks/tsn/ChangeLog +++ b/src/inet/networks/tsn/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/aodv/ChangeLog b/src/inet/node/aodv/ChangeLog index a3cb523fa49..a6306e61fb1 100644 --- a/src/inet/node/aodv/ChangeLog +++ b/src/inet/node/aodv/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/base/ChangeLog b/src/inet/node/base/ChangeLog index 34a27ee513e..298d48c8e73 100644 --- a/src/inet/node/base/ChangeLog +++ b/src/inet/node/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/bgp/ChangeLog b/src/inet/node/bgp/ChangeLog index 78192542c3d..75f55187fa8 100644 --- a/src/inet/node/bgp/ChangeLog +++ b/src/inet/node/bgp/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/contract/ChangeLog b/src/inet/node/contract/ChangeLog index 611b6378b74..06e59b05c97 100644 --- a/src/inet/node/contract/ChangeLog +++ b/src/inet/node/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/dsdv/ChangeLog b/src/inet/node/dsdv/ChangeLog index 2da74d03d21..7db0105a844 100644 --- a/src/inet/node/dsdv/ChangeLog +++ b/src/inet/node/dsdv/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2018-01-03 Levente Mészáros diff --git a/src/inet/node/dymo/ChangeLog b/src/inet/node/dymo/ChangeLog index d3d30810f86..fa036fa4a80 100644 --- a/src/inet/node/dymo/ChangeLog +++ b/src/inet/node/dymo/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/eigrp/ChangeLog b/src/inet/node/eigrp/ChangeLog index 34369ba180c..a1b595238be 100644 --- a/src/inet/node/eigrp/ChangeLog +++ b/src/inet/node/eigrp/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2020-10-20 Jan Zavřel diff --git a/src/inet/node/ethernet/ChangeLog b/src/inet/node/ethernet/ChangeLog index 37dd23a5343..efb85ddf317 100644 --- a/src/inet/node/ethernet/ChangeLog +++ b/src/inet/node/ethernet/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-02-02 Levente Mészáros diff --git a/src/inet/node/gpsr/ChangeLog b/src/inet/node/gpsr/ChangeLog index 252086268a8..e71a6a444f2 100644 --- a/src/inet/node/gpsr/ChangeLog +++ b/src/inet/node/gpsr/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/inet/ChangeLog b/src/inet/node/inet/ChangeLog index f2598b0b118..6358b6469d0 100644 --- a/src/inet/node/inet/ChangeLog +++ b/src/inet/node/inet/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/internetcloud/ChangeLog b/src/inet/node/internetcloud/ChangeLog index 49f29404fef..39fde0a16bc 100644 --- a/src/inet/node/internetcloud/ChangeLog +++ b/src/inet/node/internetcloud/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/ipv6/ChangeLog b/src/inet/node/ipv6/ChangeLog index c3a6652e01a..43f585d5691 100644 --- a/src/inet/node/ipv6/ChangeLog +++ b/src/inet/node/ipv6/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/mpls/ChangeLog b/src/inet/node/mpls/ChangeLog index ea127b20d07..300cfb36d0d 100644 --- a/src/inet/node/mpls/ChangeLog +++ b/src/inet/node/mpls/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/ospfv2/ChangeLog b/src/inet/node/ospfv2/ChangeLog index c04d6bbff04..639dce5a814 100644 --- a/src/inet/node/ospfv2/ChangeLog +++ b/src/inet/node/ospfv2/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/ospfv3/ChangeLog b/src/inet/node/ospfv3/ChangeLog index 2180e0a6a92..9b255b0ed31 100644 --- a/src/inet/node/ospfv3/ChangeLog +++ b/src/inet/node/ospfv3/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2019-09-26 Zoltan Bojthe diff --git a/src/inet/node/rip/ChangeLog b/src/inet/node/rip/ChangeLog index bde927712e0..bdee78074f5 100644 --- a/src/inet/node/rip/ChangeLog +++ b/src/inet/node/rip/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/rtp/ChangeLog b/src/inet/node/rtp/ChangeLog index 06de7670309..c21b6fd7c81 100644 --- a/src/inet/node/rtp/ChangeLog +++ b/src/inet/node/rtp/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/tsn/ChangeLog b/src/inet/node/tsn/ChangeLog index f9ac88aae34..1bbcd254a67 100644 --- a/src/inet/node/tsn/ChangeLog +++ b/src/inet/node/tsn/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-05 Levente Mészáros diff --git a/src/inet/node/wireless/ChangeLog b/src/inet/node/wireless/ChangeLog index 612842b2009..5876012b4b2 100644 --- a/src/inet/node/wireless/ChangeLog +++ b/src/inet/node/wireless/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/node/xmipv6/ChangeLog b/src/inet/node/xmipv6/ChangeLog index 196a871fbca..3cf65c94fa3 100644 --- a/src/inet/node/xmipv6/ChangeLog +++ b/src/inet/node/xmipv6/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/physicallayer/ChangeLog b/src/inet/physicallayer/ChangeLog index 6d754139c77..0557c33784c 100644 --- a/src/inet/physicallayer/ChangeLog +++ b/src/inet/physicallayer/ChangeLog @@ -1,5 +1,45 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-22 Levente Meszaros + + physicallayer: Fixed ApskSymbol and Ieee80211OfdmSymbol related memory + leaks detected by sanitizer tests. + +2024-10-18 Levente Meszaros + + 802.11: Fixed various memory leaks detected by sanitizer tests. + +2024-10-14 Levente Meszaros + + SnirReceiverBase: Fixed printing enum value. + +2023-11-27 Levente Mészáros + + WireJunction: Added @wireJunction property for the Sequence Chart tool. + + This allows to recognize the top level wire junction modules and open + their axes when the network node level filter is selected. Otherwise + these modules are not open (because they are not full network nodes) and + this prevents packet transmissions to be seen. + +2024-05-14 Levente Meszaros + + NeighborListNeighborCache: Fixed #974 bug. + +2024-08-07 Rudolf Hornig + + prod: version bump to 4.5.2, updated WHATSNEW and ChangeLogs + +2024-03-11 Rudolf Hornig + + pathloss: fix#956 - Rayleigh pathloss computation was incorrect + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ @@ -12,4 +52,4 @@ common, wired, and wireless physicallayer features. The old directory structure prevented having separate features for the - above plus all implemented wired and wireless technologies. + above plus all implemented wired and wireless technologies.\n \ No newline at end of file diff --git a/src/inet/physicallayer/common/ChangeLog b/src/inet/physicallayer/common/ChangeLog index b62403adf76..a1cd735e2d0 100644 --- a/src/inet/physicallayer/common/ChangeLog +++ b/src/inet/physicallayer/common/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-20 Andras Varga diff --git a/src/inet/physicallayer/wired/common/ChangeLog b/src/inet/physicallayer/wired/common/ChangeLog index f87dea0e095..93e15c2b627 100644 --- a/src/inet/physicallayer/wired/common/ChangeLog +++ b/src/inet/physicallayer/wired/common/ChangeLog @@ -1,5 +1,20 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-11-27 Levente Mészáros + + WireJunction: Added @wireJunction property for the Sequence Chart tool. + + This allows to recognize the top level wire junction modules and open + their axes when the network node level filter is selected. Otherwise + these modules are not open (because they are not full network nodes) and + this prevents packet transmissions to be seen. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ @@ -16,4 +31,4 @@ 2020-11-21 Zoltan Bojthe - Added new modules: WireJunction. + Added new modules: WireJunction.\n \ No newline at end of file diff --git a/src/inet/physicallayer/wired/common/WireJunction.ned b/src/inet/physicallayer/wired/common/WireJunction.ned index b2bf1c834cb..c8d874e9d4a 100644 --- a/src/inet/physicallayer/wired/common/WireJunction.ned +++ b/src/inet/physicallayer/wired/common/WireJunction.ned @@ -24,6 +24,7 @@ package inet.physicallayer.wired.common; simple WireJunction { parameters: + @wireJunction; @display("i=misc/node_vs"); @signal[packetReceived](type=cPacket); @statistic[packetReceived](title="packets"; source=packetReceived; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none); diff --git a/src/inet/physicallayer/wired/ethernet/ChangeLog b/src/inet/physicallayer/wired/ethernet/ChangeLog index bd2c75e22b5..be8c4200e00 100644 --- a/src/inet/physicallayer/wired/ethernet/ChangeLog +++ b/src/inet/physicallayer/wired/ethernet/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-08 Levente Mészáros diff --git a/src/inet/physicallayer/wireless/apsk/bitlevel/ApskModulator.cc b/src/inet/physicallayer/wireless/apsk/bitlevel/ApskModulator.cc index 52fcd608261..e2212a7667e 100644 --- a/src/inet/physicallayer/wireless/apsk/bitlevel/ApskModulator.cc +++ b/src/inet/physicallayer/wireless/apsk/bitlevel/ApskModulator.cc @@ -48,7 +48,7 @@ const ITransmissionSymbolModel *ApskModulator::modulate(const ITransmissionBitMo for (unsigned int i = 0; i < bits->getSize(); i++) { symbolBits.setBit(i % codeWordSize, bits->getBit(i)); if (i % codeWordSize == codeWordSize - 1) - symbols->push_back(modulation->mapToConstellationDiagram(symbolBits)); + symbols->push_back(new ApskSymbol(*modulation->mapToConstellationDiagram(symbolBits))); } // TODO: double symbolRate = bitModel->getBitrate() / modulation->getCodeWordSize(); return new TransmissionSymbolModel(symbols->size(), NaN, symbols->size(), NaN, symbols, modulation, modulation); diff --git a/src/inet/physicallayer/wireless/apsk/bitlevel/ChangeLog b/src/inet/physicallayer/wireless/apsk/bitlevel/ChangeLog index 6c4cfbeee3f..85106f22813 100644 --- a/src/inet/physicallayer/wireless/apsk/bitlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/apsk/bitlevel/ChangeLog @@ -1,5 +1,16 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-22 Levente Meszaros + + physicallayer: Fixed ApskSymbol and Ieee80211OfdmSymbol related memory + leaks detected by sanitizer tests. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-23 Levente Mészáros @@ -282,4 +293,4 @@ APSKLayeredTransmitter, APSKLayeredReceiver, APSKSerializer, APSKSymbol -====== inet-2.x ====== +====== inet-2.x ======\n \ No newline at end of file diff --git a/src/inet/physicallayer/wireless/apsk/bitlevel/errormodel/ChangeLog b/src/inet/physicallayer/wireless/apsk/bitlevel/errormodel/ChangeLog index 77f22a8d2d3..367ec738142 100644 --- a/src/inet/physicallayer/wireless/apsk/bitlevel/errormodel/ChangeLog +++ b/src/inet/physicallayer/wireless/apsk/bitlevel/errormodel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/physicallayer/wireless/apsk/packetlevel/ChangeLog b/src/inet/physicallayer/wireless/apsk/packetlevel/ChangeLog index e745f75ff31..1b4b81a6404 100644 --- a/src/inet/physicallayer/wireless/apsk/packetlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/apsk/packetlevel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-23 Levente Mészáros diff --git a/src/inet/physicallayer/wireless/apsk/packetlevel/errormodel/ChangeLog b/src/inet/physicallayer/wireless/apsk/packetlevel/errormodel/ChangeLog index 8fc72cba0b3..a7e812c6ae1 100644 --- a/src/inet/physicallayer/wireless/apsk/packetlevel/errormodel/ChangeLog +++ b/src/inet/physicallayer/wireless/apsk/packetlevel/errormodel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/physicallayer/wireless/common/analogmodel/bitlevel/ChangeLog b/src/inet/physicallayer/wireless/common/analogmodel/bitlevel/ChangeLog index 2c0bafdff08..3c96f4abd44 100644 --- a/src/inet/physicallayer/wireless/common/analogmodel/bitlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/common/analogmodel/bitlevel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-23 Levente Mészáros diff --git a/src/inet/physicallayer/wireless/common/analogmodel/packetlevel/ChangeLog b/src/inet/physicallayer/wireless/common/analogmodel/packetlevel/ChangeLog index c66b00ba31e..37ded89ab45 100644 --- a/src/inet/physicallayer/wireless/common/analogmodel/packetlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/common/analogmodel/packetlevel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-23 Levente Mészáros diff --git a/src/inet/physicallayer/wireless/common/antenna/ChangeLog b/src/inet/physicallayer/wireless/common/antenna/ChangeLog index a52c1cba566..7d9d3e0cd64 100644 --- a/src/inet/physicallayer/wireless/common/antenna/ChangeLog +++ b/src/inet/physicallayer/wireless/common/antenna/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/physicallayer/wireless/common/backgroundnoise/ChangeLog b/src/inet/physicallayer/wireless/common/backgroundnoise/ChangeLog index 3d539405795..7bef22f36fa 100644 --- a/src/inet/physicallayer/wireless/common/backgroundnoise/ChangeLog +++ b/src/inet/physicallayer/wireless/common/backgroundnoise/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/physicallayer/wireless/common/base/bitlevel/ChangeLog b/src/inet/physicallayer/wireless/common/base/bitlevel/ChangeLog index 265ae62d419..be4842c6422 100644 --- a/src/inet/physicallayer/wireless/common/base/bitlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/common/base/bitlevel/ChangeLog @@ -1,5 +1,16 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-22 Levente Meszaros + + physicallayer: Fixed ApskSymbol and Ieee80211OfdmSymbol related memory + leaks detected by sanitizer tests. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-26 TÖRÖK Attila @@ -131,4 +142,4 @@ 2014-11-07 ------ inet-2.99.0 released ------ -====== inet-2.x ====== +====== inet-2.x ======\n \ No newline at end of file diff --git a/src/inet/physicallayer/wireless/common/base/bitlevel/LayeredErrorModelBase.cc b/src/inet/physicallayer/wireless/common/base/bitlevel/LayeredErrorModelBase.cc index 346fbcb146d..4e32aed143a 100644 --- a/src/inet/physicallayer/wireless/common/base/bitlevel/LayeredErrorModelBase.cc +++ b/src/inet/physicallayer/wireless/common/base/bitlevel/LayeredErrorModelBase.cc @@ -62,13 +62,13 @@ const IReceptionSymbolModel *LayeredErrorModelBase::computeSymbolModel(const Lay auto transmittedSymbol = check_and_cast(transmittedSymbols->at(i)); bool isCorruptSymbol = symbolErrorRate == 1 || (symbolErrorRate != 0 && uniform(0, 1) < symbolErrorRate); auto receivedSymbol = isCorruptSymbol ? computeCorruptSymbol(modulation, transmittedSymbol) : transmittedSymbol; - receivedSymbols->at(i) = receivedSymbol; + receivedSymbols->at(i) = new ApskSymbol(*receivedSymbol); } return new ReceptionSymbolModel(transmissionSymbolModel->getHeaderSymbolLength(), transmissionSymbolModel->getHeaderSymbolRate(), transmissionSymbolModel->getDataSymbolLength(), transmissionSymbolModel->getDataSymbolRate(), receivedSymbols, symbolErrorRate); } } -const ISymbol *LayeredErrorModelBase::computeCorruptSymbol(const ApskModulationBase *modulation, const ApskSymbol *transmittedSymbol) const +const ApskSymbol *LayeredErrorModelBase::computeCorruptSymbol(const ApskModulationBase *modulation, const ApskSymbol *transmittedSymbol) const { auto constellation = modulation->getConstellation(); if (!strcmp("uniform", symbolCorruptionMode)) { diff --git a/src/inet/physicallayer/wireless/common/base/bitlevel/LayeredErrorModelBase.h b/src/inet/physicallayer/wireless/common/base/bitlevel/LayeredErrorModelBase.h index b777fda3aa6..b51615f0129 100644 --- a/src/inet/physicallayer/wireless/common/base/bitlevel/LayeredErrorModelBase.h +++ b/src/inet/physicallayer/wireless/common/base/bitlevel/LayeredErrorModelBase.h @@ -28,7 +28,7 @@ class INET_API LayeredErrorModelBase : public cModule, public ILayeredErrorModel virtual const IReceptionBitModel *computeBitModel(const LayeredTransmission *transmission, double bitErrorRate) const; virtual const IReceptionSymbolModel *computeSymbolModel(const LayeredTransmission *transmission, double symbolErrorRate) const; - virtual const ISymbol *computeCorruptSymbol(const ApskModulationBase *modulation, const ApskSymbol *transmittedSymbol) const; + virtual const ApskSymbol *computeCorruptSymbol(const ApskModulationBase *modulation, const ApskSymbol *transmittedSymbol) const; }; } // namespace physicallayer diff --git a/src/inet/physicallayer/wireless/common/base/packetlevel/ChangeLog b/src/inet/physicallayer/wireless/common/base/packetlevel/ChangeLog index 4575466437c..4c8a46bc8ff 100644 --- a/src/inet/physicallayer/wireless/common/base/packetlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/common/base/packetlevel/ChangeLog @@ -1,5 +1,15 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-14 Levente Meszaros + + SnirReceiverBase: Fixed printing enum value. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-25 TÖRÖK Attila @@ -484,4 +494,4 @@ PropagationBase, ReceiverBase, ReceptionBase, SNIRBase, SNIRReceiverBase, TransmissionBase, TransmitterBase -====== inet-2.x ====== +====== inet-2.x ======\n \ No newline at end of file diff --git a/src/inet/physicallayer/wireless/common/base/packetlevel/SnirReceiverBase.cc b/src/inet/physicallayer/wireless/common/base/packetlevel/SnirReceiverBase.cc index 43b58b9fedc..e7f0bfcc01c 100644 --- a/src/inet/physicallayer/wireless/common/base/packetlevel/SnirReceiverBase.cc +++ b/src/inet/physicallayer/wireless/common/base/packetlevel/SnirReceiverBase.cc @@ -49,7 +49,7 @@ bool SnirReceiverBase::computeIsReceptionSuccessful(const IListening *listening, return meanSnir > snirThreshold; } else - throw cRuntimeError("Unknown SNIR threshold mode: '%d'", snirThresholdMode); + throw cRuntimeError("Unknown SNIR threshold mode: '%d'", static_cast(snirThresholdMode)); } } // namespace physicallayer diff --git a/src/inet/physicallayer/wireless/common/communicationcache/ChangeLog b/src/inet/physicallayer/wireless/common/communicationcache/ChangeLog index aa2b4cf240b..56c5d9421cf 100644 --- a/src/inet/physicallayer/wireless/common/communicationcache/ChangeLog +++ b/src/inet/physicallayer/wireless/common/communicationcache/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/physicallayer/wireless/common/contract/bitlevel/ChangeLog b/src/inet/physicallayer/wireless/common/contract/bitlevel/ChangeLog index 6222f9bf395..c0c218ffd32 100644 --- a/src/inet/physicallayer/wireless/common/contract/bitlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/common/contract/bitlevel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-23 Levente Mészáros diff --git a/src/inet/physicallayer/wireless/common/contract/packetlevel/ChangeLog b/src/inet/physicallayer/wireless/common/contract/packetlevel/ChangeLog index 0ca958cc51d..4d6fcb5c8fa 100644 --- a/src/inet/physicallayer/wireless/common/contract/packetlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/common/contract/packetlevel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-23 Levente Mészáros diff --git a/src/inet/physicallayer/wireless/common/energyconsumer/ChangeLog b/src/inet/physicallayer/wireless/common/energyconsumer/ChangeLog index d02fdea82b5..bcf8e487421 100644 --- a/src/inet/physicallayer/wireless/common/energyconsumer/ChangeLog +++ b/src/inet/physicallayer/wireless/common/energyconsumer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-14 Levente Mészáros diff --git a/src/inet/physicallayer/wireless/common/errormodel/bitlevel/ChangeLog b/src/inet/physicallayer/wireless/common/errormodel/bitlevel/ChangeLog index f70f593f33f..fca93b469b2 100644 --- a/src/inet/physicallayer/wireless/common/errormodel/bitlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/common/errormodel/bitlevel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-23 Levente Mészáros diff --git a/src/inet/physicallayer/wireless/common/errormodel/packetlevel/ChangeLog b/src/inet/physicallayer/wireless/common/errormodel/packetlevel/ChangeLog index 0119d8909d4..40ce39cd903 100644 --- a/src/inet/physicallayer/wireless/common/errormodel/packetlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/common/errormodel/packetlevel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/physicallayer/wireless/common/medium/ChangeLog b/src/inet/physicallayer/wireless/common/medium/ChangeLog index 57f2d628d36..cec088affa4 100644 --- a/src/inet/physicallayer/wireless/common/medium/ChangeLog +++ b/src/inet/physicallayer/wireless/common/medium/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-23 Levente Mészáros diff --git a/src/inet/physicallayer/wireless/common/modulation/ChangeLog b/src/inet/physicallayer/wireless/common/modulation/ChangeLog index 15206f7098d..02ebd3ba019 100644 --- a/src/inet/physicallayer/wireless/common/modulation/ChangeLog +++ b/src/inet/physicallayer/wireless/common/modulation/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/physicallayer/wireless/common/neighborcache/ChangeLog b/src/inet/physicallayer/wireless/common/neighborcache/ChangeLog index d8f5b0cefbe..7fab58619a3 100644 --- a/src/inet/physicallayer/wireless/common/neighborcache/ChangeLog +++ b/src/inet/physicallayer/wireless/common/neighborcache/ChangeLog @@ -1,5 +1,15 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-05-14 Levente Meszaros + + NeighborListNeighborCache: Fixed #974 bug. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ @@ -102,4 +112,4 @@ Added initial implementation: GridNeighborCache, NeighborListNeighborCache, QuadTreeNeighborCache -====== inet-2.x ====== +====== inet-2.x ======\n \ No newline at end of file diff --git a/src/inet/physicallayer/wireless/common/neighborcache/NeighborListNeighborCache.cc b/src/inet/physicallayer/wireless/common/neighborcache/NeighborListNeighborCache.cc index 93e4aff2825..f3254a229d1 100644 --- a/src/inet/physicallayer/wireless/common/neighborcache/NeighborListNeighborCache.cc +++ b/src/inet/physicallayer/wireless/common/neighborcache/NeighborListNeighborCache.cc @@ -127,7 +127,7 @@ void NeighborListNeighborCache::updateNeighborLists() void NeighborListNeighborCache::removeRadioFromNeighborLists(const IRadio *radio) { for (auto& elem : radios) { - Radios neighborVector = elem->neighborVector; + Radios& neighborVector = elem->neighborVector; auto it = find(neighborVector, radio); if (it != neighborVector.end()) neighborVector.erase(it); diff --git a/src/inet/physicallayer/wireless/common/obstacleloss/ChangeLog b/src/inet/physicallayer/wireless/common/obstacleloss/ChangeLog index 62ab0f4c9b7..47560cbe1fe 100644 --- a/src/inet/physicallayer/wireless/common/obstacleloss/ChangeLog +++ b/src/inet/physicallayer/wireless/common/obstacleloss/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-09-30 Levente Mészáros diff --git a/src/inet/physicallayer/wireless/common/pathloss/ChangeLog b/src/inet/physicallayer/wireless/common/pathloss/ChangeLog index df7d609ecef..2daf91e297e 100644 --- a/src/inet/physicallayer/wireless/common/pathloss/ChangeLog +++ b/src/inet/physicallayer/wireless/common/pathloss/ChangeLog @@ -1,5 +1,15 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-03-11 Rudolf Hornig + + pathloss: fix#956 - Rayleigh pathloss computation was incorrect + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ @@ -154,4 +164,4 @@ RayleighFading, RicianFading, SUIPathLoss, TwoRayGroundReflection, UWBIRStochasticPathLoss -====== inet-2.x ====== +====== inet-2.x ======\n \ No newline at end of file diff --git a/src/inet/physicallayer/wireless/common/pathloss/RayleighFading.cc b/src/inet/physicallayer/wireless/common/pathloss/RayleighFading.cc index 4b0d98b07e4..c4bccdf77d7 100644 --- a/src/inet/physicallayer/wireless/common/pathloss/RayleighFading.cc +++ b/src/inet/physicallayer/wireless/common/pathloss/RayleighFading.cc @@ -35,7 +35,7 @@ double RayleighFading::computePathLoss(mps propagationSpeed, Hz frequency, m dis double freeSpacePathLoss = computeFreeSpacePathLoss(waveLength, distance, alpha, systemLoss); double x = normal(0, 1); double y = normal(0, 1); - return freeSpacePathLoss * 0.5 * (x * x + y * y); + return freeSpacePathLoss * sqrt(x * x + y * y); } } // namespace physicallayer diff --git a/src/inet/physicallayer/wireless/common/propagation/ChangeLog b/src/inet/physicallayer/wireless/common/propagation/ChangeLog index 75da8459857..e499af0e319 100644 --- a/src/inet/physicallayer/wireless/common/propagation/ChangeLog +++ b/src/inet/physicallayer/wireless/common/propagation/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/physicallayer/wireless/common/radio/bitlevel/ChangeLog b/src/inet/physicallayer/wireless/common/radio/bitlevel/ChangeLog index 40c715869e7..5fedf29c87f 100644 --- a/src/inet/physicallayer/wireless/common/radio/bitlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/common/radio/bitlevel/ChangeLog @@ -1,5 +1,16 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-22 Levente Meszaros + + physicallayer: Fixed ApskSymbol and Ieee80211OfdmSymbol related memory + leaks detected by sanitizer tests. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-25 TÖRÖK Attila @@ -183,4 +194,4 @@ 2014-11-07 ------ inet-2.99.0 released ------ -====== inet-2.x ====== +====== inet-2.x ======\n \ No newline at end of file diff --git a/src/inet/physicallayer/wireless/common/radio/bitlevel/SignalSymbolModel.cc b/src/inet/physicallayer/wireless/common/radio/bitlevel/SignalSymbolModel.cc index fdf46d01232..af9ed084a8c 100644 --- a/src/inet/physicallayer/wireless/common/radio/bitlevel/SignalSymbolModel.cc +++ b/src/inet/physicallayer/wireless/common/radio/bitlevel/SignalSymbolModel.cc @@ -21,7 +21,11 @@ SignalSymbolModel::SignalSymbolModel(int headerSymbolLength, double headerSymbol SignalSymbolModel::~SignalSymbolModel() { - delete symbols; + if (symbols) { + for (auto symbol : *symbols) + delete symbol; + delete symbols; + } } std::ostream& SignalSymbolModel::printToStream(std::ostream& stream, int level, int evFlags) const diff --git a/src/inet/physicallayer/wireless/common/radio/packetlevel/ChangeLog b/src/inet/physicallayer/wireless/common/radio/packetlevel/ChangeLog index 0a711b1f12a..b2032655194 100644 --- a/src/inet/physicallayer/wireless/common/radio/packetlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/common/radio/packetlevel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-06-13 Zoltan Bojthe diff --git a/src/inet/physicallayer/wireless/common/signal/ChangeLog b/src/inet/physicallayer/wireless/common/signal/ChangeLog index 6286ad346aa..691d1da7bdd 100644 --- a/src/inet/physicallayer/wireless/common/signal/ChangeLog +++ b/src/inet/physicallayer/wireless/common/signal/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/physicallayer/wireless/ieee80211/bitlevel/ChangeLog b/src/inet/physicallayer/wireless/ieee80211/bitlevel/ChangeLog index e8fb1ecb0a4..ff9fdbfaf01 100644 --- a/src/inet/physicallayer/wireless/ieee80211/bitlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/ieee80211/bitlevel/ChangeLog @@ -1,5 +1,16 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-22 Levente Meszaros + + physicallayer: Fixed ApskSymbol and Ieee80211OfdmSymbol related memory + leaks detected by sanitizer tests. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-25 TÖRÖK Attila @@ -348,4 +359,4 @@ 2014-11-07 ------ inet-2.99.0 released ------ -====== inet-2.x ====== +====== inet-2.x ======\n \ No newline at end of file diff --git a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211LayeredOfdmReceiver.cc b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211LayeredOfdmReceiver.cc index 50243341cfc..ea2c61e5d04 100644 --- a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211LayeredOfdmReceiver.cc +++ b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211LayeredOfdmReceiver.cc @@ -321,7 +321,9 @@ const IReceptionSymbolModel *Ieee80211LayeredOfdmReceiver::createCompleteSymbolM { if (levelOfDetail >= SYMBOL_DOMAIN) { const std::vector *symbols = signalFieldSymbolModel->getAllSymbols(); - std::vector *completeSymbols = new std::vector(*symbols); + std::vector *completeSymbols = new std::vector(); + for (auto symbol : *symbols) + completeSymbols->push_back(new Ieee80211OfdmSymbol(*static_cast(symbol))); if (dataFieldSymbolModel != nullptr) { symbols = dataFieldSymbolModel->getAllSymbols(); for (auto & symbol : *symbols) @@ -482,7 +484,7 @@ bool Ieee80211LayeredOfdmReceiver::computeIsReceptionPossible(const IListening * Ieee80211LayeredOfdmReceiver::~Ieee80211LayeredOfdmReceiver() { - if (!isCompliant) { + if (!isCompliant && mode != nullptr) { delete mode->getPreambleMode(); delete mode->getSignalMode(); delete mode->getDataMode(); diff --git a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211LayeredOfdmTransmitter.cc b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211LayeredOfdmTransmitter.cc index 2d6ad035c1a..048ac3f643b 100644 --- a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211LayeredOfdmTransmitter.cc +++ b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211LayeredOfdmTransmitter.cc @@ -201,7 +201,7 @@ const ITransmissionSymbolModel *Ieee80211LayeredOfdmTransmitter::createSymbolMod } const std::vector *dataSymbols = dataFieldSymbolModel->getAllSymbols(); for (auto& dataSymbol : *dataSymbols) { - ofdmSymbol = dynamic_cast(dataSymbol); + ofdmSymbol = check_and_cast(dataSymbol); mergedSymbols->push_back(new Ieee80211OfdmSymbol(*ofdmSymbol)); } const Ieee80211OfdmTransmissionSymbolModel *transmissionSymbolModel = new Ieee80211OfdmTransmissionSymbolModel(1, 1.0 / mode->getSignalMode()->getDuration(), mergedSymbols->size() - 1, 1.0 / mode->getSymbolInterval(), mergedSymbols, signalFieldSymbolModel->getHeaderModulation(), dataFieldSymbolModel->getDataModulation()); diff --git a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmModulator.cc b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmModulator.cc index 7645e931912..007bbdeb844 100644 --- a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmModulator.cc +++ b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmModulator.cc @@ -67,10 +67,10 @@ int Ieee80211OfdmModulator::getSubcarrierIndex(int ofdmSymbolIndex) const void Ieee80211OfdmModulator::insertPilotSubcarriers(Ieee80211OfdmSymbol *ofdmSymbol, int symbolID) const { - ofdmSymbol->pushApskSymbol(pilotSubcarrierPolarityVector[symbolID % 127] == 1 ? &positivePilotSubcarrier : &negativePilotSubcarrier, 5); - ofdmSymbol->pushApskSymbol(pilotSubcarrierPolarityVector[symbolID % 127] == 1 ? &positivePilotSubcarrier : &negativePilotSubcarrier, 19); - ofdmSymbol->pushApskSymbol(pilotSubcarrierPolarityVector[symbolID % 127] == 1 ? &positivePilotSubcarrier : &negativePilotSubcarrier, 33); - ofdmSymbol->pushApskSymbol(pilotSubcarrierPolarityVector[symbolID % 127] == 1 ? &negativePilotSubcarrier : &positivePilotSubcarrier, 47); + ofdmSymbol->pushApskSymbol(pilotSubcarrierPolarityVector[symbolID % 127] == 1 ? new ApskSymbol(positivePilotSubcarrier) : new ApskSymbol(negativePilotSubcarrier), 5); + ofdmSymbol->pushApskSymbol(pilotSubcarrierPolarityVector[symbolID % 127] == 1 ? new ApskSymbol(positivePilotSubcarrier) : new ApskSymbol(negativePilotSubcarrier), 19); + ofdmSymbol->pushApskSymbol(pilotSubcarrierPolarityVector[symbolID % 127] == 1 ? new ApskSymbol(positivePilotSubcarrier) : new ApskSymbol(negativePilotSubcarrier), 33); + ofdmSymbol->pushApskSymbol(pilotSubcarrierPolarityVector[symbolID % 127] == 1 ? new ApskSymbol(negativePilotSubcarrier) : new ApskSymbol(positivePilotSubcarrier), 47); } const ITransmissionSymbolModel *Ieee80211OfdmModulator::modulate(const ITransmissionBitModel *bitModel) const @@ -87,7 +87,7 @@ const ITransmissionSymbolModel *Ieee80211OfdmModulator::modulate(const ITransmis // to the modulation encoding tables bitGroup.setBit(i % nBPSC, bits->getBit(i)); if (i % nBPSC == nBPSC - 1) { - const ApskSymbol *apskSymbol = subcarrierModulation->mapToConstellationDiagram(bitGroup); + const ApskSymbol *apskSymbol = new ApskSymbol(*subcarrierModulation->mapToConstellationDiagram(bitGroup)); apskSymbols.push_back(apskSymbol); } } diff --git a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbol.cc b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbol.cc index 4ad8b7fa058..cf432e691e7 100644 --- a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbol.cc +++ b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbol.cc @@ -11,6 +11,18 @@ namespace inet { namespace physicallayer { +Ieee80211OfdmSymbol::~Ieee80211OfdmSymbol() +{ + for (auto symbol : subcarrierSymbols) + delete symbol; +} + +Ieee80211OfdmSymbol::Ieee80211OfdmSymbol(const Ieee80211OfdmSymbol& other) +{ + for (auto symbol : other.subcarrierSymbols) + subcarrierSymbols.push_back(symbol ? new ApskSymbol(*symbol) : nullptr); +} + void Ieee80211OfdmSymbol::pushApskSymbol(const ApskSymbol *apskSymbol, int subcarrierIndex) { if (subcarrierIndex >= 53) diff --git a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbol.h b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbol.h index cf20bfc18f9..62b47b1000e 100644 --- a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbol.h +++ b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbol.h @@ -22,8 +22,10 @@ class INET_API Ieee80211OfdmSymbol : public ISymbol public: friend std::ostream& operator<<(std::ostream& out, const Ieee80211OfdmSymbol& symbol); + Ieee80211OfdmSymbol(const Ieee80211OfdmSymbol& other); Ieee80211OfdmSymbol(const std::vector& subcarrierSymbols) : subcarrierSymbols(subcarrierSymbols) {} Ieee80211OfdmSymbol() { subcarrierSymbols.resize(53, nullptr); } // (48 + 4 + 1), but one of them is skipped. + virtual ~Ieee80211OfdmSymbol(); const std::vector& getSubCarrierSymbols() const { return subcarrierSymbols; } int symbolSize() const { return subcarrierSymbols.size(); } void pushApskSymbol(const ApskSymbol *apskSymbol, int subcarrierIndex); diff --git a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbolModel.cc b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbolModel.cc index f1e22d810a8..61f94d0e495 100644 --- a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbolModel.cc +++ b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbolModel.cc @@ -11,22 +11,6 @@ namespace inet { namespace physicallayer { -Ieee80211OfdmTransmissionSymbolModel::~Ieee80211OfdmTransmissionSymbolModel() -{ - if (symbols) { - for (auto it : *symbols) - delete it; - } -} - -Ieee80211OfdmReceptionSymbolModel::~Ieee80211OfdmReceptionSymbolModel() -{ - if (symbols) { - for (auto it : *symbols) - delete it; - } -} - Ieee80211OfdmTransmissionSymbolModel::Ieee80211OfdmTransmissionSymbolModel(int headerSymbolLength, double headerSymbolRate, int payloadSymbolLength, double payloadSymbolRate, const std::vector *symbols, const IModulation *headerModulation, const IModulation *payloadModulation) : TransmissionSymbolModel(headerSymbolLength, headerSymbolRate, payloadSymbolLength, payloadSymbolRate, symbols, headerModulation, payloadModulation) { diff --git a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbolModel.h b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbolModel.h index 107e6549b53..ad52785d376 100644 --- a/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbolModel.h +++ b/src/inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbolModel.h @@ -18,14 +18,12 @@ class INET_API Ieee80211OfdmTransmissionSymbolModel : public TransmissionSymbolM { public: Ieee80211OfdmTransmissionSymbolModel(int headerSymbolLength, double headerSymbolRate, int payloadSymbolLength, double payloadSymbolRate, const std::vector *symbols, const IModulation *headerModulation, const IModulation *payloadModulation); - virtual ~Ieee80211OfdmTransmissionSymbolModel(); }; class INET_API Ieee80211OfdmReceptionSymbolModel : public ReceptionSymbolModel { public: Ieee80211OfdmReceptionSymbolModel(int headerSymbolLength, double headerSymbolRate, int payloadSymbolLength, double payloadSymbolRate, const std::vector *symbols); - virtual ~Ieee80211OfdmReceptionSymbolModel(); }; } /* namespace physicallayer */ } /* namespace inet */ diff --git a/src/inet/physicallayer/wireless/ieee80211/bitlevel/errormodel/ChangeLog b/src/inet/physicallayer/wireless/ieee80211/bitlevel/errormodel/ChangeLog index dec0614737e..86a26aa0d54 100644 --- a/src/inet/physicallayer/wireless/ieee80211/bitlevel/errormodel/ChangeLog +++ b/src/inet/physicallayer/wireless/ieee80211/bitlevel/errormodel/ChangeLog @@ -1,5 +1,16 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-22 Levente Meszaros + + physicallayer: Fixed ApskSymbol and Ieee80211OfdmSymbol related memory + leaks detected by sanitizer tests. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-25 TÖRÖK Attila @@ -175,4 +186,4 @@ 2014-11-07 ------ inet-2.99.0 released ------ -====== inet-2.x ====== +====== inet-2.x ======\n \ No newline at end of file diff --git a/src/inet/physicallayer/wireless/ieee80211/bitlevel/errormodel/Ieee80211OfdmErrorModel.cc b/src/inet/physicallayer/wireless/ieee80211/bitlevel/errormodel/Ieee80211OfdmErrorModel.cc index 8719a2d7d0c..cce8b9f2473 100644 --- a/src/inet/physicallayer/wireless/ieee80211/bitlevel/errormodel/Ieee80211OfdmErrorModel.cc +++ b/src/inet/physicallayer/wireless/ieee80211/bitlevel/errormodel/Ieee80211OfdmErrorModel.cc @@ -203,7 +203,7 @@ const IReceptionSymbolModel *Ieee80211OfdmErrorModel::computeSymbolModel(const L auto transmittedSymbol = transmittedOfdmSymbol->getSubCarrierSymbols().at(j >= 26 ? j + 1 : j); double symbolErrorRate = modulation->calculateSER(snirMean, symbolFrequencyBandwidth, grossBitrate / numSubcarriers); auto receivedSymbol = computeReceivedSymbol(modulation, transmittedSymbol, snirMean, symbolErrorRate); - receivedSymbols.push_back(receivedSymbol); + receivedSymbols.push_back(new ApskSymbol(*receivedSymbol)); if (j == 25) receivedSymbols.push_back(nullptr); // see Ieee80211OfdmSymbol } diff --git a/src/inet/physicallayer/wireless/ieee80211/mode/ChangeLog b/src/inet/physicallayer/wireless/ieee80211/mode/ChangeLog index 1180666b87c..3e41fc53e87 100644 --- a/src/inet/physicallayer/wireless/ieee80211/mode/ChangeLog +++ b/src/inet/physicallayer/wireless/ieee80211/mode/ChangeLog @@ -1,5 +1,15 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-18 Levente Meszaros + + 802.11: Fixed various memory leaks detected by sanitizer tests. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-25 TÖRÖK Attila @@ -342,4 +352,4 @@ 2014-11-07 ------ inet-2.99.0 released ------ -====== inet-2.x ====== +====== inet-2.x ======\n \ No newline at end of file diff --git a/src/inet/physicallayer/wireless/ieee80211/mode/Ieee80211HtMode.cc b/src/inet/physicallayer/wireless/ieee80211/mode/Ieee80211HtMode.cc index a2d9d561e61..f1840b18c76 100644 --- a/src/inet/physicallayer/wireless/ieee80211/mode/Ieee80211HtMode.cc +++ b/src/inet/physicallayer/wireless/ieee80211/mode/Ieee80211HtMode.cc @@ -357,11 +357,16 @@ const Ieee80211HtMode *Ieee80211HtCompliantModes::getCompliantMode(const Ieee802 Ieee80211Htmcs::~Ieee80211Htmcs() { delete code; + delete stream1Modulation; + delete stream2Modulation; + delete stream3Modulation; + delete stream4Modulation; } Ieee80211HtSignalMode::~Ieee80211HtSignalMode() { delete code; + delete modulation; } const DI Ieee80211HtmcsTable::htMcs0BW20MHz([](){ return new Ieee80211Htmcs(0, &BpskModulation::singleton, &Ieee80211OfdmCompliantCodes::ofdmConvolutionalCode1_2, MHz(20));}); diff --git a/src/inet/physicallayer/wireless/ieee80211/mode/Ieee80211OfdmModulation.h b/src/inet/physicallayer/wireless/ieee80211/mode/Ieee80211OfdmModulation.h index ce589927ceb..a1d85c8c925 100644 --- a/src/inet/physicallayer/wireless/ieee80211/mode/Ieee80211OfdmModulation.h +++ b/src/inet/physicallayer/wireless/ieee80211/mode/Ieee80211OfdmModulation.h @@ -22,6 +22,8 @@ class INET_API Ieee80211OfdmModulation : public IModulation public: Ieee80211OfdmModulation(int numSubcarriers, const ApskModulationBase *subcarrierModulation); + virtual cObject *dup() const override { return new Ieee80211OfdmModulation(numSubcarriers, subcarrierModulation); } + virtual int getNumSubcarriers() const { return numSubcarriers; } const ApskModulationBase *getSubcarrierModulation() const { return subcarrierModulation; } diff --git a/src/inet/physicallayer/wireless/ieee80211/mode/Ieee80211VhtMode.cc b/src/inet/physicallayer/wireless/ieee80211/mode/Ieee80211VhtMode.cc index f856ffdf0e2..30d69fe2e51 100644 --- a/src/inet/physicallayer/wireless/ieee80211/mode/Ieee80211VhtMode.cc +++ b/src/inet/physicallayer/wireless/ieee80211/mode/Ieee80211VhtMode.cc @@ -204,19 +204,19 @@ Ieee80211Vhtmcs::Ieee80211Vhtmcs(unsigned int mcsIndex, const ApskModulationBase bandwidth(bandwidth) { if (nss > 1) - stream2Modulation = stream1Modulation; + stream2Modulation = static_cast(stream1Modulation->dup()); if (nss > 2) - stream3Modulation = stream1Modulation; + stream3Modulation = static_cast(stream1Modulation->dup()); if (nss > 3) - stream4Modulation = stream1Modulation; + stream4Modulation = static_cast(stream1Modulation->dup()); if (nss > 4) - stream5Modulation = stream1Modulation; + stream5Modulation = static_cast(stream1Modulation->dup()); if (nss > 5) - stream6Modulation = stream1Modulation; + stream6Modulation = static_cast(stream1Modulation->dup()); if (nss > 6) - stream7Modulation = stream1Modulation; + stream7Modulation = static_cast(stream1Modulation->dup()); if (nss > 7) - stream8Modulation = stream1Modulation; + stream8Modulation = static_cast(stream1Modulation->dup()); code = Ieee80211VhtCompliantCodes::getCompliantCode(convolutionalCode, stream1Modulation, stream2Modulation, stream3Modulation, stream4Modulation, stream5Modulation, stream6Modulation, stream7Modulation, stream8Modulation, bandwidth); } @@ -702,6 +702,14 @@ const Ieee80211VhtMode *Ieee80211VhtCompliantModes::getCompliantMode(const Ieee8 Ieee80211Vhtmcs::~Ieee80211Vhtmcs() { delete code; + delete stream1Modulation; + delete stream2Modulation; + delete stream3Modulation; + delete stream4Modulation; + delete stream5Modulation; + delete stream6Modulation; + delete stream7Modulation; + delete stream8Modulation; } Ieee80211VhtSignalMode::~Ieee80211VhtSignalMode() diff --git a/src/inet/physicallayer/wireless/ieee80211/packetlevel/ChangeLog b/src/inet/physicallayer/wireless/ieee80211/packetlevel/ChangeLog index a6798502b7e..3ebe832cc11 100644 --- a/src/inet/physicallayer/wireless/ieee80211/packetlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/ieee80211/packetlevel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-26 TÖRÖK Attila diff --git a/src/inet/physicallayer/wireless/ieee80211/packetlevel/errormodel/ChangeLog b/src/inet/physicallayer/wireless/ieee80211/packetlevel/errormodel/ChangeLog index f5b18c5dd25..f32f274d369 100644 --- a/src/inet/physicallayer/wireless/ieee80211/packetlevel/errormodel/ChangeLog +++ b/src/inet/physicallayer/wireless/ieee80211/packetlevel/errormodel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/physicallayer/wireless/ieee802154/bitlevel/ChangeLog b/src/inet/physicallayer/wireless/ieee802154/bitlevel/ChangeLog index f943eb0ebef..39370d0591f 100644 --- a/src/inet/physicallayer/wireless/ieee802154/bitlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/ieee802154/bitlevel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2020-01-23 Levente Mészáros diff --git a/src/inet/physicallayer/wireless/ieee802154/packetlevel/ChangeLog b/src/inet/physicallayer/wireless/ieee802154/packetlevel/ChangeLog index e2f0593bbe0..92f77ca954e 100644 --- a/src/inet/physicallayer/wireless/ieee802154/packetlevel/ChangeLog +++ b/src/inet/physicallayer/wireless/ieee802154/packetlevel/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-23 Levente Mészáros diff --git a/src/inet/physicallayer/wireless/noise/ChangeLog b/src/inet/physicallayer/wireless/noise/ChangeLog index afac045a6d7..7428a403c50 100644 --- a/src/inet/physicallayer/wireless/noise/ChangeLog +++ b/src/inet/physicallayer/wireless/noise/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-25 TÖRÖK Attila diff --git a/src/inet/physicallayer/wireless/shortcut/ChangeLog b/src/inet/physicallayer/wireless/shortcut/ChangeLog index 9bbf8591a29..b200b4cf552 100644 --- a/src/inet/physicallayer/wireless/shortcut/ChangeLog +++ b/src/inet/physicallayer/wireless/shortcut/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-13 Andras Varga diff --git a/src/inet/physicallayer/wireless/unitdisk/ChangeLog b/src/inet/physicallayer/wireless/unitdisk/ChangeLog index d9133ff0067..205feedf1ca 100644 --- a/src/inet/physicallayer/wireless/unitdisk/ChangeLog +++ b/src/inet/physicallayer/wireless/unitdisk/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-06 TÖRÖK Attila diff --git a/src/inet/power/base/ChangeLog b/src/inet/power/base/ChangeLog index 3c6df7daff9..8b441dca6a3 100644 --- a/src/inet/power/base/ChangeLog +++ b/src/inet/power/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-14 Levente Mészáros diff --git a/src/inet/power/consumer/ChangeLog b/src/inet/power/consumer/ChangeLog index 3e681a45b5c..702b7577243 100644 --- a/src/inet/power/consumer/ChangeLog +++ b/src/inet/power/consumer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/power/contract/ChangeLog b/src/inet/power/contract/ChangeLog index 132a3c13d2d..606960eb7b0 100644 --- a/src/inet/power/contract/ChangeLog +++ b/src/inet/power/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/power/generator/ChangeLog b/src/inet/power/generator/ChangeLog index 1c36bdb70b9..ae2ff6fa6cc 100644 --- a/src/inet/power/generator/ChangeLog +++ b/src/inet/power/generator/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/power/management/ChangeLog b/src/inet/power/management/ChangeLog index e5d171c869c..ce4ac62f3e5 100644 --- a/src/inet/power/management/ChangeLog +++ b/src/inet/power/management/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/power/storage/ChangeLog b/src/inet/power/storage/ChangeLog index edb498ea078..ec908232cf7 100644 --- a/src/inet/power/storage/ChangeLog +++ b/src/inet/power/storage/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-18 Levente Mészáros diff --git a/src/inet/protocolelement/acknowledgement/ChangeLog b/src/inet/protocolelement/acknowledgement/ChangeLog index f8a9519b451..9f33be935ee 100644 --- a/src/inet/protocolelement/acknowledgement/ChangeLog +++ b/src/inet/protocolelement/acknowledgement/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/aggregation/ChangeLog b/src/inet/protocolelement/aggregation/ChangeLog index 876d6432e57..9a48d980741 100644 --- a/src/inet/protocolelement/aggregation/ChangeLog +++ b/src/inet/protocolelement/aggregation/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/aggregation/base/ChangeLog b/src/inet/protocolelement/aggregation/base/ChangeLog index 80501ee8d11..778c4866de1 100644 --- a/src/inet/protocolelement/aggregation/base/ChangeLog +++ b/src/inet/protocolelement/aggregation/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/aggregation/contract/ChangeLog b/src/inet/protocolelement/aggregation/contract/ChangeLog index 8f58c6e6197..3da268259e0 100644 --- a/src/inet/protocolelement/aggregation/contract/ChangeLog +++ b/src/inet/protocolelement/aggregation/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/aggregation/header/ChangeLog b/src/inet/protocolelement/aggregation/header/ChangeLog index 6a3bcac9308..1d61aeb28c1 100644 --- a/src/inet/protocolelement/aggregation/header/ChangeLog +++ b/src/inet/protocolelement/aggregation/header/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/aggregation/policy/ChangeLog b/src/inet/protocolelement/aggregation/policy/ChangeLog index 3abd23b3a61..6ccef56ac9b 100644 --- a/src/inet/protocolelement/aggregation/policy/ChangeLog +++ b/src/inet/protocolelement/aggregation/policy/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/checksum/ChangeLog b/src/inet/protocolelement/checksum/ChangeLog index a132c2fe676..8557ad575f6 100644 --- a/src/inet/protocolelement/checksum/ChangeLog +++ b/src/inet/protocolelement/checksum/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-11 TÖRÖK Attila diff --git a/src/inet/protocolelement/checksum/base/ChangeLog b/src/inet/protocolelement/checksum/base/ChangeLog index 167bba12c3d..fa399eac0a7 100644 --- a/src/inet/protocolelement/checksum/base/ChangeLog +++ b/src/inet/protocolelement/checksum/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/checksum/header/ChangeLog b/src/inet/protocolelement/checksum/header/ChangeLog index 0315639a8a0..22aa3a46b72 100644 --- a/src/inet/protocolelement/checksum/header/ChangeLog +++ b/src/inet/protocolelement/checksum/header/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/checksum/serializer/ChangeLog b/src/inet/protocolelement/checksum/serializer/ChangeLog index 166a312129d..ef53fabd099 100644 --- a/src/inet/protocolelement/checksum/serializer/ChangeLog +++ b/src/inet/protocolelement/checksum/serializer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/common/ChangeLog b/src/inet/protocolelement/common/ChangeLog index cc1f3057dcc..a8fbdd4b148 100644 --- a/src/inet/protocolelement/common/ChangeLog +++ b/src/inet/protocolelement/common/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-22 Levente Mészáros diff --git a/src/inet/protocolelement/contract/ChangeLog b/src/inet/protocolelement/contract/ChangeLog index fc133723512..c36eabb0717 100644 --- a/src/inet/protocolelement/contract/ChangeLog +++ b/src/inet/protocolelement/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/cutthrough/ChangeLog b/src/inet/protocolelement/cutthrough/ChangeLog index 47ee389afe0..635d75a563c 100644 --- a/src/inet/protocolelement/cutthrough/ChangeLog +++ b/src/inet/protocolelement/cutthrough/ChangeLog @@ -1,5 +1,15 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-04-05 Zoltan Bojthe + + CutthroughTag: Added trailerChunk field. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-02-20 Levente Mészáros @@ -17,4 +27,4 @@ The cut-through switching uses two modules a cut-through source at the receiver side and a cut-through sink at the transmitter side of the same - network node. + network node.\n \ No newline at end of file diff --git a/src/inet/protocolelement/cutthrough/CutthroughTag.msg b/src/inet/protocolelement/cutthrough/CutthroughTag.msg index e0f51b56c37..7bd5c01c97b 100644 --- a/src/inet/protocolelement/cutthrough/CutthroughTag.msg +++ b/src/inet/protocolelement/cutthrough/CutthroughTag.msg @@ -16,10 +16,12 @@ import inet.common.INETDefs; import inet.common.TagBase; import inet.common.Units; +import inet.common.packet.chunk.Chunk; namespace inet; class CutthroughTag extends TagBase { b cutthroughPosition; + ChunkPtr trailerChunk; } diff --git a/src/inet/protocolelement/dispatching/ChangeLog b/src/inet/protocolelement/dispatching/ChangeLog index 09f17226032..c7fe9e95041 100644 --- a/src/inet/protocolelement/dispatching/ChangeLog +++ b/src/inet/protocolelement/dispatching/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/forwarding/ChangeLog b/src/inet/protocolelement/forwarding/ChangeLog index c8053b25c6b..ad485aeacd2 100644 --- a/src/inet/protocolelement/forwarding/ChangeLog +++ b/src/inet/protocolelement/forwarding/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/fragmentation/ChangeLog b/src/inet/protocolelement/fragmentation/ChangeLog index 3e4d90f81c9..c7a258aa27e 100644 --- a/src/inet/protocolelement/fragmentation/ChangeLog +++ b/src/inet/protocolelement/fragmentation/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-11 TÖRÖK Attila diff --git a/src/inet/protocolelement/fragmentation/base/ChangeLog b/src/inet/protocolelement/fragmentation/base/ChangeLog index 8d202d04f86..51c1c4582f7 100644 --- a/src/inet/protocolelement/fragmentation/base/ChangeLog +++ b/src/inet/protocolelement/fragmentation/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/fragmentation/contract/ChangeLog b/src/inet/protocolelement/fragmentation/contract/ChangeLog index 8f88eeacab0..98e5cd0b8c1 100644 --- a/src/inet/protocolelement/fragmentation/contract/ChangeLog +++ b/src/inet/protocolelement/fragmentation/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/fragmentation/header/ChangeLog b/src/inet/protocolelement/fragmentation/header/ChangeLog index e6c191df6d9..f2383bfe1e1 100644 --- a/src/inet/protocolelement/fragmentation/header/ChangeLog +++ b/src/inet/protocolelement/fragmentation/header/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/fragmentation/policy/ChangeLog b/src/inet/protocolelement/fragmentation/policy/ChangeLog index bb5b63c9737..11a14e6f3ae 100644 --- a/src/inet/protocolelement/fragmentation/policy/ChangeLog +++ b/src/inet/protocolelement/fragmentation/policy/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/fragmentation/serializer/ChangeLog b/src/inet/protocolelement/fragmentation/serializer/ChangeLog index 611259e1e68..5e4124a5ad1 100644 --- a/src/inet/protocolelement/fragmentation/serializer/ChangeLog +++ b/src/inet/protocolelement/fragmentation/serializer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/fragmentation/tag/ChangeLog b/src/inet/protocolelement/fragmentation/tag/ChangeLog index f6c5ac594ab..66679222ea3 100644 --- a/src/inet/protocolelement/fragmentation/tag/ChangeLog +++ b/src/inet/protocolelement/fragmentation/tag/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/lifetime/ChangeLog b/src/inet/protocolelement/lifetime/ChangeLog index cc769c13911..285f304869a 100644 --- a/src/inet/protocolelement/lifetime/ChangeLog +++ b/src/inet/protocolelement/lifetime/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/measurement/ChangeLog b/src/inet/protocolelement/measurement/ChangeLog index cef49b863c1..bc55fd62edb 100644 --- a/src/inet/protocolelement/measurement/ChangeLog +++ b/src/inet/protocolelement/measurement/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/ordering/ChangeLog b/src/inet/protocolelement/ordering/ChangeLog index db28f153215..2ccd1d5c6a3 100644 --- a/src/inet/protocolelement/ordering/ChangeLog +++ b/src/inet/protocolelement/ordering/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/processing/ChangeLog b/src/inet/protocolelement/processing/ChangeLog index 6ba150b904c..a60a33384f3 100644 --- a/src/inet/protocolelement/processing/ChangeLog +++ b/src/inet/protocolelement/processing/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-04 Levente Mészáros diff --git a/src/inet/protocolelement/redundancy/ChangeLog b/src/inet/protocolelement/redundancy/ChangeLog index b5f370656bb..fa48d9344ad 100644 --- a/src/inet/protocolelement/redundancy/ChangeLog +++ b/src/inet/protocolelement/redundancy/ChangeLog @@ -1,9 +1,19 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-22 Levente Meszaros + + StreamDecoder: Fixed memory leak found by sanitizer test. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-10 Levente Mészáros - + Removed name != nullptr checks from handleParameterChange. 2023-02-27 Levente Mészáros @@ -39,4 +49,4 @@ Added StreamClassifier, StreamCoderLayer, StreamDecoder, StreamEncoder, StreamFilterm, StreamIdentifier, StreamIdentifierLayer, StreamMerger, - StreamRelayLayer, and StreamSplitter modules + StreamRelayLayer, and StreamSplitter modules\n \ No newline at end of file diff --git a/src/inet/protocolelement/redundancy/StreamDecoder.cc b/src/inet/protocolelement/redundancy/StreamDecoder.cc index 2384ee57816..fc214980e28 100644 --- a/src/inet/protocolelement/redundancy/StreamDecoder.cc +++ b/src/inet/protocolelement/redundancy/StreamDecoder.cc @@ -65,6 +65,7 @@ void StreamDecoder::configureMappings() mapping.stream = element->get("stream").stringValue(); if (element->containsKey("interface")) { auto interfaceNamePattern = element->get("interface").stringValue(); + delete mapping.interfaceNameMatcher; mapping.interfaceNameMatcher = new cPatternMatcher(); mapping.interfaceNameMatcher->setPattern(interfaceNamePattern, false, false, false); } diff --git a/src/inet/protocolelement/selectivity/ChangeLog b/src/inet/protocolelement/selectivity/ChangeLog index 1bdd1208740..c74d564e475 100644 --- a/src/inet/protocolelement/selectivity/ChangeLog +++ b/src/inet/protocolelement/selectivity/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/service/ChangeLog b/src/inet/protocolelement/service/ChangeLog index 79b0e806292..d1b00dca08c 100644 --- a/src/inet/protocolelement/service/ChangeLog +++ b/src/inet/protocolelement/service/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/shaper/ChangeLog b/src/inet/protocolelement/shaper/ChangeLog index 98bf844a7b5..85668f4af66 100644 --- a/src/inet/protocolelement/shaper/ChangeLog +++ b/src/inet/protocolelement/shaper/ChangeLog @@ -1,5 +1,24 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-05-12 Philipp Meyer + + EligibilityTimeMeter: Fixed number of token statistic to not have + negative values. + + Previously if the rate of incoming traffic was higher than the rate of + outgoing traffic, the number of tokens statistic could be negative which + doesn't really make sense. The number of tokens statistics is created by + emitting values into the future such that a sawtooth pattern is created. + The actual behavior of the ATS is not influenced by this change because + the number of tokens is just a derived statistic for a virtual token + bucket. + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/protocolelement/shaper/EligibilityTimeMeter.cc b/src/inet/protocolelement/shaper/EligibilityTimeMeter.cc index 3f185ad79ad..94dd1610086 100644 --- a/src/inet/protocolelement/shaper/EligibilityTimeMeter.cc +++ b/src/inet/protocolelement/shaper/EligibilityTimeMeter.cc @@ -29,12 +29,12 @@ void EligibilityTimeMeter::initialize(int stage) WATCH(numTokens); } else if (stage == INITSTAGE_QUEUEING) - emitNumTokenChangedSignal(); + emitNumTokenChangedSignal(nullptr); } void EligibilityTimeMeter::meterPacket(Packet *packet) { - emitNumTokenChangedSignal(); + emitNumTokenChangedSignal(packet); clocktime_t arrivalTime = getClockTime(); clocktime_t lengthRecoveryDuration = s((packet->getDataLength() + packetOverheadLength) / committedInformationRate).get(); clocktime_t emptyToFullDuration = s(committedBurstSize / committedInformationRate).get(); @@ -46,11 +46,11 @@ void EligibilityTimeMeter::meterPacket(Packet *packet) groupEligibilityTime = eligibilityTime; bucketEmptyTime = eligibilityTime < bucketFullTime ? schedulerEligibilityTime : schedulerEligibilityTime + eligibilityTime - bucketFullTime; packet->addTagIfAbsent()->setEligibilityTime(eligibilityTime); - emitNumTokenChangedSignal(); + emitNumTokenChangedSignal(packet); } } -void EligibilityTimeMeter::emitNumTokenChangedSignal() +void EligibilityTimeMeter::emitNumTokenChangedSignal(Packet *packet) { clocktime_t emptyToFullDuration = s(committedBurstSize / committedInformationRate).get(); double alpha = (getClockTime() - bucketEmptyTime).dbl() / emptyToFullDuration.dbl(); @@ -60,6 +60,12 @@ void EligibilityTimeMeter::emitNumTokenChangedSignal() emit(tokensChangedSignal, &value); emit(tokensChangedSignal, numTokens); } + else if (alpha < 0) { + cTimestampedValue value1(CLOCKTIME_AS_SIMTIME(bucketEmptyTime), (double)b(packet->getDataLength() + packetOverheadLength).get()); + cTimestampedValue value2(CLOCKTIME_AS_SIMTIME(bucketEmptyTime), 0.0); + emit(tokensChangedSignal, &value1); + emit(tokensChangedSignal, &value2); + } else { numTokens = b(committedBurstSize).get() * alpha; emit(tokensChangedSignal, numTokens); diff --git a/src/inet/protocolelement/shaper/EligibilityTimeMeter.h b/src/inet/protocolelement/shaper/EligibilityTimeMeter.h index 6c7058098c9..d8ebf2a8b9e 100644 --- a/src/inet/protocolelement/shaper/EligibilityTimeMeter.h +++ b/src/inet/protocolelement/shaper/EligibilityTimeMeter.h @@ -35,7 +35,7 @@ class INET_API EligibilityTimeMeter : public ClockUserModuleMixinhandlePullPacketProcessed(packet, outputGate->getPathStartGate(), successful); + collector->handlePullPacketProcessed(packet, outputGate->getPathEndGate(), successful); } } // namespace queueing diff --git a/src/inet/queueing/base/PacketSchedulerBase.cc b/src/inet/queueing/base/PacketSchedulerBase.cc index 3da5df53e0d..3292f0dcd53 100644 --- a/src/inet/queueing/base/PacketSchedulerBase.cc +++ b/src/inet/queueing/base/PacketSchedulerBase.cc @@ -195,7 +195,7 @@ void PacketSchedulerBase::handleCanPullPacketChanged(cGate *gate) void PacketSchedulerBase::handlePullPacketProcessed(Packet *packet, cGate *gate, bool successful) { - collector->handlePullPacketProcessed(packet, outputGate->getPathStartGate(), successful); + collector->handlePullPacketProcessed(packet, outputGate->getPathEndGate(), successful); inProgressStreamId = -1; inProgressGateIndex = -1; } diff --git a/src/inet/queueing/buffer/ChangeLog b/src/inet/queueing/buffer/ChangeLog index 25982764cd9..0b381cad83f 100644 --- a/src/inet/queueing/buffer/ChangeLog +++ b/src/inet/queueing/buffer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/queueing/classifier/ChangeLog b/src/inet/queueing/classifier/ChangeLog index 13498089077..5f00dd69fc4 100644 --- a/src/inet/queueing/classifier/ChangeLog +++ b/src/inet/queueing/classifier/ChangeLog @@ -1,5 +1,22 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-05-18 Levente Mészáros + + queueing: Added separate statistics for each token bucket in a + MultiTokemBucketMeter/MultiTokemBucketClassifier. + + Fixes issue #872. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-05-08 Levente Mészáros + + Fixed incorrectly used getPathStartGate/getPathEndGate. + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-09-26 Andras Varga @@ -38,7 +55,7 @@ 2021-06-03 Levente Mészáros - Added TokenBucketClassifier, MultiTokenBucketClassifier, SingleRateTwoColorClassifier, + Added TokenBucketClassifier, MultiTokenBucketClassifier, SingleRateTwoColorClassifier, SingleRateThreeColorClassifier, and DualRateThreeColorClassifier modules. 2021-03-19 Zoltan Bojthe @@ -105,4 +122,4 @@ queueing package. Added new NED simple modules: MarkovClassifier, LabelClassifier, PacketClassifier, - PriorityClassifier, WrrClassifier, UserPriorityClassifier, and ContentBasedClassifier. + PriorityClassifier, WrrClassifier, UserPriorityClassifier, and ContentBasedClassifier.\n \ No newline at end of file diff --git a/src/inet/queueing/classifier/MarkovClassifier.cc b/src/inet/queueing/classifier/MarkovClassifier.cc index 92938b57199..4c991a3cf38 100644 --- a/src/inet/queueing/classifier/MarkovClassifier.cc +++ b/src/inet/queueing/classifier/MarkovClassifier.cc @@ -102,7 +102,7 @@ Packet *MarkovClassifier::pullPacket(cGate *gate) Enter_Method("pullPacket"); if (gate->getIndex() != state) throw cRuntimeError("Cannot pull from gate"); - auto packet = provider->pullPacket(inputGate->getPathEndGate()); + auto packet = provider->pullPacket(inputGate->getPathStartGate()); take(packet); animatePullPacket(packet, gate); numProcessedPackets++; diff --git a/src/inet/queueing/classifier/MultiTokenBucketClassifier.cc b/src/inet/queueing/classifier/MultiTokenBucketClassifier.cc index 60f3c2fe617..54af74ea3de 100644 --- a/src/inet/queueing/classifier/MultiTokenBucketClassifier.cc +++ b/src/inet/queueing/classifier/MultiTokenBucketClassifier.cc @@ -25,7 +25,7 @@ void MultiTokenBucketClassifier::initialize(int stage) int MultiTokenBucketClassifier::classifyPacket(Packet *packet) { - emit(tokensChangedSignal, getNumTokens()); + emitTokensChangedSignals(); auto numTokens = getNumPacketTokens(packet); for (int i = 0; i < tokenBuckets.size(); i++) { auto& tokenBucket = tokenBuckets[i]; @@ -33,7 +33,7 @@ int MultiTokenBucketClassifier::classifyPacket(Packet *packet) if (tokenBucket.getNumTokens() > numTokens) { tokenBucket.removeTokens(numTokens); EV_INFO << "Removed tokens from ith bucket for packet" << EV_FIELD(numTokens) << EV_FIELD(i) << EV_FIELD(tokenBucket) << EV_FIELD(packet) << EV_ENDL; - emit(tokensChangedSignal, getNumTokens()); + emitTokensChangedSignals(); return i; } } diff --git a/src/inet/queueing/classifier/MultiTokenBucketClassifier.ned b/src/inet/queueing/classifier/MultiTokenBucketClassifier.ned index 79deaf60cbf..a4e56b7afe2 100644 --- a/src/inet/queueing/classifier/MultiTokenBucketClassifier.ned +++ b/src/inet/queueing/classifier/MultiTokenBucketClassifier.ned @@ -24,6 +24,6 @@ simple MultiTokenBucketClassifier extends PacketClassifierBase like IPacketClass double tokenConsumptionPerBit = default(1); // how many tokens are consumed per bit displayStringTextFormat = default("contains %n tk\nmetered %p pk (%l)"); @signal[tokensChanged](type=double); - @statistic[numTokens](title="number of tokens"; source=tokensChanged; record=vector; unit=tk; interpolationmode=linear); + @statistic[numTokens](title="number of tokens"; source=demux(tokensChanged); record=vector; unit=tk; interpolationmode=linear); @class(MultiTokenBucketClassifier); } diff --git a/src/inet/queueing/common/ChangeLog b/src/inet/queueing/common/ChangeLog index 1d47808db1a..c8ece53e85e 100644 --- a/src/inet/queueing/common/ChangeLog +++ b/src/inet/queueing/common/ChangeLog @@ -1,5 +1,15 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-03-27 Levente Meszaros + + QueueingPacketDelayer: Fixed issues reported in #919. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-01-09 Levente Mészáros @@ -145,4 +155,4 @@ Added new core classes: PacketCloner, PacketDelayer, PacketDemultiplexer, PacketGate, PacketDuplicator, PacketMultiplexer, PacketHistory, and - OrdinalBasedDuplicator. + OrdinalBasedDuplicator.\n \ No newline at end of file diff --git a/src/inet/queueing/common/QueueingPacketDelayer.ned b/src/inet/queueing/common/QueueingPacketDelayer.ned index 35105734c47..175da1df805 100644 --- a/src/inet/queueing/common/QueueingPacketDelayer.ned +++ b/src/inet/queueing/common/QueueingPacketDelayer.ned @@ -16,8 +16,7 @@ module QueueingPacketDelayer like IPacketDelayer parameters: string clockModule = default(""); // relative path of a module that implements IClock; optional volatile double delay @unit(s); - *.clockModule = default(absPath("^" + clockModule)); - @class(PacketDelayer); + *.clockModule = default(absPath(this.clockModule)); @display("i=block/delay"); gates: input in @labels(push); diff --git a/src/inet/queueing/contract/ChangeLog b/src/inet/queueing/contract/ChangeLog index f077f8545f5..3e21d12caf4 100644 --- a/src/inet/queueing/contract/ChangeLog +++ b/src/inet/queueing/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/queueing/filter/ChangeLog b/src/inet/queueing/filter/ChangeLog index cbdb3abede4..021b017f17b 100644 --- a/src/inet/queueing/filter/ChangeLog +++ b/src/inet/queueing/filter/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-10 Levente Mészáros diff --git a/src/inet/queueing/flow/ChangeLog b/src/inet/queueing/flow/ChangeLog index fee1c0e1337..ce909188b0e 100644 --- a/src/inet/queueing/flow/ChangeLog +++ b/src/inet/queueing/flow/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/queueing/flow/FlowMeasurementRecorder.cc b/src/inet/queueing/flow/FlowMeasurementRecorder.cc index 407282bd134..f2697f3bf3a 100644 --- a/src/inet/queueing/flow/FlowMeasurementRecorder.cc +++ b/src/inet/queueing/flow/FlowMeasurementRecorder.cc @@ -42,8 +42,20 @@ void FlowMeasurementRecorder::initialize(int stage) endMeasurement_ = par("endMeasurement"); flowName = par("flowName"); flowNameMatcher.setPattern(flowName, false, true, true); + + // Handle parameter naming: prefer 'endMeasurementTypes', fall back to deprecated 'measure' for backward compatibility + const char *measurementTypesPattern = nullptr; + if (hasPar("endMeasurementTypes")) + measurementTypesPattern = par("endMeasurementTypes"); + else if (hasPar("measure")) { + measurementTypesPattern = par("measure"); + EV_WARN << "The 'measure' parameter is deprecated, use 'endMeasurementTypes' instead." << EV_ENDL; + } + else + measurementTypesPattern = "*"; // default + cMatchExpression measureMatcher; - measureMatcher.setPattern(par("measure"), false, true, true); + measureMatcher.setPattern(measurementTypesPattern, false, true, true); measureLifeTime = matchesString(measureMatcher, "lifeTime"); measureElapsedTime = matchesString(measureMatcher, "elapsedTime"); measureDelayingTime = matchesString(measureMatcher, "delayingTime"); diff --git a/src/inet/queueing/flow/FlowMeasurementRecorder.ned b/src/inet/queueing/flow/FlowMeasurementRecorder.ned index 477f74ae5ef..ac1758606e8 100644 --- a/src/inet/queueing/flow/FlowMeasurementRecorder.ned +++ b/src/inet/queueing/flow/FlowMeasurementRecorder.ned @@ -20,6 +20,25 @@ import inet.queueing.contract.IPacketFlow; // be recorded multiple times during this time. The flow measurement tracks // bits individually using their unique identity. // +// The module has two distinct sets of parameters that control its behavior: +// +// Flow Termination Parameters: +// - flowName: Specifies which flows to terminate using a match expression. +// Only flows matching this pattern will have their measurements ended. +// - endMeasurement: Boolean flag to enable/disable flow termination entirely. +// When false, no measurements are terminated (only recorded). +// +// Measurement Type Parameters: +// - endMeasurementTypes: Specifies which measurement types to end for the matched flows. +// This is a match expression for: packetEvent, elapsedTime, +// delayingTime, queueingTime, processingTime, transmissionTime, +// propagationTime, lifeTime. Note that all measurements are always +// recorded (emitted as signals), but only the selected types are +// actually ended (removed from the packet tags) when the flow +// terminates. The default "*" ends all measurement types. +// +// Note: The 'measure' parameter is deprecated, use 'endMeasurementTypes' instead. +// // @see ~FlowMeasurementStarter // simple FlowMeasurementRecorder extends PacketFlowBase like IPacketFlow @@ -28,9 +47,9 @@ simple FlowMeasurementRecorder extends PacketFlowBase like IPacketFlow object packetFilter = default("*"); // which packets are considered, matches all packets by default int offset @unit(b) = default(0b); // designates the packet part to be measured int length @unit(b) = default(-1b); // designates the packet part to be measured - string flowName = default(""); // use packet flow to separate measurement from other measurements - string measure = default("*"); // match expression for a combination of: packetEvent, elapsedTime, delayingTime, queueingTime, processingTime, transmissionTime, propagationTime - bool endMeasurement = default(true); + string flowName = default(""); // match expression to select which flows to terminate; empty string matches all flows + string endMeasurementTypes = default("*"); // match expression for measurement types to end when the flow terminates: packetEvent, elapsedTime, delayingTime, queueingTime, processingTime, transmissionTime, propagationTime, lifeTime; "*" means all types + bool endMeasurement = default(true); // if true, the measurements for the matching flows are ended (removed from packet tags); if false, measurements are only recorded but not ended @class(FlowMeasurementRecorder); @display("i=block/timer"); @signal[packetFlowMeasured](type=inet::Packet); diff --git a/src/inet/queueing/function/ChangeLog b/src/inet/queueing/function/ChangeLog index 15bfef18604..117a0629951 100644 --- a/src/inet/queueing/function/ChangeLog +++ b/src/inet/queueing/function/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-11-09 Levente Mészáros diff --git a/src/inet/queueing/gate/ChangeLog b/src/inet/queueing/gate/ChangeLog index 96cbc340020..3bea85df01d 100644 --- a/src/inet/queueing/gate/ChangeLog +++ b/src/inet/queueing/gate/ChangeLog @@ -1,5 +1,51 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-05-05 Levente Mészáros + + CreditBasedGate: Changed scheduling the change timer to allow scheduling + for the current simulation time. + + Due to the recent change of the guard condition, the currentCredit and + transmitCreditLimit are always different. The changeTime can be zero if + the difference is very small and the gain rate is very large. + +2023-05-02 Levente Mészáros + + queueing: Added a bit more logging. + +2023-05-05 Levente Mészáros + + CreditBasedGate: There's no need to schedule the change timer when + processing it. + + When the change timer is processed, currentCredit equals to + transmitCreditLimit, so its impossible to reach it again with any gain + rate. + +2023-05-05 Levente Mészáros + + CreditBasedGate: Changed scheduleChangeTimer() to cancel the timer event + if the transmitCreditLimit is unreachable. + + It used to do the changeTime calculation for these cases. + +2023-05-02 Levente Mészáros + + CreditBasedGate: Extracted udpateGateState method. + + Previously the gate state update could trigger a sequence of operations + in other modules that came back to the CreditBasedGate while it was in a + middle of an operation. The gate state should be the last operation that + is done by this module. + + This patch fixes issue #886. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-22 Levente Mészáros @@ -185,4 +231,4 @@ 2020-04-23 Levente Mészáros - Added new gate package with modules: PacketGate and PeriodicGate. + Added new gate package with modules: PacketGate and PeriodicGate.\n \ No newline at end of file diff --git a/src/inet/queueing/gate/CreditBasedGate.cc b/src/inet/queueing/gate/CreditBasedGate.cc index b7091dc243b..f0b6e872791 100644 --- a/src/inet/queueing/gate/CreditBasedGate.cc +++ b/src/inet/queueing/gate/CreditBasedGate.cc @@ -65,14 +65,15 @@ void CreditBasedGate::initialize(int stage) void CreditBasedGate::handleMessage(cMessage *message) { if (message == changeTimer) { + EV_INFO << "Processing change timer" << EV_ENDL; // 1. timer is executed when currentCredit reaches transmitCreditLimit with currentCreditGainRate setCurrentCredit(transmitCreditLimit); // 2. notify listeners and update lastCurrentCreditEmitted emitCurrentCredit(); // 3. update currentCreditGainRate to know the slope when the timer is rescheduled updateCurrentCreditGainRate(); - // 4. reschedule change timer when currentCredit reaches transmitCreditLimit - scheduleChangeTimer(); + // 4. update gate state based on current credit + updateGateState(); } else throw cRuntimeError("Unknown message"); @@ -94,13 +95,15 @@ void CreditBasedGate::scheduleChangeTimer() { ASSERT(lastCurrentCreditEmitted == currentCredit); ASSERT(lastCurrentCreditEmittedTime == simTime()); - if (currentCreditGainRate == 0) + if (currentCreditGainRate == 0 || + (currentCreditGainRate > 0 && transmitCreditLimit <= currentCredit) || + (currentCreditGainRate < 0 && transmitCreditLimit >= currentCredit)) cancelEvent(changeTimer); else { simtime_t now = simTime(); simtime_t changeTime = now + (transmitCreditLimit - currentCredit) / currentCreditGainRate; - EV_TRACE << "Scheduling change timer to " << changeTime << std::endl; - if (changeTime <= now) + EV_DEBUG << "Scheduling change timer to " << changeTime << std::endl; + if (changeTime < now) cancelEvent(changeTimer); else rescheduleAt(changeTime, changeTimer); @@ -118,21 +121,14 @@ void CreditBasedGate::updateCurrentState() updateCurrentCredit(); updateCurrentCreditGainRate(); emitCurrentCredit(); + updateGateState(); } void CreditBasedGate::setCurrentCredit(double value) { if (currentCredit != value) { - EV_TRACE << "Setting currentCredit to " << value << std::endl; + EV_DEBUG << "Setting currentCredit to " << value << std::endl; currentCredit = value; - if (currentCredit >= transmitCreditLimit) { - if (isClosed()) - open(); - } - else { - if (isOpen()) - close(); - } } } @@ -156,7 +152,7 @@ void CreditBasedGate::emitCurrentCredit() void CreditBasedGate::setCurrentCreditGainRate(double value) { if (currentCreditGainRate != value) { - EV_TRACE << "Setting currentCreditGainRate to " << currentCreditGainRate << std::endl; + EV_DEBUG << "Setting currentCreditGainRate to " << currentCreditGainRate << std::endl; currentCreditGainRate = value; } } @@ -173,10 +169,23 @@ void CreditBasedGate::updateCurrentCreditGainRate() setCurrentCreditGainRate(0); } +void CreditBasedGate::updateGateState() +{ + if (currentCredit >= transmitCreditLimit) { + if (isClosed()) + open(); + } + else { + if (isOpen()) + close(); + } +} + void CreditBasedGate::receiveSignal(cComponent *source, simsignal_t simsignal, bool value, cObject *details) { Enter_Method("%s", cComponent::getSignalName(simsignal)); if (simsignal == gateStateChangedSignal || simsignal == PeriodicGate::guardBandStateChangedSignal) { + EV_INFO << "Processing received gate state or guard band state changed signal" << EV_ENDL; // 1. update current state because some time may have elapsed since last update updateCurrentState(); // 2. reschedule change timer when currentCredit reaches transmitCreditLimit @@ -192,6 +201,7 @@ void CreditBasedGate::receiveSignal(cComponent *source, simsignal_t simsignal, d if (simsignal == interpacketGapEndedSignal) { // NOTE: this signal also comes for other packets not in our traffic category if (isInterpacketGap) { + EV_INFO << "Processing received inter-packet gap ended signal" << EV_ENDL; // 1. update current state because some time may have elapsed since last update updateCurrentState(); // 2. update isInterpacketGap state diff --git a/src/inet/queueing/gate/CreditBasedGate.h b/src/inet/queueing/gate/CreditBasedGate.h index a7f25d08229..7cbff356b36 100644 --- a/src/inet/queueing/gate/CreditBasedGate.h +++ b/src/inet/queueing/gate/CreditBasedGate.h @@ -58,6 +58,7 @@ class INET_API CreditBasedGate : public PacketGateBase, public cListener virtual void setCurrentCreditGainRate(double value); virtual void updateCurrentCreditGainRate(); + virtual void updateGateState(); virtual void scheduleChangeTimer(); public: diff --git a/src/inet/queueing/gate/PeriodicGate.cc b/src/inet/queueing/gate/PeriodicGate.cc index 12fa335711d..710595b88ab 100644 --- a/src/inet/queueing/gate/PeriodicGate.cc +++ b/src/inet/queueing/gate/PeriodicGate.cc @@ -129,6 +129,7 @@ void PeriodicGate::scheduleChangeTimer() void PeriodicGate::processChangeTimer() { + EV_INFO << "Processing change timer" << EV_ENDL; if (isOpen_) close(); else @@ -161,6 +162,7 @@ void PeriodicGate::updateIsInGuardBand() } if (isInGuardBand_ != newIsInGuardBand) { isInGuardBand_ = newIsInGuardBand; + EV_INFO << "Changing guard band state" << EV_FIELD(isInGuardBand_) << EV_ENDL; emit(guardBandStateChangedSignal, isInGuardBand_); } } diff --git a/src/inet/queueing/marker/ChangeLog b/src/inet/queueing/marker/ChangeLog index c56327075cd..7d2ac5623ab 100644 --- a/src/inet/queueing/marker/ChangeLog +++ b/src/inet/queueing/marker/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/queueing/meter/ChangeLog b/src/inet/queueing/meter/ChangeLog index c99cffae491..35380b6e48e 100644 --- a/src/inet/queueing/meter/ChangeLog +++ b/src/inet/queueing/meter/ChangeLog @@ -1,5 +1,18 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-05-18 Levente Mészáros + + queueing: Added separate statistics for each token bucket in a + MultiTokemBucketMeter/MultiTokemBucketClassifier. + + Fixes issue #872. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ @@ -57,4 +70,4 @@ components were either ported or completely replaced with components of the new queueing package. - Added new NED simple modules: RateMeter. + Added new NED simple modules: RateMeter.\n \ No newline at end of file diff --git a/src/inet/queueing/meter/MultiTokenBucketMeter.cc b/src/inet/queueing/meter/MultiTokenBucketMeter.cc index 9d37ae70250..b60d3fbb61b 100644 --- a/src/inet/queueing/meter/MultiTokenBucketMeter.cc +++ b/src/inet/queueing/meter/MultiTokenBucketMeter.cc @@ -31,7 +31,7 @@ void MultiTokenBucketMeter::initialize(int stage) void MultiTokenBucketMeter::meterPacket(Packet *packet) { - emit(tokensChangedSignal, getNumTokens()); + emitTokensChangedSignals(); auto numTokens = getNumPacketTokens(packet); for (int i = 0; i < tokenBuckets.size(); i++) { auto& tokenBucket = tokenBuckets[i]; @@ -41,7 +41,7 @@ void MultiTokenBucketMeter::meterPacket(Packet *packet) auto label = labels[i].c_str(); EV_INFO << "Removed tokens, labeling packet" << EV_FIELD(numTokens) << EV_FIELD(tokenBucket) << EV_FIELD(label) << EV_FIELD(packet) << EV_ENDL; packet->addTagIfAbsent()->appendLabels(label); - emit(tokensChangedSignal, getNumTokens()); + emitTokensChangedSignals(); return; } } diff --git a/src/inet/queueing/meter/MultiTokenBucketMeter.h b/src/inet/queueing/meter/MultiTokenBucketMeter.h index 789da1091d2..e343e88b99a 100644 --- a/src/inet/queueing/meter/MultiTokenBucketMeter.h +++ b/src/inet/queueing/meter/MultiTokenBucketMeter.h @@ -26,6 +26,8 @@ class INET_API MultiTokenBucketMeter : public TokenBucketMeterMixingetNumGaps(type)]; // Worst-case size + size_t compressedDataBufferSize = 1 + 6 * gapList->getNumGaps(type); + uint8_t *compressedDataBuffer = new uint8_t[compressedDataBufferSize]; // Worst-case size size_t outputPos = 0; unsigned int entriesWritten = 0; @@ -1448,8 +1449,8 @@ static uint32_t compressGaps(const SctpGapList *gapList, const SctpGapList::GapT const uint16_t startOffset = gapList->getGapStart(type, i) - last; const uint16_t stopOffset = gapList->getGapStop(type, i) - gapList->getGapStart(type, i); const size_t lastOutputPos = outputPos; - if ((writeCompressedValue((uint8_t *)&compressedDataBuffer, sizeof(compressedDataBuffer), outputPos, startOffset) == false) || - (writeCompressedValue((uint8_t *)&compressedDataBuffer, sizeof(compressedDataBuffer), outputPos, stopOffset) == false) || + if ((writeCompressedValue(compressedDataBuffer, compressedDataBufferSize, outputPos, startOffset) == false) || + (writeCompressedValue(compressedDataBuffer, compressedDataBufferSize, outputPos, stopOffset) == false) || (outputPos + 1 > space)) { outputPos = lastOutputPos; @@ -1458,9 +1459,10 @@ static uint32_t compressGaps(const SctpGapList *gapList, const SctpGapList::GapT entriesWritten++; last = gapList->getGapStop(type, i); } - assert(writeCompressedValue((uint8_t *)&compressedDataBuffer, sizeof(compressedDataBuffer), outputPos, 0x00) == true); + assert(writeCompressedValue(compressedDataBuffer, compressedDataBufferSize, outputPos, 0x00) == true); space = outputPos; + delete [] compressedDataBuffer; return entriesWritten; } diff --git a/src/inet/transportlayer/sctp/SctpHeaderSerializer.cc b/src/inet/transportlayer/sctp/SctpHeaderSerializer.cc index 13cc0d52040..0be20df74cd 100644 --- a/src/inet/transportlayer/sctp/SctpHeaderSerializer.cc +++ b/src/inet/transportlayer/sctp/SctpHeaderSerializer.cc @@ -1124,11 +1124,11 @@ const Ptr SctpHeaderSerializer::deserialize(MemoryInputStream& stream) co // auto position = stream.getPosition(); int bufsize = B(stream.getRemainingLength()).get(); - uint8_t buffer[bufsize]; + uint8_t *buffer = new uint8_t[bufsize]; stream.readBytes(buffer, B(bufsize)); auto dest = makeShared(); - struct common_header *common_header = (struct common_header *)((void *)&buffer); + struct common_header *common_header = (struct common_header *)((void *)buffer); int32_t tempChecksum = common_header->checksum; common_header->checksum = 0; int32_t chksum = SctpChecksum::checksum((unsigned char *)common_header, bufsize); @@ -1156,6 +1156,7 @@ const Ptr SctpHeaderSerializer::deserialize(MemoryInputStream& stream) co int32_t chunkType = chunk->type; woPadding = ntohs(chunk->length); if (woPadding == 0) { + delete [] buffer; return dest; } cLen = ADD_PADDING(woPadding); @@ -2147,6 +2148,7 @@ const Ptr SctpHeaderSerializer::deserialize(MemoryInputStream& stream) co chunkPtr += cLen; } // end of while() EV_INFO << "SctpSerializer - pkt info - " << B(dest->getChunkLength()).get() << " bytes" << endl; + delete [] buffer; return dest; } diff --git a/src/inet/transportlayer/tcp/ChangeLog b/src/inet/transportlayer/tcp/ChangeLog index a2dae85fc9b..7ec929e001f 100644 --- a/src/inet/transportlayer/tcp/ChangeLog +++ b/src/inet/transportlayer/tcp/ChangeLog @@ -1,5 +1,16 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-21 Levente Meszaros + + Tcp: Temporarily removed @enum from tcpAlgorithmClass parameter because + omnetpp 6.1 checks it strictly. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-10-06 Andras Varga @@ -1249,4 +1260,4 @@ 2003-09-23 Andras Varga - Check of the original TCP code ("TcpModule") from the Karlsruhe IPSuite + Check of the original TCP code ("TcpModule") from the Karlsruhe IPSuite\n \ No newline at end of file diff --git a/src/inet/transportlayer/tcp/Tcp.ned b/src/inet/transportlayer/tcp/Tcp.ned index 6f7b5f3bb79..437f92bcbb9 100644 --- a/src/inet/transportlayer/tcp/Tcp.ned +++ b/src/inet/transportlayer/tcp/Tcp.ned @@ -195,7 +195,7 @@ simple Tcp like ITcp bool timestampSupport = default(false); // Timestamps (RFC 1323) support (header option) (TS will be enabled for a connection if both endpoints support it) int mss = default(536); // Maximum Segment Size (RFC 793) (header option) int msl @unit(s) = default(120s); // Maximum Segment Lifetime - string tcpAlgorithmClass @enum("TcpVegas", "TcpWestwood", "TcpNewReno", "TcpReno", "TcpTahoe", "TcpNoCongestionControl") = default("TcpReno"); + string tcpAlgorithmClass = default("TcpReno"); // TODO: use the following @enum or similar, but it must allow new values for user defined algorithms (omnetpp-6.1 checks @enum strictly): @enum("TcpVegas", "TcpWestwood", "TcpNewReno", "TcpReno", "TcpTahoe", "TcpNoCongestionControl") bool useDataNotification = default(false); // turn the notifications for arrived data on or off int dupthresh = default(3); // used for TcpTahoe, TcpReno and SACK (RFC 3517) DO NOT change unless you really know what you are doing int initialSsthresh = default(0xFFFFFFFF); // initial value for Slow Start threshold used in TahoeRenoFamily. The initial value of ssthresh SHOULD be set arbitrarily high (e.g.,to the size of the largest possible advertised window) Without user interaction there is no limit... diff --git a/src/inet/transportlayer/tcp/flavours/ChangeLog b/src/inet/transportlayer/tcp/flavours/ChangeLog index dbb2ba584ea..1b546d48bc6 100644 --- a/src/inet/transportlayer/tcp/flavours/ChangeLog +++ b/src/inet/transportlayer/tcp/flavours/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/transportlayer/tcp_common/ChangeLog b/src/inet/transportlayer/tcp_common/ChangeLog index ca9805bed90..cdb48d35b10 100644 --- a/src/inet/transportlayer/tcp_common/ChangeLog +++ b/src/inet/transportlayer/tcp_common/ChangeLog @@ -1,5 +1,21 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-10-16 Levente Meszaros + + all: Fixed passing in the buffer pointer introduced by path all: Fixed + 'warning: variable length arrays in C++ are a Clang extension'. + +2024-10-14 Levente Meszaros + + all: Fixed 'warning: variable length arrays in C++ are a Clang + extension'. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-07-21 Zoltan Bojthe @@ -441,4 +457,4 @@ 2011-05-11 Rudolf Hornig - TCP rename step 2 + TCP rename step 2\n \ No newline at end of file diff --git a/src/inet/transportlayer/tcp_common/TcpHeaderSerializer.cc b/src/inet/transportlayer/tcp_common/TcpHeaderSerializer.cc index e7ba6e463a9..84e955cdfc5 100644 --- a/src/inet/transportlayer/tcp_common/TcpHeaderSerializer.cc +++ b/src/inet/transportlayer/tcp_common/TcpHeaderSerializer.cc @@ -157,10 +157,10 @@ void TcpHeaderSerializer::serializeOption(MemoryOutputStream& stream, const TcpO const Ptr TcpHeaderSerializer::deserialize(MemoryInputStream& stream) const { auto position = stream.getPosition(); - uint8_t buffer[B(TCP_MIN_HEADER_LENGTH).get()]; + uint8_t *buffer = new uint8_t[B(TCP_MIN_HEADER_LENGTH).get()]; stream.readBytes(buffer, TCP_MIN_HEADER_LENGTH); auto tcpHeader = makeShared(); - const struct tcphdr& tcp = *static_cast((void *)&buffer); + const struct tcphdr& tcp = *static_cast((void *)buffer); ASSERT(B(sizeof(tcp)) == TCP_MIN_HEADER_LENGTH); // fill Tcp header structure @@ -194,6 +194,7 @@ const Ptr TcpHeaderSerializer::deserialize(MemoryInputStream& stream) con tcpHeader->setHeaderLength(headerLength); tcpHeader->setCrc(ntohs(tcp.th_sum)); tcpHeader->setCrcMode(CRC_COMPUTED); + delete [] buffer; return tcpHeader; } diff --git a/src/inet/transportlayer/tcp_lwip/ChangeLog b/src/inet/transportlayer/tcp_lwip/ChangeLog index 81b44e68a9a..8fd9e39d863 100644 --- a/src/inet/transportlayer/tcp_lwip/ChangeLog +++ b/src/inet/transportlayer/tcp_lwip/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-20 Andras Varga diff --git a/src/inet/transportlayer/tcp_lwip/lwip/ChangeLog b/src/inet/transportlayer/tcp_lwip/lwip/ChangeLog index eac24fdf901..c8c73b5dcdc 100644 --- a/src/inet/transportlayer/tcp_lwip/lwip/ChangeLog +++ b/src/inet/transportlayer/tcp_lwip/lwip/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/transportlayer/tcp_lwip/lwip/include/ChangeLog b/src/inet/transportlayer/tcp_lwip/lwip/include/ChangeLog index e9c6c699031..f8abe3f627c 100644 --- a/src/inet/transportlayer/tcp_lwip/lwip/include/ChangeLog +++ b/src/inet/transportlayer/tcp_lwip/lwip/include/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/transportlayer/tcp_lwip/lwip/include/lwip/ChangeLog b/src/inet/transportlayer/tcp_lwip/lwip/include/lwip/ChangeLog index eac24fdf901..c8c73b5dcdc 100644 --- a/src/inet/transportlayer/tcp_lwip/lwip/include/lwip/ChangeLog +++ b/src/inet/transportlayer/tcp_lwip/lwip/include/lwip/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/transportlayer/tcp_lwip/queues/ChangeLog b/src/inet/transportlayer/tcp_lwip/queues/ChangeLog index b19cbcd8b9e..88b5f863a8a 100644 --- a/src/inet/transportlayer/tcp_lwip/queues/ChangeLog +++ b/src/inet/transportlayer/tcp_lwip/queues/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/transportlayer/udp/ChangeLog b/src/inet/transportlayer/udp/ChangeLog index a3ee2e9ccd8..64e59acbca0 100644 --- a/src/inet/transportlayer/udp/ChangeLog +++ b/src/inet/transportlayer/udp/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-07-08 Zoltan Bojthe diff --git a/src/inet/visualizer/base/ChangeLog b/src/inet/visualizer/base/ChangeLog index 2a19af47c4e..b85b6cb12f1 100644 --- a/src/inet/visualizer/base/ChangeLog +++ b/src/inet/visualizer/base/ChangeLog @@ -1,9 +1,22 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2024-05-08 Levente Meszaros + + visualizer: Replaced @enum("light", "dark") with documentation. + + Omnetpp now checks the value against the values found in @enum, and these + parameters allow for arbitrary color names, so the enumeration was wrong. + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-10 Levente Mészáros - + Removed name != nullptr checks from handleParameterChange. 2023-02-21 Zoltan Bojthe @@ -577,4 +590,4 @@ NetworkNodeVisualizerBase, NetworkConnectionVisualizerBase, PhysicalEnvironmentVisualizerBase, RouteVisualizerBase, SceneOsgVisualizerBase, SceneVisualizerBase, StatisticVisualizerBase, - TracingObstacleLossVisualizerBase, VisualizerBase + TracingObstacleLossVisualizerBase, VisualizerBase\n \ No newline at end of file diff --git a/src/inet/visualizer/base/Ieee80211VisualizerBase.ned b/src/inet/visualizer/base/Ieee80211VisualizerBase.ned index 3bee397d21c..349085c0669 100644 --- a/src/inet/visualizer/base/Ieee80211VisualizerBase.ned +++ b/src/inet/visualizer/base/Ieee80211VisualizerBase.ned @@ -32,7 +32,7 @@ simple Ieee80211VisualizerBase extends VisualizerBase double maxPower @unit(dBm) = default(-50dBm); // maximum expeceted signal power string icons = default("misc/signal_power_0 misc/signal_power_1 misc/signal_power_2 misc/signal_power_3"); // wireless network visualization icon for different signal powers - string iconColor @enum("light", "dark") = default("dark"); // wireless network icon color is a list of colors, a set of dark colors by default + string iconColor = default("dark"); // wireless network icon color is a list of colors or a color group name (e.g. dark, light), a set of dark colors by default string labelFont = default(""); // label font, automatic by default string labelColor = default("black"); // label color, black by default string placementHint = default("top"); // annotation placement hint, space separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. diff --git a/src/inet/visualizer/base/MediumVisualizerBase.ned b/src/inet/visualizer/base/MediumVisualizerBase.ned index cd805ed4981..7cdd1324f04 100644 --- a/src/inet/visualizer/base/MediumVisualizerBase.ned +++ b/src/inet/visualizer/base/MediumVisualizerBase.ned @@ -29,7 +29,7 @@ simple MediumVisualizerBase extends VisualizerBase object packetFilter @mutable = default("*"); // which packets are considered, matches all packets by default bool displaySignals = default(false); // display signals propagating through the medium, disabled by default - string signalColor @enum("light", "dark") = default("dark"); // signal color is a list of colors, a set of dark colors by default + string signalColor = default("dark"); // signal color is a list of colors or a color group name (e.g. dark, light), a set of dark colors by default double signalPropagationAnimationSpeed @mutable = default(nan); // animation speed while the very beginning or end of a signal is propagating on the medium, value must be in the range (0, +inf) or NaN, the latter means automatic setting double signalPropagationAnimationTime @unit(s) = default(1s); // signal propagation animation duration when signalPropagationAnimationSpeed is unspecified double signalPropagationAdditionalTime @unit(s) = default(0s); // additional simulation time to animate signal propagation after leaving last receiver diff --git a/src/inet/visualizer/base/MobilityVisualizerBase.ned b/src/inet/visualizer/base/MobilityVisualizerBase.ned index 182cce158fd..7beecc33ad5 100644 --- a/src/inet/visualizer/base/MobilityVisualizerBase.ned +++ b/src/inet/visualizer/base/MobilityVisualizerBase.ned @@ -28,8 +28,8 @@ simple MobilityVisualizerBase extends VisualizerBase bool displayPositions = default(false); // display a circle indicating the current position, disabled by default double positionCircleRadius = default(4); // radius of the circle double positionCircleLineWidth = default(1); // line width of the circle - string positionCircleLineColor @enum("light", "dark") = default("dark"); // position circle line color is a list of colors, a set of dark colors by default - string positionCircleFillColor @enum("light", "dark") = default("dark"); // position circle fill color is a list of colors, a set of dark colors by default + string positionCircleLineColor = default("dark"); // position circle line color is a list of colors or a color group name (e.g. dark, light), a set of dark colors by default + string positionCircleFillColor = default("dark"); // position circle fill color is a list of colors or a color group name (e.g. dark, light), a set of dark colors by default bool displayOrientations = default(false); // display a pie indicating the current orientation, disabled by default double orientationPieRadius = default(32); // radius of the pie @@ -47,7 +47,7 @@ simple MobilityVisualizerBase extends VisualizerBase double velocityLineWidth = default(1); // velocity line width bool displayMovementTrails = default(false); // display a line along the recent path of mobilities, disabled by default - string movementTrailLineColor @enum("light", "dark") = default("dark"); // movement trail line color is a list of colors, a set of dark colors by default + string movementTrailLineColor = default("dark"); // movement trail line color is a list of colors or a color group name (e.g. dark, light), a set of dark colors by default string movementTrailLineStyle = default("solid"); // movement trail line style (solid, dashed, dotted) double movementTrailLineWidth = default(1); // movement trail line width int trailLength = default(100); // number of sections in the trail diff --git a/src/inet/visualizer/base/PathVisualizerBase.ned b/src/inet/visualizer/base/PathVisualizerBase.ned index ac40e559624..65cfc56c0ee 100644 --- a/src/inet/visualizer/base/PathVisualizerBase.ned +++ b/src/inet/visualizer/base/PathVisualizerBase.ned @@ -46,7 +46,7 @@ simple PathVisualizerBase extends VisualizerBase string nodeFilter @mutable = default("*"); // which nodes are considered, matches all nodes by default object packetFilter @mutable = default("*"); // which packets are considered, matches all packets by default - string lineColor @enum("light", "dark") = default("dark"); // route color is a list of colors, a set of dark colors by default + string lineColor = default("dark"); // route color is a list of colors or a color group name (e.g. dark, light), a set of dark colors by default string lineStyle = default("solid"); // route line style (solid, dashed, dotted) double lineWidth = default(3); // route line width bool lineSmooth = default(false); // when true polylines are displayed as curves diff --git a/src/inet/visualizer/base/QueueVisualizerBase.h b/src/inet/visualizer/base/QueueVisualizerBase.h index 6080616bdfc..466fa4a302a 100644 --- a/src/inet/visualizer/base/QueueVisualizerBase.h +++ b/src/inet/visualizer/base/QueueVisualizerBase.h @@ -8,7 +8,7 @@ #ifndef __INET_QUEUEVISUALIZERBASE_H #define __INET_QUEUEVISUALIZERBASE_H -#include "inet/common/Compat.h" +#include "inet/common/INETDefs.h" #include "inet/queueing/contract/IPacketQueue.h" #include "inet/visualizer/base/VisualizerBase.h" #include "inet/visualizer/util/Placement.h" diff --git a/src/inet/visualizer/base/TransportConnectionVisualizerBase.ned b/src/inet/visualizer/base/TransportConnectionVisualizerBase.ned index 68a8c3a0e08..ccf038c030c 100644 --- a/src/inet/visualizer/base/TransportConnectionVisualizerBase.ned +++ b/src/inet/visualizer/base/TransportConnectionVisualizerBase.ned @@ -32,7 +32,7 @@ simple TransportConnectionVisualizerBase extends VisualizerBase string destinationPortFilter @mutable = default("*"); // which destination ports are considered to display connections, matches all ports by default string icon = default("misc/marker_s"); // transport connection visualization icon - string iconColor @enum("light", "dark") = default("dark"); // transport connection icon color is a list of colors, a set of dark colors by default + string iconColor = default("dark"); // transport connection icon color is a list of colors or a color group name (e.g. dark, light), a set of dark colors by default string labelFont = default(""); // label font, automatic by default string labelColor = default("black"); // label color, black by default string placementHint = default("top"); // annotation placement hint, space separated list of any, top, bottom, left, right, topLeft, topCenter, topRight, etc. diff --git a/src/inet/visualizer/base/TreeVisualizerBase.ned b/src/inet/visualizer/base/TreeVisualizerBase.ned index b462a8dc39d..a730a3df917 100644 --- a/src/inet/visualizer/base/TreeVisualizerBase.ned +++ b/src/inet/visualizer/base/TreeVisualizerBase.ned @@ -12,7 +12,7 @@ simple TreeVisualizerBase extends VisualizerBase parameters: bool displayTrees = default(false); // display a set of polyline arrows for trees, disabled by default - string lineColor @enum("light", "dark") = default("dark"); // line color is a list of colors, a set of dark colors by default + string lineColor = default("dark"); // line color is a list of colors or a color group name (e.g. dark, light), a set of dark colors by default string lineStyle = default("solid"); // line style (solid, dashed, dotted) double lineWidth = default(3); // line width bool lineSmooth = default(false); // when true polylines are displayed as curves diff --git a/src/inet/visualizer/canvas/base/ChangeLog b/src/inet/visualizer/canvas/base/ChangeLog index 900617c0b2b..9274fdc5dbf 100644 --- a/src/inet/visualizer/canvas/base/ChangeLog +++ b/src/inet/visualizer/canvas/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2021-05-19 Levente Mészáros diff --git a/src/inet/visualizer/canvas/common/ChangeLog b/src/inet/visualizer/canvas/common/ChangeLog index 38436c64b0e..4cc5158b81a 100644 --- a/src/inet/visualizer/canvas/common/ChangeLog +++ b/src/inet/visualizer/canvas/common/ChangeLog @@ -1,5 +1,29 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-29 Andras Varga + + GateScheduleCanvasVisualizer: fix runtime error on Windows + + The "displayTime=..." line produced simtime overflow error, because + indexStart was bogus a huge positive integer. + + It was computed as: + + auto indexStart = (int)... * durations.size(); + + which is signed * unsigned multiplication, whose result was signed on + Linux, and unsigned on Windows. + + Workaround: factor out durations.size() as int numDurations, to eliminate + mixed-sign multiplications in the code. Also, make indexStart / indexEnd + explicit signed int. + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-09-26 Andras Varga diff --git a/src/inet/visualizer/canvas/common/GateScheduleCanvasVisualizer.cc b/src/inet/visualizer/canvas/common/GateScheduleCanvasVisualizer.cc index b79f98db684..1ccab760b5b 100644 --- a/src/inet/visualizer/canvas/common/GateScheduleCanvasVisualizer.cc +++ b/src/inet/visualizer/canvas/common/GateScheduleCanvasVisualizer.cc @@ -80,7 +80,8 @@ void GateScheduleCanvasVisualizer::refreshGateVisualization(const GateVisualizat auto durations = gate->getDurations(); bool open = gate->getInitiallyOpen(); clocktime_t scheduleDuration = 0; - for (int i = 0; i < durations.size(); i++) + int numDurations = (int)durations.size(); // make it signed, to avoid mixed-sign multiplications in the code below + for (int i = 0; i < numDurations; i++) scheduleDuration += durations[i]; if (scheduleDuration == 0) figure->addSchedule(0, width, open); @@ -90,12 +91,12 @@ void GateScheduleCanvasVisualizer::refreshGateVisualization(const GateVisualizat clocktime_t schedulePosition = std::fmod((currentTime + gate->getInitialOffset()).dbl(), scheduleDuration.dbl()); auto scheduleDisplayStart = schedulePosition - (currentTimePosition / width) * displayDuration; auto scheduleDisplayEnd = scheduleDisplayStart + displayDuration; - auto indexStart = (int)std::floor(scheduleDisplayStart.dbl() / scheduleDuration.dbl()) * durations.size(); - auto indexEnd = (int)std::ceil(scheduleDisplayEnd.dbl() / scheduleDuration.dbl()) * durations.size(); - clocktime_t displayTime = currentTime - schedulePosition + indexStart / durations.size() * scheduleDuration; + int indexStart = (int)std::floor(scheduleDisplayStart.dbl() / scheduleDuration.dbl()) * numDurations; + int indexEnd = (int)std::ceil(scheduleDisplayEnd.dbl() / scheduleDuration.dbl()) * numDurations; + clocktime_t displayTime = currentTime - schedulePosition + indexStart / numDurations * scheduleDuration; figure->clearSchedule(); for (int i = indexStart; i <= indexEnd; i++) { - auto duration = durations[(i + durations.size()) % durations.size()]; + auto duration = durations[(i + numDurations) % numDurations]; clocktime_t startTime = displayTime - currentTime; clocktime_t endTime = displayTime + duration - currentTime; double factor = width / displayDuration.dbl(); diff --git a/src/inet/visualizer/canvas/configurator/ChangeLog b/src/inet/visualizer/canvas/configurator/ChangeLog index a3ea3b49e33..174e2d9c18c 100644 --- a/src/inet/visualizer/canvas/configurator/ChangeLog +++ b/src/inet/visualizer/canvas/configurator/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/canvas/environment/ChangeLog b/src/inet/visualizer/canvas/environment/ChangeLog index e21373d122d..7273192a4f3 100644 --- a/src/inet/visualizer/canvas/environment/ChangeLog +++ b/src/inet/visualizer/canvas/environment/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/canvas/flow/ChangeLog b/src/inet/visualizer/canvas/flow/ChangeLog index 69f132bc028..8624d2e82d4 100644 --- a/src/inet/visualizer/canvas/flow/ChangeLog +++ b/src/inet/visualizer/canvas/flow/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/canvas/integrated/ChangeLog b/src/inet/visualizer/canvas/integrated/ChangeLog index 903d9898c79..8c1057a07a2 100644 --- a/src/inet/visualizer/canvas/integrated/ChangeLog +++ b/src/inet/visualizer/canvas/integrated/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/canvas/linklayer/ChangeLog b/src/inet/visualizer/canvas/linklayer/ChangeLog index e6e47f3f510..03cbb5093c6 100644 --- a/src/inet/visualizer/canvas/linklayer/ChangeLog +++ b/src/inet/visualizer/canvas/linklayer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/canvas/mobility/ChangeLog b/src/inet/visualizer/canvas/mobility/ChangeLog index b188a9c2179..4ddbca32301 100644 --- a/src/inet/visualizer/canvas/mobility/ChangeLog +++ b/src/inet/visualizer/canvas/mobility/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/canvas/networklayer/ChangeLog b/src/inet/visualizer/canvas/networklayer/ChangeLog index 55109b84596..77a51024f4e 100644 --- a/src/inet/visualizer/canvas/networklayer/ChangeLog +++ b/src/inet/visualizer/canvas/networklayer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/canvas/physicallayer/ChangeLog b/src/inet/visualizer/canvas/physicallayer/ChangeLog index 2d7d02b0a67..8d2d4e5f648 100644 --- a/src/inet/visualizer/canvas/physicallayer/ChangeLog +++ b/src/inet/visualizer/canvas/physicallayer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/canvas/power/ChangeLog b/src/inet/visualizer/canvas/power/ChangeLog index 8a83d0f8310..2afa97e6b8a 100644 --- a/src/inet/visualizer/canvas/power/ChangeLog +++ b/src/inet/visualizer/canvas/power/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/canvas/scene/ChangeLog b/src/inet/visualizer/canvas/scene/ChangeLog index 0e1949b7ea7..f5f7ca8cc69 100644 --- a/src/inet/visualizer/canvas/scene/ChangeLog +++ b/src/inet/visualizer/canvas/scene/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2023-03-10 Levente Mészáros diff --git a/src/inet/visualizer/canvas/transportlayer/ChangeLog b/src/inet/visualizer/canvas/transportlayer/ChangeLog index 0aefc5e9894..0983142e377 100644 --- a/src/inet/visualizer/canvas/transportlayer/ChangeLog +++ b/src/inet/visualizer/canvas/transportlayer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/common/ChangeLog b/src/inet/visualizer/common/ChangeLog index 927b717fd7b..a2691c80dbf 100644 --- a/src/inet/visualizer/common/ChangeLog +++ b/src/inet/visualizer/common/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2021-02-16 Levente Mészáros diff --git a/src/inet/visualizer/contract/ChangeLog b/src/inet/visualizer/contract/ChangeLog index c121f3f95d8..fbf78a5761a 100644 --- a/src/inet/visualizer/contract/ChangeLog +++ b/src/inet/visualizer/contract/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/osg/base/ChangeLog b/src/inet/visualizer/osg/base/ChangeLog index b37637608a7..765fc3859be 100644 --- a/src/inet/visualizer/osg/base/ChangeLog +++ b/src/inet/visualizer/osg/base/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2020-12-09 Levente Mészáros diff --git a/src/inet/visualizer/osg/common/ChangeLog b/src/inet/visualizer/osg/common/ChangeLog index d64062bc95d..e154d40422c 100644 --- a/src/inet/visualizer/osg/common/ChangeLog +++ b/src/inet/visualizer/osg/common/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/osg/environment/ChangeLog b/src/inet/visualizer/osg/environment/ChangeLog index e21373d122d..7273192a4f3 100644 --- a/src/inet/visualizer/osg/environment/ChangeLog +++ b/src/inet/visualizer/osg/environment/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/osg/flow/ChangeLog b/src/inet/visualizer/osg/flow/ChangeLog index 69f132bc028..8624d2e82d4 100644 --- a/src/inet/visualizer/osg/flow/ChangeLog +++ b/src/inet/visualizer/osg/flow/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/osg/integrated/ChangeLog b/src/inet/visualizer/osg/integrated/ChangeLog index 23156cfdd81..e5f708fa04c 100644 --- a/src/inet/visualizer/osg/integrated/ChangeLog +++ b/src/inet/visualizer/osg/integrated/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/osg/linklayer/ChangeLog b/src/inet/visualizer/osg/linklayer/ChangeLog index c0cb07807d4..febe58ce75e 100644 --- a/src/inet/visualizer/osg/linklayer/ChangeLog +++ b/src/inet/visualizer/osg/linklayer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/osg/mobility/ChangeLog b/src/inet/visualizer/osg/mobility/ChangeLog index b188a9c2179..4ddbca32301 100644 --- a/src/inet/visualizer/osg/mobility/ChangeLog +++ b/src/inet/visualizer/osg/mobility/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/osg/networklayer/ChangeLog b/src/inet/visualizer/osg/networklayer/ChangeLog index 7463504c7c6..0af64b6f443 100644 --- a/src/inet/visualizer/osg/networklayer/ChangeLog +++ b/src/inet/visualizer/osg/networklayer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/osg/physicallayer/ChangeLog b/src/inet/visualizer/osg/physicallayer/ChangeLog index bd55fd599d2..39cb5cc2ee5 100644 --- a/src/inet/visualizer/osg/physicallayer/ChangeLog +++ b/src/inet/visualizer/osg/physicallayer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/osg/power/ChangeLog b/src/inet/visualizer/osg/power/ChangeLog index 2f308683bae..b18e3dd31fb 100644 --- a/src/inet/visualizer/osg/power/ChangeLog +++ b/src/inet/visualizer/osg/power/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/osg/scene/ChangeLog b/src/inet/visualizer/osg/scene/ChangeLog index a03eb91000d..b050b7eccf4 100644 --- a/src/inet/visualizer/osg/scene/ChangeLog +++ b/src/inet/visualizer/osg/scene/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/osg/transportlayer/ChangeLog b/src/inet/visualizer/osg/transportlayer/ChangeLog index 0aefc5e9894..0983142e377 100644 --- a/src/inet/visualizer/osg/transportlayer/ChangeLog +++ b/src/inet/visualizer/osg/transportlayer/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-05-13 ------ inet-4.4.0 released ------ diff --git a/src/inet/visualizer/osg/util/ChangeLog b/src/inet/visualizer/osg/util/ChangeLog index dad9270aafb..b5a10fb6465 100644 --- a/src/inet/visualizer/osg/util/ChangeLog +++ b/src/inet/visualizer/osg/util/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2020-12-09 Zoltan Bojthe diff --git a/src/inet/visualizer/util/ChangeLog b/src/inet/visualizer/util/ChangeLog index 397a518d4aa..2fa2abca7b0 100644 --- a/src/inet/visualizer/util/ChangeLog +++ b/src/inet/visualizer/util/ChangeLog @@ -1,5 +1,11 @@ ====== inet-4.x ====== +2024-10-29 ------ inet-4.5.4 released ------ + +2023-08-29 ------ inet-4.5.2 released ------ + +2023-08-24 ------ inet-4.5.1 released ------ + 2023-04-04 ------ inet-4.5.0 released ------ 2022-12-13 Andras Varga diff --git a/tests/fingerprint/showcases.csv b/tests/fingerprint/showcases.csv index b964c59e680..9b009f7153e 100644 --- a/tests/fingerprint/showcases.csv +++ b/tests/fingerprint/showcases.csv @@ -56,7 +56,7 @@ #/showcases/tsn/combiningfeatures/invehicle/, -f omnetpp.ini -c AutomaticTsn -r 0, 10ms, 66d0-84af/tplx;c268-fae7/~tNl;0d5b-c7a9/~tND;e74e-6ba9/tyf, PASS, /showcases/tsn/cutthroughswitching/, -f omnetpp.ini -c StoreAndForward -r 0, 1s, e93f-4829/tplx;2186-4b4a/~tNl;5033-eee8/~tND;e7ea-c40a/tyf, PASS, -/showcases/tsn/cutthroughswitching/, -f omnetpp.ini -c CutthroughSwitching -r 0, 1s, 0ab4-ef40/tplx;5eb9-4c6e/~tNl;ef8a-23e5/~tND;2bfc-0f59/tyf, PASS, +/showcases/tsn/cutthroughswitching/, -f omnetpp.ini -c CutthroughSwitching -r 0, 1s, d29e-0238/tplx;e65e-6c0d/~tNl;c30f-92f5/~tND;2bfc-0f59/tyf, PASS, /showcases/tsn/framepreemption/, -f omnetpp.ini -c FifoQueueing -r 0, 1s, 5ef8-0e2f/tplx;5254-8176/~tNl;734d-28bc/~tND;f14d-148e/tyf, PASS, /showcases/tsn/framepreemption/, -f omnetpp.ini -c PriorityQueueing -r 0, 1s, 3171-cda0/tplx;48c5-41c7/~tNl;f7ae-7530/~tND;19c3-ba2a/tyf, PASS, @@ -92,7 +92,7 @@ /showcases/tsn/trafficshaping/asynchronousshaper/, -f omnetpp.ini -c General -r 0, 1s, a6db-6ed1/tplx;8d12-75d2/~tNl;8efb-e1d5/~tND;59c1-11f6/tyf, PASS, /showcases/tsn/trafficshaping/creditbasedshaper/, -f omnetpp.ini -c General -r 0, 1s, d076-0173/tplx;0025-5e6d/~tNl;1f26-0766/~tND;7a91-98b4/tyf, PASS, /showcases/tsn/trafficshaping/cbsandats/, -f omnetpp.ini -c General -r 0, 1s, ba9e-b2e2/tplx;6452-3ac0/~tNl;f93a-eb49/~tND;6dce-0c5c/tyf, PASS, -/showcases/tsn/trafficshaping/cbsandtas/, -f omnetpp.ini -c General -r 0, 1s, dd4e-6bc0/tplx;1cbb-33eb/~tNl;6011-df0a/~tND;6dce-0c5c/tyf, PASS, +/showcases/tsn/trafficshaping/cbsandtas/, -f omnetpp.ini -c General -r 0, 1s, b125-cb8b/tplx;58b9-13ee/~tNl;f759-b9a8/~tND;6dce-0c5c/tyf, PASS, /showcases/tsn/trafficshaping/timeawareshaper/, -f omnetpp.ini -c General -r 0, 1s, a3f3-82c6/tplx;ae6c-571a/~tNl;4bd6-0bf1/~tND;0e56-93d9/tyf, PASS, /showcases/tsn/trafficshaping/underthehood/, -f omnetpp.ini -c General -r 0, 1s, c6b4-d64d/tplx;0000-0000/~tNl;0000-0000/~tND;0a0d-68d4/tyf, PASS, diff --git a/tests/module/lib/Makefile b/tests/module/lib/Makefile new file mode 100644 index 00000000000..8f2fc78f7c4 --- /dev/null +++ b/tests/module/lib/Makefile @@ -0,0 +1,168 @@ +# +# OMNeT++/OMNEST Makefile for $(LIB_PREFIX)test +# +# This file was generated with the command: +# opp_makemake -f --deep -s -o test -lINET$(D) -L../../../src -I../../../src +# + +# Name of target to be created (-o option) +TARGET_DIR = . +TARGET_NAME = $(LIB_PREFIX)test$(D) +TARGET = $(TARGET_NAME)$(SHARED_LIB_SUFFIX) +TARGET_IMPLIB = $(TARGET_NAME)$(IMPLIB_SUFFIX) +TARGET_IMPDEF = $(TARGET_NAME)$(IMPDEF_SUFFIX) +TARGET_FILES = $(TARGET_DIR)/$(TARGET) + +# C++ include paths (with -I) +INCLUDE_PATH = -I../../../src + +# Additional object and library files to link with +EXTRA_OBJS = + +# Additional libraries (-L, -l options) +LIBS = $(LDFLAG_LIBPATH)../../../src -lINET$(D) + +# Output directory +PROJECT_OUTPUT_DIR = ../../../out +PROJECTRELATIVE_PATH = tests/module/lib +O = $(PROJECT_OUTPUT_DIR)/$(CONFIGNAME)/$(PROJECTRELATIVE_PATH) + +# Object files for local .cc, .msg and .sm files +OBJS = \ + $O/EthTestApp.o \ + $O/IGMPTester.o \ + $O/MeterTestApp.o \ + $O/PacketDump.o \ + $O/PacketLoggerChannel.o \ + $O/PolyhedronTest.o \ + $O/QQ.o \ + $O/RoutingTableLogger.o \ + $O/TcpTestClient.o \ + $O/TCPTester.o \ + $O/TestIGMP.o \ + $O/ieee80211/Ieee80211BitDomainTest.o \ + $O/ieee80211/Ieee80211SymbolDomainTest.o \ + $O/ieee80211retransmissiontest/Ieee80211TesterMac.o \ + $O/ieee80211retransmissiontest/MpduGen.o + +# Message files +MSGFILES = + +# SM files +SMFILES = + +#------------------------------------------------------------------------------ + +# Pull in OMNeT++ configuration (Makefile.inc) + +ifneq ("$(OMNETPP_CONFIGFILE)","") +CONFIGFILE = $(OMNETPP_CONFIGFILE) +else +CONFIGFILE = $(shell opp_configfilepath) +endif + +ifeq ("$(wildcard $(CONFIGFILE))","") +$(error Config file '$(CONFIGFILE)' does not exist -- add the OMNeT++ bin directory to the path so that opp_configfilepath can be found, or set the OMNETPP_CONFIGFILE variable to point to Makefile.inc) +endif + +include $(CONFIGFILE) + +# Simulation kernel and user interface libraries +OMNETPP_LIBS = -loppenvir$D $(KERNEL_LIBS) $(SYS_LIBS) +ifneq ($(PLATFORM),win32) +LIBS += -Wl,-rpath,$(abspath ../../../src) +endif + +COPTS = $(CFLAGS) $(IMPORT_DEFINES) $(INCLUDE_PATH) -I$(OMNETPP_INCL_DIR) +MSGCOPTS = $(INCLUDE_PATH) +SMCOPTS = + +# we want to recompile everything if COPTS changes, +# so we store COPTS into $COPTS_FILE (if COPTS has changed since last build) +# and make the object files depend on it +COPTS_FILE = $O/.last-copts +ifneq ("$(COPTS)","$(shell cat $(COPTS_FILE) 2>/dev/null || echo '')") + $(shell $(MKPATH) "$O") + $(file >$(COPTS_FILE),$(COPTS)) +endif + +# On Windows, the target has additional file(s). An import lib and an optional debug symbol file is created too. +ifeq ($(PLATFORM),win32) + TARGET_FILES+= $(TARGET_DIR)/$(TARGET_IMPLIB) + LDFLAGS+= $(LDFLAG_IMPLIB)$O/$(TARGET_IMPLIB) + ifeq ($(TOOLCHAIN_NAME),clang-msabi) + ifeq ($(MODE),debug) + TARGET_FILES+=$(TARGET_DIR)/$(TARGET_NAME).pdb + endif + else + TARGET_FILES+= $(TARGET_DIR)/$(TARGET_IMPDEF) + LDFLAGS+= $(LDFLAG_IMPDEF)$O/$(TARGET_IMPDEF) + endif +endif + +#------------------------------------------------------------------------------ +# User-supplied makefile fragment(s) +#------------------------------------------------------------------------------ + +# Main target +all: $(TARGET_FILES) + +$(TARGET_DIR)/% :: $O/% + @mkdir -p $(TARGET_DIR) + $(Q)$(LN) $< $@ +ifeq ($(TOOLCHAIN_NAME),clang-msabi) + -$(Q)-$(LN) $(<:%.dll=%.lib) $(@:%.dll=%.lib) 2>/dev/null + +$O/$(TARGET_NAME).pdb: $O/$(TARGET) +endif + +$O/$(TARGET) $O/$(TARGET_IMPDEF) $O/$(TARGET_IMPLIB) &: $(OBJS) $(wildcard $(EXTRA_OBJS)) Makefile $(CONFIGFILE) + @$(MKPATH) $O + @echo Creating shared library: $@ + $(Q)$(SHLIB_LD) -o $O/$(TARGET) $(OBJS) $(EXTRA_OBJS) $(AS_NEEDED_OFF) $(WHOLE_ARCHIVE_ON) $(LIBS) $(WHOLE_ARCHIVE_OFF) $(OMNETPP_LIBS) $(LDFLAGS) + $(Q)$(SHLIB_POSTPROCESS) $O/$(TARGET) +ifeq ($(PLATFORM),win32) + $(Q)llvm-ar d $O/$(TARGET_IMPLIB) $(TARGET) # WORKAROUND: throw away the first file from the archive to make the LLD generated import lib valid +endif + +.PHONY: all clean cleanall depend msgheaders smheaders + +# disabling all implicit rules +.SUFFIXES : +.PRECIOUS : %_m.h %_m.cc + +$O/%.o: %.cc $(COPTS_FILE) | msgheaders smheaders + @$(MKPATH) $(dir $@) + $(qecho) "$<" + $(Q)$(CXX) -c $(CXXFLAGS) $(COPTS) -o $@ $< + +%_m.cc %_m.h: %.msg + $(qecho) MSGC: $< + $(Q)$(MSGC) -s _m.cc -MD -MP -MF $O/$(basename $<)_m.h.d $(MSGCOPTS) $? + +%_sm.cc %_sm.h: %.sm + $(qecho) SMC: $< + $(Q)$(SMC) -c++ -suffix cc $(SMCOPTS) $? + +msgheaders: $(MSGFILES:.msg=_m.h) + +smheaders: $(SMFILES:.sm=_sm.h) + +clean: + $(qecho) Cleaning $(TARGET) + $(Q)-rm -rf $O + $(Q)-rm -f $(TARGET_FILES) + $(Q)-rm -f $(call opp_rwildcard, . , *_m.cc *_m.h *_sm.cc *_sm.h) + +cleanall: + $(Q)$(CLEANALL_COMMAND) + $(Q)-rm -rf $(PROJECT_OUTPUT_DIR) + +help: + @echo "$$HELP_SYNOPSYS" + @echo "$$HELP_TARGETS" + @echo "$$HELP_VARIABLES" + @echo "$$HELP_EXAMPLES" + +# include all dependencies +-include $(OBJS:%=%.d) $(MSGFILES:%.msg=$O/%_m.h.d) diff --git a/tests/module/lib/ieee80211/Ieee80211SymbolDomainTest.cc b/tests/module/lib/ieee80211/Ieee80211SymbolDomainTest.cc index 3c3853652ff..0e2e43428c6 100644 --- a/tests/module/lib/ieee80211/Ieee80211SymbolDomainTest.cc +++ b/tests/module/lib/ieee80211/Ieee80211SymbolDomainTest.cc @@ -7,6 +7,7 @@ #include "Ieee80211SymbolDomainTest.h" #include "inet/common/ModuleAccess.h" +#include "inet/physicallayer/wireless/ieee80211/bitlevel/Ieee80211OfdmSymbol.h" #include namespace inet { @@ -67,9 +68,15 @@ void Ieee80211SymbolDomainTest::test() const const ITransmissionBitModel *dataBitModel = ieee80211OFDMDataEncoder->encode(&dataPacketModel); const ITransmissionSymbolModel *transmissionSignalSymbolModel = ieee80211OFDMSignalModulator->modulate(signalBitModel); const ITransmissionSymbolModel *transmissionDataSymbolModel = ieee80211OFDMDataModulator->modulate(dataBitModel); - ReceptionSymbolModel receptionSignalSymbolModel(0, 0, 0, 0, new std::vector(*transmissionSignalSymbolModel->getAllSymbols()), NaN); + auto receptionSignalSymbols = new std::vector(); + for (auto symbol : *transmissionSignalSymbolModel->getAllSymbols()) + receptionSignalSymbols->push_back(new Ieee80211OfdmSymbol(*check_and_cast(symbol))); + ReceptionSymbolModel receptionSignalSymbolModel(0, 0, 0, 0, receptionSignalSymbols, NaN); const IReceptionBitModel *receptionSignalBitModel = ieee80211OFDMSignalDemodulator->demodulate(&receptionSignalSymbolModel); - ReceptionSymbolModel receptionDataSymbolModel(0, 0, 0, 0, new std::vector(*transmissionDataSymbolModel->getAllSymbols()), NaN); + auto receptionDataSymbols = new std::vector(); + for (auto symbol : *transmissionDataSymbolModel->getAllSymbols()) + receptionDataSymbols->push_back(new Ieee80211OfdmSymbol(*check_and_cast(symbol))); + ReceptionSymbolModel receptionDataSymbolModel(0, 0, 0, 0, receptionDataSymbols, NaN); const IReceptionBitModel *receptionDataBitModel = ieee80211OFDMDataDemodulator->demodulate(&receptionDataSymbolModel); const IReceptionPacketModel *receptionSignalPacketModel = ieee80211OFDMSignalDecoder->decode(receptionSignalBitModel); const IReceptionPacketModel *receptionDataPacketModel = ieee80211OFDMDataDecoder->decode(receptionDataBitModel); diff --git a/tests/queueing/PeriodicGate_1.test b/tests/queueing/PeriodicGate_1.test index b37ada3e6fe..8b48199c45d 100644 --- a/tests/queueing/PeriodicGate_1.test +++ b/tests/queueing/PeriodicGate_1.test @@ -49,16 +49,19 @@ At 0: Providing packet, .*?provider-0.*? At 0: Passing through packet, .*?provider-0.*? At 0: Collecting packet, .*?provider-0.*? At 1: Closing gate. +At 3: Processing change timer. At 3: Opening gate. At 3: Providing packet, .*?provider-1.*? At 3: Passing through packet, .*?provider-1.*? At 3: Collecting packet, .*?provider-1.*? At 4: Closing gate. +At 6: Processing change timer. At 6: Opening gate. At 6: Providing packet, .*?provider-2.*? At 6: Passing through packet, .*?provider-2.*? At 6: Collecting packet, .*?provider-2.*? At 7: Closing gate. +At 9: Processing change timer. At 9: Opening gate. At 9: Providing packet, .*?provider-3.*? At 9: Passing through packet, .*?provider-3.*? diff --git a/tests/unit/lib/Makefile b/tests/unit/lib/Makefile new file mode 100644 index 00000000000..3f384c5bb57 --- /dev/null +++ b/tests/unit/lib/Makefile @@ -0,0 +1,153 @@ +# +# OMNeT++/OMNEST Makefile for $(LIB_PREFIX)test +# +# This file was generated with the command: +# opp_makemake -f --deep -s -o test -lINET$(D) -L../../../src -I../../../src +# + +# Name of target to be created (-o option) +TARGET_DIR = . +TARGET_NAME = $(LIB_PREFIX)test$(D) +TARGET = $(TARGET_NAME)$(SHARED_LIB_SUFFIX) +TARGET_IMPLIB = $(TARGET_NAME)$(IMPLIB_SUFFIX) +TARGET_IMPDEF = $(TARGET_NAME)$(IMPDEF_SUFFIX) +TARGET_FILES = $(TARGET_DIR)/$(TARGET) + +# C++ include paths (with -I) +INCLUDE_PATH = -I../../../src + +# Additional object and library files to link with +EXTRA_OBJS = + +# Additional libraries (-L, -l options) +LIBS = $(LDFLAG_LIBPATH)../../../src -lINET$(D) + +# Output directory +PROJECT_OUTPUT_DIR = ../../../out +PROJECTRELATIVE_PATH = tests/unit/lib +O = $(PROJECT_OUTPUT_DIR)/$(CONFIGNAME)/$(PROJECTRELATIVE_PATH) + +# Object files for local .cc, .msg and .sm files +OBJS = $O/ClockTestApp.o $O/IntervalTreeTest.o $O/TCPQueueTesterFunctions.o + +# Message files +MSGFILES = + +# SM files +SMFILES = + +#------------------------------------------------------------------------------ + +# Pull in OMNeT++ configuration (Makefile.inc) + +ifneq ("$(OMNETPP_CONFIGFILE)","") +CONFIGFILE = $(OMNETPP_CONFIGFILE) +else +CONFIGFILE = $(shell opp_configfilepath) +endif + +ifeq ("$(wildcard $(CONFIGFILE))","") +$(error Config file '$(CONFIGFILE)' does not exist -- add the OMNeT++ bin directory to the path so that opp_configfilepath can be found, or set the OMNETPP_CONFIGFILE variable to point to Makefile.inc) +endif + +include $(CONFIGFILE) + +# Simulation kernel and user interface libraries +OMNETPP_LIBS = -loppenvir$D $(KERNEL_LIBS) $(SYS_LIBS) +ifneq ($(PLATFORM),win32) +LIBS += -Wl,-rpath,$(abspath ../../../src) +endif + +COPTS = $(CFLAGS) $(IMPORT_DEFINES) $(INCLUDE_PATH) -I$(OMNETPP_INCL_DIR) +MSGCOPTS = $(INCLUDE_PATH) +SMCOPTS = + +# we want to recompile everything if COPTS changes, +# so we store COPTS into $COPTS_FILE (if COPTS has changed since last build) +# and make the object files depend on it +COPTS_FILE = $O/.last-copts +ifneq ("$(COPTS)","$(shell cat $(COPTS_FILE) 2>/dev/null || echo '')") + $(shell $(MKPATH) "$O") + $(file >$(COPTS_FILE),$(COPTS)) +endif + +# On Windows, the target has additional file(s). An import lib and an optional debug symbol file is created too. +ifeq ($(PLATFORM),win32) + TARGET_FILES+= $(TARGET_DIR)/$(TARGET_IMPLIB) + LDFLAGS+= $(LDFLAG_IMPLIB)$O/$(TARGET_IMPLIB) + ifeq ($(TOOLCHAIN_NAME),clang-msabi) + ifeq ($(MODE),debug) + TARGET_FILES+=$(TARGET_DIR)/$(TARGET_NAME).pdb + endif + else + TARGET_FILES+= $(TARGET_DIR)/$(TARGET_IMPDEF) + LDFLAGS+= $(LDFLAG_IMPDEF)$O/$(TARGET_IMPDEF) + endif +endif + +#------------------------------------------------------------------------------ +# User-supplied makefile fragment(s) +#------------------------------------------------------------------------------ + +# Main target +all: $(TARGET_FILES) + +$(TARGET_DIR)/% :: $O/% + @mkdir -p $(TARGET_DIR) + $(Q)$(LN) $< $@ +ifeq ($(TOOLCHAIN_NAME),clang-msabi) + -$(Q)-$(LN) $(<:%.dll=%.lib) $(@:%.dll=%.lib) 2>/dev/null + +$O/$(TARGET_NAME).pdb: $O/$(TARGET) +endif + +$O/$(TARGET) $O/$(TARGET_IMPDEF) $O/$(TARGET_IMPLIB) &: $(OBJS) $(wildcard $(EXTRA_OBJS)) Makefile $(CONFIGFILE) + @$(MKPATH) $O + @echo Creating shared library: $@ + $(Q)$(SHLIB_LD) -o $O/$(TARGET) $(OBJS) $(EXTRA_OBJS) $(AS_NEEDED_OFF) $(WHOLE_ARCHIVE_ON) $(LIBS) $(WHOLE_ARCHIVE_OFF) $(OMNETPP_LIBS) $(LDFLAGS) + $(Q)$(SHLIB_POSTPROCESS) $O/$(TARGET) +ifeq ($(PLATFORM),win32) + $(Q)llvm-ar d $O/$(TARGET_IMPLIB) $(TARGET) # WORKAROUND: throw away the first file from the archive to make the LLD generated import lib valid +endif + +.PHONY: all clean cleanall depend msgheaders smheaders + +# disabling all implicit rules +.SUFFIXES : +.PRECIOUS : %_m.h %_m.cc + +$O/%.o: %.cc $(COPTS_FILE) | msgheaders smheaders + @$(MKPATH) $(dir $@) + $(qecho) "$<" + $(Q)$(CXX) -c $(CXXFLAGS) $(COPTS) -o $@ $< + +%_m.cc %_m.h: %.msg + $(qecho) MSGC: $< + $(Q)$(MSGC) -s _m.cc -MD -MP -MF $O/$(basename $<)_m.h.d $(MSGCOPTS) $? + +%_sm.cc %_sm.h: %.sm + $(qecho) SMC: $< + $(Q)$(SMC) -c++ -suffix cc $(SMCOPTS) $? + +msgheaders: $(MSGFILES:.msg=_m.h) + +smheaders: $(SMFILES:.sm=_sm.h) + +clean: + $(qecho) Cleaning $(TARGET) + $(Q)-rm -rf $O + $(Q)-rm -f $(TARGET_FILES) + $(Q)-rm -f $(call opp_rwildcard, . , *_m.cc *_m.h *_sm.cc *_sm.h) + +cleanall: + $(Q)$(CLEANALL_COMMAND) + $(Q)-rm -rf $(PROJECT_OUTPUT_DIR) + +help: + @echo "$$HELP_SYNOPSYS" + @echo "$$HELP_TARGETS" + @echo "$$HELP_VARIABLES" + @echo "$$HELP_EXAMPLES" + +# include all dependencies +-include $(OBJS:%=%.d) $(MSGFILES:%.msg=$O/%_m.h.d)