Is your feature request related to a problem? Please describe.
The "bpcat" test program currently associates the remote UDP IP using the connect() system call, then using send() to send bundles to that remote endpoint.
The side effect of this is that it expects the reverse to also be the same - that the remote endpoint will send return traffic to the this node via the same IP+port. If the return traffic comes from a different port, it will not get processed.
Describe the solution you'd like
Instead of using connect() and send(), use sendto(). This will permit the socket to receive data from any IP+port, not just the specific IP+port that was specified as the remote node.
Describe alternatives you've considered
N/A
Additional context
When doing interoperability testing with other DTN software that does not bind to a specific source port, this means the OS IP stack does not forward the return traffic to bpcat, causing the test to fail.
Requester Info
Joseph Hickey, Vantage Systems, Inc.
Is your feature request related to a problem? Please describe. The "bpcat" test program currently associates the remote UDP IP using the
connect()
system call, then usingsend()
to send bundles to that remote endpoint.The side effect of this is that it expects the reverse to also be the same - that the remote endpoint will send return traffic to the this node via the same IP+port. If the return traffic comes from a different port, it will not get processed.
Describe the solution you'd like Instead of using
connect()
andsend()
, usesendto()
. This will permit the socket to receive data from any IP+port, not just the specific IP+port that was specified as the remote node.Describe alternatives you've considered N/A
Additional context When doing interoperability testing with other DTN software that does not bind to a specific source port, this means the OS IP stack does not forward the return traffic to bpcat, causing the test to fail.
Requester Info Joseph Hickey, Vantage Systems, Inc.