moby / vpnkit

A toolkit for embedding VPN capabilities in your application
Apache License 2.0
1.1k stars 187 forks source link

Fix a hang when channels are opened from both ends concurrently #489

Closed simonferquel closed 4 years ago

simonferquel commented 4 years ago

Channel IDs are allocated independently from both ends of the multiplexer. Previously that meant that if both ends allocate channel concurently, there was a clash of channel IDs leading to a channel being stuck.

This commit fixes that by allowing to indicate that one end should allocate ids backwards.

Signed-off-by: Simon Ferquel simon.ferquel@docker.com