Multipath connections removed after succesful probe #1814
-
Hello, Currently I am building an application which uses the multipath feature of the library. Similar to the example shown in picoquicdemo.c, I use the function However, after the program ends, when I try to print out the data for each path (again, similar to picoquicdemo.c), I find the the variable What is the reason causing this issue? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
Please collect a log -- qlog would be nice. It is difficult to debug otherwise. |
Beta Was this translation helpful? Give feedback.
-
Diagnostic is simple: the packets sent on path 1 do not arrive to destination. In fact, they are not even sent. The most likely explanation is that port number value in the source address is wrong. The socket loop tries to match the source port number in the source sockaddr to an outgoing socket, with a simple algorithm:
Note that all port numbers in sockaddr structure are expected to be expressed in network order. For example, 443 will be expressed as "htons(443)". |
Beta Was this translation helpful? Give feedback.
Diagnostic is simple: the packets sent on path 1 do not arrive to destination. In fact, they are not even sent. The most likely explanation is that port number value in the source address is wrong.
The socket loop tries to match the source port number in the source sockaddr to an outgoing socket, with a simple algorithm:
If the value is zero, it selects the default socket, unless the flag "use_extra_socket" is set, in which case it selects the last socket.
If the value is not zero, it looks for a socket bound to exactly the same port as the port number in the source address.
if the value is not zero and there is no matching socket, the packet is dropped.
Note that all port numbers…