diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2024-07-05 20:44:08 +1000 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-07-05 15:26:43 +0200 |
commit | 299c407501378134f31b6931645531ad0f700066 (patch) | |
tree | d5b8c3011174efd3169cbfda2841ec25cc3a4375 /doc/platform-requirements/README | |
parent | be0214cca66374967eb4ce37240388c3cc39a2ae (diff) | |
download | passt-299c407501378134f31b6931645531ad0f700066.tar passt-299c407501378134f31b6931645531ad0f700066.tar.gz passt-299c407501378134f31b6931645531ad0f700066.tar.bz2 passt-299c407501378134f31b6931645531ad0f700066.tar.lz passt-299c407501378134f31b6931645531ad0f700066.tar.xz passt-299c407501378134f31b6931645531ad0f700066.tar.zst passt-299c407501378134f31b6931645531ad0f700066.zip |
doc: Add program to document and test assumptions about SO_REUSEADDR
For the approach we intend to use for handling UDP flows, we have some
pretty specific requirements about how SO_REUSEADDR works with UDP sockets.
Specifically SO_REUSEADDR allows multiple sockets with overlapping bind()s,
and therefore there can be multiple sockets which are eligible to receive
the same datagram. Which one will actually receive it is important to us.
Add a test program which verifies things work the way we expect, which
documents what those expectations are in the process.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'doc/platform-requirements/README')
-rw-r--r-- | doc/platform-requirements/README | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/platform-requirements/README b/doc/platform-requirements/README new file mode 100644 index 0000000..3914d22 --- /dev/null +++ b/doc/platform-requirements/README @@ -0,0 +1,18 @@ +Platform Requirements +===================== + +TODO: document the various Linux specific features we currently require + + +Test Programs +------------- + +In some places we rely on quite specific behaviour of sockets. +Although Linux, at least, seems to behave as required, It's not always +clear from the available documentation if this is required by POSIX or +some other specification. + +To specifically document those expectations this directory has some +test programs which explicitly check for the behaviour we need. +When/if we attempt a port to a new platform, running these to check +behaviour would be a good place to start. |