[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [task #6995] Implement SO_REUSEADDR

From: Simon Goldschmidt
Subject: [lwip-devel] [task #6995] Implement SO_REUSEADDR
Date: Sat, 15 May 2010 17:15:50 +0000
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; de; rv: Gecko/20100401 Firefox/3.6.3

Update of task #6995 (project lwip):

                  Status:             In Progress => Done                   
        Percent Complete:                     90% => 100%                   
             Open/Closed:                    Open => Closed                 


Follow-up Comment #9:

> What remains is that for multicast/broadcast, received data 
> would have to be duplicated so that all (UDP-)PCBs listening on 
> the same port get a copy of the data.

Done. Added an extra option SO_REUSE_RXTOALL for that as it is kind of slow
(traverses the full udp_pcbs list a 2nd time for every broadcast/multicast
packet received).

Also, for full SO_REUSEADDR support, I had to add a 5-tuple-uniqueness-check
in tcp_connect() and tcp_listen().

The 3rd change was to allow binding multiple listening pcbs to the same port
by allowing IP_ADDR_ANY and specific IPs (e.g. IP of every netif) and then in
tcp_input(), first searching for a specific match and only if that fails
passing the SYN packet to the IP_ADDR_ANY-listening pcb.

All this only changed with SO_REUSE==1 (which is still off by default), so
doesn't have a negative impact for those who don't use it.


Reply to this item at:


  Nachricht geschickt von/durch Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]