Fix data race on peermacs

This commit is contained in:
Neil Alexander 2019-07-06 15:15:43 +01:00
parent e8272926a4
commit a10c141896
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944
2 changed files with 11 additions and 3 deletions

View file

@ -313,6 +313,14 @@ func (i *ICMPv6) Solicit(addr address.Address) {
}
}
func (i *ICMPv6) getNeighbor(addr address.Address) (neighbor, bool) {
i.peermacsmutex.RLock()
defer i.peermacsmutex.RUnlock()
n, ok := i.peermacs[addr]
return n, ok
}
func (i *ICMPv6) createNDPL2(dst address.Address) ([]byte, error) {
// Create the ND payload
var payload [28]byte