cvs commit: src/sys/netinet in_pcb.c tcp_subr.c tcp_timer.c tcp_var.h

Andre Oppermann andre at freebsd.org
Wed Sep 6 09:07:48 PDT 2006


Gleb Smirnoff wrote:
>  followup on my last email:
> 
> T> I think we should free the oldmost tcptw entry in a case if we can't
> T> find the local endpoint. We can tell definitely that we can't find one
> T> only in in_pcbbind_setup() in the "do {} while (in_pcblookup_local)" cycle,
> T> where EADDRNOTAVAIL is returned. We can't definitely tell this in
> T> in_pcblookup_local() since we don't know whether tried port is the
> T> last one.
> 
> Another simple enough solution would be to msleep() with tcbinfo mutex
> temporarily dropped if we fail to find a port. Then the tcp_timer_2msl_tw()
> on the next run will free tcptw entries and wake up us.
> 
> Anyway, I'm strongly against doing the purge cycling in the syscalls.

Seconded.

-- 
Andre



More information about the cvs-all mailing list