mirror of
https://github.com/tailscale/tailscale.git
synced 2025-07-31 16:23:44 +00:00
wgengine/netstack: reduce calls to netstack AddAddress
Signed-off-by: Naman Sood <mail@nsood.in>
This commit is contained in:
parent
a506310744
commit
4c22967a81
@ -189,14 +189,18 @@ func (ns *Impl) updateDNS(nm *netmap.NetworkMap) {
|
||||
func (ns *Impl) addSubnetAddress(pn tcpip.NetworkProtocolNumber, ip netaddr.IP) {
|
||||
ns.mu.Lock()
|
||||
ns.connsOpenBySubnetIP[ip]++
|
||||
// Only register address into netstack for first concurrent connection.
|
||||
if ns.connsOpenBySubnetIP[ip] == 1 {
|
||||
ns.ipstack.AddAddress(nicID, pn, tcpip.Address(ip.IPAddr().IP))
|
||||
}
|
||||
ns.mu.Unlock()
|
||||
ns.ipstack.AddAddress(nicID, pn, tcpip.Address(ip.IPAddr().IP))
|
||||
}
|
||||
|
||||
func (ns *Impl) removeSubnetAddress(ip netaddr.IP) {
|
||||
ns.mu.Lock()
|
||||
defer ns.mu.Unlock()
|
||||
ns.connsOpenBySubnetIP[ip]--
|
||||
// Only unregister address from netstack after last concurrent connection.
|
||||
if ns.connsOpenBySubnetIP[ip] == 0 {
|
||||
ns.ipstack.RemoveAddress(nicID, tcpip.Address(ip.IPAddr().IP))
|
||||
delete(ns.connsOpenBySubnetIP, ip)
|
||||
|
Loading…
x
Reference in New Issue
Block a user