[tor-bugs] #4676 [Tor Relay]: Eliminate "family" field in tor_addr_t

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Thu Dec 8 22:16:48 UTC 2011

#4676: Eliminate "family" field in tor_addr_t
 Reporter:  nickm        |          Owner:                    
     Type:  enhancement  |         Status:  new               
 Priority:  normal       |      Milestone:  Tor: 0.2.3.x-final
Component:  Tor Relay    |        Version:                    
 Keywords:               |         Parent:                    
   Points:               |   Actualpoints:                    
 The tor_addr_t structure has a "family" member that stores AF_INET,
 AF_INET6, or AF_UNSPEC.  So in theory we'd need only 3 bits for it... but
 in practice, it bumps up the size of the structure by 4-8 bytes, because
 of alignment issues.

 This excess space matters, because we allocate a whole lot of tor_addr_ts.
 For example, we allocate one for every exit policy entry.

 We can save space here by using the "v4-mapped address" trick of RFC4291,
 and using ::ffff: as the representation of  For AF_UNSPEC,
 we can just choose a sentinel value.

Ticket URL: <https://trac.torproject.org/projects/tor/ticket/4676>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online

More information about the tor-bugs mailing list