summaryrefslogtreecommitdiffhomepage
path: root/pkg
diff options
context:
space:
mode:
authorgVisor bot <gvisor-bot@google.com>2021-01-06 22:10:21 +0000
committergVisor bot <gvisor-bot@google.com>2021-01-06 22:10:21 +0000
commit21d0bede2ccbbbf2775a177d2963b6deb6e77822 (patch)
treecb46f8b2d398f0aebb5503274c2999df4d2aa534 /pkg
parent18201bb435965cc576f2144b64b0bb41c9bd7dce (diff)
parent7817e3b5e4202eb2001806b5043052a2f5b591a4 (diff)
Merge release-20201208.0-118-g7817e3b5e (automated)
Diffstat (limited to 'pkg')
-rw-r--r--pkg/tcpip/link/ethernet/ethernet.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/pkg/tcpip/link/ethernet/ethernet.go b/pkg/tcpip/link/ethernet/ethernet.go
index beefcd008..89e3e6164 100644
--- a/pkg/tcpip/link/ethernet/ethernet.go
+++ b/pkg/tcpip/link/ethernet/ethernet.go
@@ -49,10 +49,10 @@ func (e *Endpoint) DeliverNetworkPacket(_, _ tcpip.LinkAddress, _ tcpip.NetworkP
return
}
+ // Note, there is no need to check the destination link address here since
+ // the ethernet hardware filters frames based on their destination addresses.
eth := header.Ethernet(hdr)
- if dst := eth.DestinationAddress(); dst == e.Endpoint.LinkAddress() || dst == header.EthernetBroadcastAddress || header.IsMulticastEthernetAddress(dst) {
- e.Endpoint.DeliverNetworkPacket(eth.SourceAddress() /* remote */, dst /* local */, eth.Type() /* protocol */, pkt)
- }
+ e.Endpoint.DeliverNetworkPacket(eth.SourceAddress() /* remote */, eth.DestinationAddress() /* local */, eth.Type() /* protocol */, pkt)
}
// Capabilities implements stack.LinkEndpoint.