diff options
author | Fabricio Voznika <fvoznika@google.com> | 2018-07-03 11:38:08 -0700 |
---|---|---|
committer | Shentubot <shentubot@google.com> | 2018-07-03 11:39:17 -0700 |
commit | 0ef606616732e1daf9d424658c31e5fed8f1ee4a (patch) | |
tree | deb3d6808e14e8f37b61a50a8bec1ebbecc6b2c6 /pkg/tcpip/stack/nic.go | |
parent | c1b4c1ffee850aea2880f5f91a1e48e840933c71 (diff) |
Resend packets back to netstack if destined to itself
Add option to redirect packet back to netstack if it's destined to itself.
This fixes the problem where connecting to the local NIC address would
not work, e.g.:
echo bar | nc -l -p 8080 &
echo foo | nc 192.168.0.2 8080
PiperOrigin-RevId: 203157739
Change-Id: I31c9f7c501e3f55007f25e1852c27893a16ac6c4
Diffstat (limited to 'pkg/tcpip/stack/nic.go')
-rw-r--r-- | pkg/tcpip/stack/nic.go | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/pkg/tcpip/stack/nic.go b/pkg/tcpip/stack/nic.go index 8ff4310d5..06bb5abc5 100644 --- a/pkg/tcpip/stack/nic.go +++ b/pkg/tcpip/stack/nic.go @@ -317,8 +317,7 @@ func (n *NIC) DeliverNetworkPacket(linkEP LinkEndpoint, remoteLinkAddr tcpip.Lin return } - r := makeRoute(protocol, dst, src, ref) - r.LocalLinkAddress = linkEP.LinkAddress() + r := makeRoute(protocol, dst, src, linkEP.LinkAddress(), ref) r.RemoteLinkAddress = remoteLinkAddr ref.ep.HandlePacket(&r, vv) ref.decRef() |