diff options
author | gVisor bot <gvisor-bot@google.com> | 2021-01-14 00:18:26 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-01-14 00:18:26 +0000 |
commit | fc9aec0925d6ff6bdbc8a0c0866f6199ea054d9f (patch) | |
tree | 1b71096a33e99d24f588ac1066797fdc7f0146c4 /pkg/tcpip/stack/pending_packets.go | |
parent | cfa5eea33e3e8a2f8e7cac622ab046df43ccf0a1 (diff) | |
parent | 25b5ec7135a6de80674ac1ad4d2289c29e156f42 (diff) |
Merge release-20201216.0-105-g25b5ec713 (automated)
Diffstat (limited to 'pkg/tcpip/stack/pending_packets.go')
-rw-r--r-- | pkg/tcpip/stack/pending_packets.go | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/pkg/tcpip/stack/pending_packets.go b/pkg/tcpip/stack/pending_packets.go index 4a3adcf33..bded8814e 100644 --- a/pkg/tcpip/stack/pending_packets.go +++ b/pkg/tcpip/stack/pending_packets.go @@ -101,10 +101,12 @@ func (f *packetsPendingLinkResolution) enqueue(ch <-chan struct{}, r *Route, pro } for _, p := range packets { - if cancelled { - p.route.Stats().IP.OutgoingPacketErrors.Increment() - } else if p.route.IsResolutionRequired() { + if cancelled || p.route.IsResolutionRequired() { p.route.Stats().IP.OutgoingPacketErrors.Increment() + + if linkResolvableEP, ok := p.route.outgoingNIC.getNetworkEndpoint(p.route.NetProto).(LinkResolvableNetworkEndpoint); ok { + linkResolvableEP.HandleLinkResolutionFailure(pkt) + } } else { p.route.outgoingNIC.writePacket(p.route, nil /* gso */, p.proto, p.pkt) } |