mirror of
https://github.com/cwinfo/yggdrasil-go.git
synced 2024-11-22 04:50:29 +00:00
Use ICMPv6 NDP target instead of source address when populating peermacs
This commit is contained in:
parent
4e5906bf23
commit
9eeb482587
@ -175,10 +175,13 @@ func (i *icmpv6) parse_packet_tun(datain []byte, datamac *[]byte) ([]byte, error
|
||||
case ipv6.ICMPTypeNeighborAdvertisement:
|
||||
if datamac != nil {
|
||||
var addr address.Address
|
||||
var target address.Address
|
||||
var mac macAddress
|
||||
copy(addr[:], ipv6Header.Src[:])
|
||||
copy(target[:], datain[48:64])
|
||||
copy(mac[:], (*datamac)[:])
|
||||
neighbor := i.peermacs[addr]
|
||||
// i.tun.core.log.Println("Learning peer MAC", mac, "for", target)
|
||||
neighbor := i.peermacs[target]
|
||||
neighbor.mac = mac
|
||||
neighbor.learned = true
|
||||
neighbor.lastadvertisement = time.Now()
|
||||
|
Loading…
Reference in New Issue
Block a user