Skip to content

Commit 8716799

Browse files
committed
doc: developer's guide: refined INET fingerprint section.
1 parent cebf07d commit 8716799

1 file changed

Lines changed: 13 additions & 14 deletions

File tree

doc/src/developers-guide/ch-testing.rst

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -160,10 +160,9 @@ INET Fingerprint Ingredients
160160

161161
In addition to the standard OMNeT++ fingerprint ingredients (covered in the
162162
`OMNeT++ manual <https://omnetpp.org/doc/omnetpp/manual/#sec:testing:fingerprint-tests>`__),
163-
INET provides 5 additional fingerprint ingredients that offer more granular control
163+
INET provides 5 additional fingerprint ingredients that offer additional control
164164
over what aspects of network simulation are considered significant for reproducibility
165-
testing. The default INET fingerprint ingredients string is ``"~UNID"``, meaning
166-
all INET-specific ingredients are enabled by default.
165+
testing.
167166

168167
These ingredients are handled by the ``inet::FingerprintCalculator`` class. The
169168
fingerprint test script automatically adds the corresponding ``--fingerprint-calculator-class``
@@ -179,8 +178,7 @@ entirely, before other ingredients are processed:
179178
only includes packet arrival events that cross network node boundaries (where
180179
sender node and arrival node are different); all other events are excluded
181180
from the fingerprint. This focuses fingerprinting on actual network
182-
communication rather than internal node processing. This filter affects all
183-
other fingerprint ingredients, including OMNeT++ ones.
181+
communication rather than internal node processing.
184182

185183
``U`` (PACKET_UPDATE_FILTER)
186184
Excludes packet update arrival events from fingerprint calculation, all other
@@ -201,26 +199,27 @@ These ingredients add path information to the fingerprint hash for packet arriva
201199
that happen outside network nodes. Makes the fingerprint sensitive to which
202200
specific network nodes are involved in communication. For each packet arrival
203201
event, adds the full path of the containing network node for both the sender
204-
and arrival modules, even inside the same network node.
202+
and arrival modules, even inside the same network node. This is mostly useful when
203+
used together with the `~` ingredient.
205204

206205
``I`` (NETWORK_INTERFACE_PATH)
207206
For packet arrival events, includes the full interface path of both sender
208207
and arrival network interfaces in the fingerprint. Ignores non-packet events
209208
and all events that happen outside network interfaces. Makes the fingerprint
210209
sensitive to which specific network interfaces are used for communication.
211210
For each packet arrival event, adds the interface full path of the containing
212-
NIC modules, even inside the same network interface.
211+
NIC modules, even inside the same network interface. This is mostly useful when
212+
used together with the `~` ingredient.
213213

214214
**Content Ingredient**
215215

216216
``D`` (PACKET_DATA)
217-
Includes the actual packet payload data in the fingerprint. For packet arrival events
218-
with non-zero length, adds the raw packet content to the hash. For byte-aligned
219-
packets (length divisible by 8), processes content as bytes; otherwise processes
220-
as individual bits. This makes the fingerprint sensitive to actual packet content,
221-
not just packet structure or timing. Note that this ingredient requires packet
222-
serialization, so it will not work for simulations that contain protocol headers,
223-
payload, etc. that have no serializer implemented.
217+
Includes the actual packet data in the fingerprint. For packet arrival events
218+
with non-zero length, adds the raw packet content to the hash. This makes the
219+
fingerprint sensitive to actual packet content, not just packet structure or
220+
timing. Note that this ingredient requires packet serialization, so it will
221+
not work for simulations that contain protocol headers, payload, etc. that
222+
have no serializer implemented.
224223

225224
**Usage Notes**
226225

0 commit comments

Comments
 (0)