Changes to PCBPORTHASH wrt TCP, review needed

Mike Silbersack silby at silby.com
Tue Oct 28 11:23:36 PST 2003


On Tue, 28 Oct 2003, Bruce M Simpson wrote:

> We discussed on IRC that this problem of ephemeral port hash mapping may also
> affect udp PCBs, and that it may be having undesirable effects with multiple
> concurrent media streams, as RTP/RTCP is a heavy udp socket consumer in a
> large installation, and has specific requirements for binding consecutive
> odd/even port pairs (more details in RFC 3550 for those who care).
>
> I will test the patch shortly. I have looked over it and can't find any
> immediate problems with it, but further digestion on my part is required.
>
> BMS

Bleh, I found a problem with my suggested change.  Suppose that a program
works as follows:

1.  bind (to an ephemeral port)
2.  connect

It's very possible that bind will return a port which can't be used
because it's already in use for that destination lport-laddr-fport-faddr
tuple, so the connect will fail with EADDRINUSE.

So, it looks like I can't solve this so simply... looks like I'll have to
have the port lookup do IP comparisons as well.

Mike "Silby" Silbersack


More information about the freebsd-net mailing list