11Recent changes in the INET Framework
22====================================
33
4- INET-4.6 (February 2026) - Stable
5- ---------------------------------
4+ INET-4.6 (February 2026) — feature release
5+ ------------------------------------------
66
77This is a new feature release in the INET 4.x branch. Highlights include new
88protocol implementations for QUIC, Ethernet 10BASE-T1S, IPsec, and MRP; major
99refinements to the clock model; a reimplementation of IEEE 802.1AS (gPTP); and
1010an important refactoring of the wireless physical layer's analog domain. The
1111release continues to focus on improving correctness, accuracy, modularity, and
1212long-term maintainability while addressing several long-standing limitations.
13- OMNeT++ 6.2 or later is required.
13+ Requires OMNeT++ 6.2 or later.
14+
15+ For the full list of additions, removals, and changes (features, modules, packet
16+ chunks/tags, signals, statistics, and C++ classes), see ChangeLog in the src
17+ folder.
1418
15- For a complete list of added, removed, and changed features, folders, modules,
16- packet chunks, packet tags, signals, statistics, and C++ classes, see the
17- ChangeLog file in the src folder.
19+ For further questions, detailed explanations, and guided exploration of INET
20+ concepts and features, a dedicated AI-powered wiki is now available at
21+ https://deepwiki.com/inet-framework/inet
1822
1923Notable backward-incompatible changes include the following:
2024
21251. Clock model refinement
2226
2327 The clock and oscillator models were substantially reworked to improve
2428 accuracy, correctness, and robustness. Clock time to simulation time mapping
25- and clock time interval to number of oscillator ticks conversions were
26- rewritten for mathematical correctness, with stricter consistency checks.
27- Accuracy was improved through precise arithmetic and new scaling utilities
28- such as the NumberNear1 and SimTimeScale classes . The design is prepared for
29- future 128-bit simulation time support.
29+ and clock- interval to oscillator-tick conversions were rewritten for
30+ mathematical correctness, with stricter consistency checks. Accuracy was
31+ improved using precise arithmetic and new scaling utilities (e.g.,
32+ NumberNear1 and SimTimeScale) . The design anticipates future 128-bit
33+ simulation time support.
3034
3135 The updated model now accumulates fractional oscillator compensation for more
3236 accurate timing. The clock's nominal tick interval must be explicitly
@@ -43,11 +47,11 @@ Notable backward-incompatible changes include the following:
4347 StepClockServo module for implementation.
4448
4549 Clock event handling was also refined: overdue events are now processed
46- immediately in clock-time order, and newly scheduled events are inserted at
47- the lower bound of the corresponding simulation-time interval while
48- preserving stable ordering. Clock time to simulation time conversion methods
49- now accept explicit lower-bound arguments to ensure robust tie-breaking
50- between adjacent ticks.
50+ immediately, in clock-time order, and newly scheduled events are inserted at
51+ the lower bound of the corresponding simulation-time interval, preserving
52+ stable ordering. Clock time to simulation time conversion methods now accept
53+ explicit lower-bound arguments to ensure robust tie-breaking between adjacent
54+ ticks.
5155
5256 Clock and oscillator documentation was significantly expanded and formalized
5357 to reflect the stricter semantics of the new implementation.
@@ -71,14 +75,14 @@ Notable backward-incompatible changes include the following:
7175
7276 For improved standards compliance, message timestamping now occurs at
7377 transmission start and reception start rather than at completion. As a
74- result, simulations must use physical layer modules that provide explicit
78+ result, simulations must use physical layer modules that emit explicit
7579 start-of-transmission and start-of-reception signals, such as the
7680 StreamingTransmitter and DestreamingReceiver modules.
7781
7882 Due to the high precision required for time synchronization, accurately
7983 modeling a 1 ppm clock drift with a nominal 10 ns tick interval requires very
8084 fine time granularity. gPTP simulations therefore typically require
81- femtosecond (fs) simulation time resolution, which can be enabled using the
85+ femtosecond (fs) simulation time resolution, which can be enabled via the
8286 simtime-resolution configuration option.
8387
8488 This change is backward incompatible in that simulations using gPTP may
@@ -88,11 +92,11 @@ Notable backward-incompatible changes include the following:
88923. Ethernet module renames
8993
9094 Existing Ethernet MAC modules were renamed to use the MacPhy suffix (e.g.
91- EthernetMacPhy, EthernetCsmaMacPhy) to reflect that they implement both MAC
92- and PHY functionality in a single module. This resolves naming conflicts
93- introduced by the new dedicated EthernetCsmaMac and EthernetCsmaPhy modules,
94- which provide a modern, state-machine-based implementation of the individual
95- layers and are primarily used by the new Ethernet 10BASE-T1S model.
95+ EthernetMacPhy, EthernetCsmaMacPhy) to reflect that they combine MAC and PHY
96+ functionality in a single module. This resolves naming conflicts introduced
97+ by the new dedicated EthernetCsmaMac and EthernetCsmaPhy modules, which
98+ provide a modern, state-machine-based implementation of the individual layers
99+ and are primarily used by the new Ethernet 10BASE-T1S model.
96100
97101 These changes are backward incompatible for simulations that directly
98102 reference the old module names.
@@ -102,8 +106,7 @@ Notable backward-incompatible changes include the following:
102106 The wireless physical layer was significantly refactored to simplify how the
103107 analog representation of radio signals is selected. Instead of using separate
104108 module types, radio and medium modules now use a signalAnalogRepresentation
105- parameter (with values unitDisk, scalar, or dimensional) to control their
106- behavior.
109+ parameter (unitDisk, scalar, or dimensional) to control their behavior.
107110
108111 Responsibility for computing reception success was partially moved from
109112 receiver modules to their analog model submodules. To reflect broader
@@ -114,7 +117,7 @@ Notable backward-incompatible changes include the following:
114117
115118 Specific wireless technologies, including IEEE 802.11, IEEE 802.15.4, and
116119 APSK, were refactored to align with the new architecture and can now be used
117- with the unit disk signal analog representation.
120+ with the unitDisk signal analog representation.
118121
1191225. CRC, FCS, and Checksum
120123
@@ -132,7 +135,7 @@ Notable backward-incompatible changes include the following:
132135 preserving existing behavior by default.
133136
134137 Note that these changes are backward incompatible for simulations that
135- explicitly configure crcMode or fcsMode parameters.
138+ explicitly configure the old crcMode or fcsMode parameters.
136139
137140Notable backward compatible changes are the following:
138141
@@ -241,7 +244,7 @@ Notable backward compatible changes are the following:
241244 ad hoc network communicating with a wired Ethernet host through a gateway
242245 router.
243246
244- 7. GPSR multipe network interfaces
247+ 7. GPSR multiple network interfaces
245248
246249 The GPSR (Greedy Perimeter Stateless Routing) protocol was updated to support
247250 simultaneous use of multiple network interfaces, with refactored logic and
@@ -275,10 +278,10 @@ Notable backward compatible changes are the following:
275278 and pull-based interfaces. Most modules now treat connected sources and sinks
276279 as optional, enabling these modules to also connect to non-queueing elements.
277280
278- Classifiers and schedulers have been extended to enable pulling from and
279- pushing to packets , respectively. Typically, however, they are used the other
280- way around, with packets being pushed into classifiers and pulled from
281- schedulers.
281+ Classifiers and schedulers have been extended to enable pulling packets from
282+ them and pushing packets to them , respectively. Typically, however, they are
283+ used the other way around, with packets being pushed into classifiers and
284+ pulled from schedulers.
282285
283286 Several new modules and module interfaces have also been added. For example,
284287 the QueueBasedTokenGenerator allows the QueueFiller module to generate
@@ -295,7 +298,7 @@ Notable backward compatible changes are the following:
295298
296299 In addition, passive packet sinks have been extended with optional statistics
297300 to detect duplicate, out-of-order, and missing packets based on packet name
298- index suffixes. To name a few additonal statistical changes, the
301+ index suffixes. To name a few additional statistical changes, the
299302 MultiTokenBucketMeter and MultiTokenBucketClassifier modules now record
300303 separate statistics for each individual token bucket they contain, and the
301304 SlidingWindowRateMeter and ExponentialRateMeter modules now provide
@@ -318,13 +321,13 @@ Notable backward compatible changes are the following:
318321 FCS headers, and EthernetFcsHeaderChecker, which checks and strips Ethernet
319322 FCS headers.
320323
321- Added modules for the EtherType Protocol Discrimination (EPD) header
322- support IEEE 802 LLC implementations.
324+ Added modules to support the EtherType Protocol Discrimination (EPD) header
325+ used by IEEE 802 LLC implementations.
323326
32432711. Visualizers
325328
326329 The RoutingTableCanvasVisualizer has been extended with a lazy update
327- mechanism that refreshes visualizations only when needed, grealy improving
330+ mechanism that refreshes visualizations only when needed, greatly improving
328331 performance. Support for multicast routing tables has been added, along with
329332 new filtering parameters to control multicast group, source address, and
330333 source node visualization.
@@ -412,7 +415,7 @@ Notable backward compatible changes are the following:
412415
41341618. Notable bug fixes and other changes
414417
415- Introduced new SimpleModule, CompoundModule, and ModuleMixin as standard
418+ Added INET-specific SimpleModule, CompoundModule, and ModuleMixin as standard
416419 bases to derive all modules from. They have a displayStringTextFormat
417420 parameter that supports the old style format directives and also WATCH
418421 variable references. Deriving new or existing modules from these bases is
@@ -443,7 +446,7 @@ Notable backward compatible changes are the following:
443446 controlling the message dispatching mechanism, in contrast with the automatic
444447 learning of protocol and interface registrations.
445448
446- Improved EIGROP on stability, cleanup, and modernization. Several bugs were
449+ Improved EIGROP stability, cleanup, and modernization. Several bugs were
447450 fixed to prevent dangling pointers, handle dynamic neighbor changes
448451 correctly, and align IPv4 route removal with IPv6 behavior. Core code paths
449452 were refactored to use modern C++ constructs, missing interface parameters
@@ -456,8 +459,9 @@ Notable backward compatible changes are the following:
456459 evaluation, with the index tracked per context component path. The par()
457460 function allows dynamic access to module parameters inside expressions.
458461
459- All filename module parameters now support substitution, allowing config
460- name, experiment, iteration, run numbers, etc. to be included in filenames.
462+ All module parameters specifying filenames now support substitution, allowing
463+ config name, experiment, iteration, run number, etc. to be referenced in the
464+ values.
461465
462466 Added the DemuxAppFilter, a result filter that de-multiplexes signals by
463467 their originating application module, making it easy to record
@@ -495,7 +499,7 @@ Notable backward compatible changes are the following:
495499 Removed all per-folder ChangeLog files that summarized local changes, since
496500 they are no longer useful with current AI tools.
497501
498- Several additional issues documented on GitHub have also been fixed.
502+ Several additional issues reported on GitHub have also been fixed.
499503
500504
501505INET-4.5 (April 2023) - Stable
0 commit comments