Skip to content

Fix multi-hop message forwarding bug (fixes #64)

Katharina Fey requested to merge fix/multi-hop-replication-bug into develop

This commit adds a new parameter to the netmond send function. This parameter is used when re-flooding a message on a given driver to exclude the orinigator of the flood.

For one-to-one endpoints this parameter replaces the previous endpoint-based filtering, meaning that any value MUST result in the frame being dropped.

We also apply this logic to one-to-many endpoints that implement a non-segmented address space (i.e. one where all peers know each other).

For every other case we use the exclude parameter to remove a peer from the recipient set of a re-flood.

Previously this was done on the endpoint-level. This design was heavily influenced by the early in-memory basis for endpoints (meaning that they were always one-to-one). We could thus make the assumption that the originating endpoint of a message could be filtered safely. This assumption was wrong.

Edited by Katharina Fey

Merge request reports