gvisor/pkg/tcpip
Ghanan Gowripalan c19e049f2c Check local address directly through NIC
Network endpoints that wish to check addresses on another NIC-local
network endpoint may now do so through the NetworkInterface.

This fixes a lock ordering issue between NIC removal and link
resolution. Before this change:

  NIC Removal takes the stack lock, neighbor cache lock then neighbor
  entries' locks.

  When performing IPv4 link resolution, we take the entry lock then ARP
  would try check IPv4 local addresses through the stack which tries to
  obtain the stack's lock.

Now that ARP can check IPv4 addreses through the NIC, we avoid the lock
ordering issue, while also removing the need for stack to lookup the
NIC.

PiperOrigin-RevId: 356034245
2021-02-06 09:09:19 -08:00
..
adapters/gonet Change tcpip.Error to an interface 2021-01-28 17:59:58 -08:00
buffer Make fragmentation return a reassembled PacketBuffer 2021-01-29 17:37:29 -08:00
checker Change the way the IP options report problems 2021-01-20 15:36:03 -08:00
faketime Do not use clockwork for faketime 2021-01-28 17:08:12 -08:00
hash/jenkins Standardize on tools directory. 2020-01-27 12:21:00 -08:00
header Refactor HandleControlPacket/SockError 2021-02-01 12:04:03 -08:00
link Change tcpip.Error to an interface 2021-01-28 17:59:58 -08:00
network Check local address directly through NIC 2021-02-06 09:09:19 -08:00
ports Change tcpip.Error to an interface 2021-01-28 17:59:58 -08:00
sample Change tcpip.Error to an interface 2021-01-28 17:59:58 -08:00
seqnum Don't accept segments outside the receive window 2020-04-19 22:16:14 -07:00
stack Check local address directly through NIC 2021-02-06 09:09:19 -08:00
tests/integration Batch write packets after iptables checks 2021-02-05 18:44:04 -08:00
transport Add a function to enable RACK in tests. 2021-02-03 11:09:23 -08:00
BUILD Change tcpip.Error to an interface 2021-01-28 17:59:58 -08:00
errors.go Change tcpip.Error to an interface 2021-01-28 17:59:58 -08:00
socketops.go Refactor HandleControlPacket/SockError 2021-02-01 12:04:03 -08:00
tcpip.go Change tcpip.Error to an interface 2021-01-28 17:59:58 -08:00
tcpip_test.go Remove count argument from tcpip.Endpoint.Read 2021-01-15 15:49:15 -08:00
time.s Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
time_unsafe.go Bump build constraints to 1.17 2020-08-24 12:58:39 -07:00
timer.go Add AfterFunc to tcpip.Clock 2020-07-23 18:00:43 -07:00
timer_test.go Add AfterFunc to tcpip.Clock 2020-07-23 18:00:43 -07:00