Merge release-20210112.0-43-ga2ec1932c (automated)
This commit is contained in:
commit
a0340632a1
|
@ -138,23 +138,17 @@ func (e *endpoint) HandlePacket(pkt *stack.PacketBuffer) {
|
|||
stats.RequestsReceived.Increment()
|
||||
localAddr := tcpip.Address(h.ProtocolAddressTarget())
|
||||
|
||||
if e.protocol.stack.CheckLocalAddress(e.nic.ID(), header.IPv4ProtocolNumber, localAddr) == 0 {
|
||||
stats.RequestsReceivedUnknownTargetAddress.Increment()
|
||||
return // we have no useful answer, ignore the request
|
||||
}
|
||||
|
||||
remoteAddr := tcpip.Address(h.ProtocolAddressSender())
|
||||
remoteLinkAddr := tcpip.LinkAddress(h.HardwareAddressSender())
|
||||
|
||||
if e.nud == nil {
|
||||
if e.linkAddrCache.CheckLocalAddress(e.nic.ID(), header.IPv4ProtocolNumber, localAddr) == 0 {
|
||||
stats.RequestsReceivedUnknownTargetAddress.Increment()
|
||||
return // we have no useful answer, ignore the request
|
||||
}
|
||||
|
||||
addr := tcpip.Address(h.ProtocolAddressSender())
|
||||
linkAddr := tcpip.LinkAddress(h.HardwareAddressSender())
|
||||
e.linkAddrCache.AddLinkAddress(e.nic.ID(), addr, linkAddr)
|
||||
e.linkAddrCache.AddLinkAddress(e.nic.ID(), remoteAddr, remoteLinkAddr)
|
||||
} else {
|
||||
if e.protocol.stack.CheckLocalAddress(e.nic.ID(), header.IPv4ProtocolNumber, localAddr) == 0 {
|
||||
stats.RequestsReceivedUnknownTargetAddress.Increment()
|
||||
return // we have no useful answer, ignore the request
|
||||
}
|
||||
|
||||
remoteAddr := tcpip.Address(h.ProtocolAddressSender())
|
||||
remoteLinkAddr := tcpip.LinkAddress(h.HardwareAddressSender())
|
||||
e.nud.HandleProbe(remoteAddr, ProtocolNumber, remoteLinkAddr, e.protocol)
|
||||
}
|
||||
|
||||
|
|
|
@ -829,10 +829,6 @@ type LinkAddressResolver interface {
|
|||
|
||||
// A LinkAddressCache caches link addresses.
|
||||
type LinkAddressCache interface {
|
||||
// CheckLocalAddress determines if the given local address exists, and if it
|
||||
// does not exist.
|
||||
CheckLocalAddress(nicID tcpip.NICID, protocol tcpip.NetworkProtocolNumber, addr tcpip.Address) tcpip.NICID
|
||||
|
||||
// AddLinkAddress adds a link address to the cache.
|
||||
AddLinkAddress(nicID tcpip.NICID, addr tcpip.Address, linkAddr tcpip.LinkAddress)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue