We have observed cases where the multipath option negotiation fails, despite being agreeable by both parties. This was kind of a "Heisenbug" -- it did not repro when compiling in debug mode and running under debugger. The root cause appears to be, trying to set the default transport option in the Quic context before the field is allocated. Changing that, and adding negotiation reports in the picoquicdemo client.
Also, allocate and initialize the "default tp" field as part of Quic context allocation, which removes the code required for handling pointer allocation and optional presence.
We have observed cases where the multipath option negotiation fails, despite being agreeable by both parties. This was kind of a "Heisenbug" -- it did not repro when compiling in debug mode and running under debugger. The root cause appears to be, trying to set the default transport option in the Quic context before the field is allocated. Changing that, and adding negotiation reports in the picoquicdemo client.
Also, allocate and initialize the "default tp" field as part of Quic context allocation, which removes the code required for handling pointer allocation and optional presence.