https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=180873

--- Comment #6 from j...@iki.fi ---
The reason is known. When one binds the local addresses explicitly
one by one before calling connect() the system activates all of the
local addresses right after the INIT and INIT-ACK before COOKIE-ECHO
and COOKIE-ACK. Because at this phase the system  has not seen any
other traffic between the endpoints but the couple of packets needed
for a successful INIT and INIT-ACK it only knows about one single pair
of operational addresses. Activating the other potential local addresses
at this phase causes the COOKIE processing being attempted using a
different local address which may not be routable at all to the one
known peer address.
The local addresses can be activated only when they have been used
for a successful INIT + INIT-ACK or they have been tested and proven
to be routable to at least one of the reported peer addresses. This
testing of functional address pairs works only through successful
pairs of HEARTBEAT + HEARTBEAT-ACK.
The current logic is opportunistic and wrong.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to