https://www.it610.com/article/1175051551228637184.htm
TCP发送流程 third_partygolibsgithub.comgoogle etstack cpip ransport cpsnd.go sendData maybeSendSegment sendSegment sendSegmentFromView sendRaw --connect.go sendTCP r.WritePacket(gso, hdr, data, ProtocolNumber, ttl) WritePacket --third_partygolibsgithub.comgoogle etstack cpipstack oute.go r.ref.ep.WritePacket //TODO,后面的分析不对,到此截止。 e.linkEP.WritePacket --third_partygolibsgithub.comgoogle etstack cpiplinkfdbasedendpoint.go rawfile.NonBlockingWrite3 --third_partygolibsgithub.comgoogle etstack cpiplink awfile awfile_unsafe.go NonBlockingWrite syscall.RawSyscall(syscall.SYS_WRITE, uintptr(fd), uintptr(ptr), uintptr(len(buf)))
root@dc6ca0fab5ce:/# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope global dynamic 2: eth0: <UP,LOWER_UP> mtu 1500 link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff inet 172.17.0.2/16 scope global dynamic root@dc6ca0fab5ce:/#
root@dc6ca0fab5ce:/# ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=0 time=41890 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=0 time=11.5 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=0 time=11.4 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=0 time=11.4 ms ^C --- 8.8.8.8 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 938ms rtt min/avg/max/mdev = 11.362/10480.958/41889.646/18133.814 ms
root@cloud:~# dlv attach 945272 Type 'help' for list of commands. (dlv) b NonBlockingWrite Breakpoint 1 set at 0x86b3c0 for gvisor.dev/gvisor/pkg/tcpip/link/rawfile.NonBlockingWrite() pkg/tcpip/link/rawfile/rawfile_unsafe.go:55 (dlv) c received SIGINT, stopping process (will not forward signal) > runtime.futex() src/runtime/sys_linux_arm64.s:565 (PC: 0x78e3c) Warning: debugging optimized function (dlv) b WritePacket Command failed: Location "WritePacket" ambiguous: gvisor.dev/gvisor/pkg/tcpip/link/nested.(*Endpoint).WritePacket, gvisor.dev/gvisor/pkg/tcpip/stack.(*NIC).WritePacket, gvisor.dev/gvisor/pkg/tcpip/stack.(*Route).WritePacket, gvisor.dev/gvisor/pkg/tcpip/network/ipv4.(*endpoint).WritePacket, gvisor.dev/gvisor/pkg/tcpip/network/ipv6.(*endpoint).WritePacket… (dlv) b stack.(*NIC).WritePacket Breakpoint 2 set at 0x4959f0 for gvisor.dev/gvisor/pkg/tcpip/stack.(*NIC).WritePacket() pkg/tcpip/stack/nic.go:297 (dlv) c > gvisor.dev/gvisor/pkg/tcpip/stack.(*NIC).WritePacket() pkg/tcpip/stack/nic.go:297 (hits goroutine(7223):1 total:1) (PC: 0x4959f0) Warning: debugging optimized function (dlv) bt 0 0x00000000004959f0 in gvisor.dev/gvisor/pkg/tcpip/stack.(*NIC).WritePacket at pkg/tcpip/stack/nic.go:297 1 0x000000000061a33c in gvisor.dev/gvisor/pkg/tcpip/network/ipv4.(*endpoint).writePacket at pkg/tcpip/network/ipv4/ipv4.go:368 2 0x0000000000619fe8 in gvisor.dev/gvisor/pkg/tcpip/network/ipv4.(*endpoint).WritePacket at pkg/tcpip/network/ipv4/ipv4.go:331 3 0x000000000049bfd0 in gvisor.dev/gvisor/pkg/tcpip/stack.(*Route).WritePacket at pkg/tcpip/stack/route.go:410 4 0x0000000000866424 in gvisor.dev/gvisor/pkg/tcpip/transport/icmp.send4 at pkg/tcpip/transport/icmp/endpoint.go:424 5 0x0000000000865d08 in gvisor.dev/gvisor/pkg/tcpip/transport/icmp.(*endpoint).write at pkg/tcpip/transport/icmp/endpoint.go:323 6 0x00000000008657f8 in gvisor.dev/gvisor/pkg/tcpip/transport/icmp.(*endpoint).Write at pkg/tcpip/transport/icmp/endpoint.go:240 7 0x00000000006435a8 in gvisor.dev/gvisor/pkg/sentry/socket/netstack.(*socketOpsCommon).SendMsg at pkg/sentry/socket/netstack/netstack.go:2818 8 0x000000000058cf50 in gvisor.dev/gvisor/pkg/sentry/syscalls/linux.sendTo at pkg/sentry/syscalls/linux/sys_socket.go:1110 9 0x000000000058d2a8 in gvisor.dev/gvisor/pkg/sentry/syscalls/linux.SendTo at pkg/sentry/syscalls/linux/sys_socket.go:1123 10 0x0000000000522ea4 in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall at pkg/sentry/kernel/task_syscall.go:104 11 0x0000000000523c5c in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke at pkg/sentry/kernel/task_syscall.go:239 12 0x00000000005238dc in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter at pkg/sentry/kernel/task_syscall.go:199 13 0x00000000005233e0 in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall at pkg/sentry/kernel/task_syscall.go:174 14 0x0000000000518e00 in gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute at pkg/sentry/kernel/task_run.go:282 15 0x0000000000517d9c in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run at pkg/sentry/kernel/task_run.go:97 16 0x0000000000077c84 in runtime.goexit at src/runtime/asm_arm64.s:1136 (dlv) c > gvisor.dev/gvisor/pkg/tcpip/stack.(*NIC).WritePacket() pkg/tcpip/stack/nic.go:297 (hits goroutine(7223):2 total:2) (PC: 0x4959f0) Warning: debugging optimized function (dlv) clearall Breakpoint 1 cleared at 0x86b3c0 for gvisor.dev/gvisor/pkg/tcpip/link/rawfile.NonBlockingWrite() pkg/tcpip/link/rawfile/rawfile_unsafe.go:55 Breakpoint 2 cleared at 0x4959f0 for gvisor.dev/gvisor/pkg/tcpip/stack.(*NIC).WritePacket() pkg/tcpip/stack/nic.go:297 (dlv) quit Would you like to kill the process? [Y/n] n root@cloud:~#
(dlv) p n *gvisor.dev/gvisor/pkg/tcpip/stack.NIC { LinkEndpoint: gvisor.dev/gvisor/pkg/tcpip/stack.LinkEndpoint(*gvisor.dev/gvisor/pkg/tcpip/link/sniffer.endpoint) *{ Endpoint: (*"gvisor.dev/gvisor/pkg/tcpip/link/nested.Endpoint")(0x40004cc150), writer: io.Writer nil, maxPCAPLen: 0, logPrefix: "",}, stack: *gvisor.dev/gvisor/pkg/tcpip/stack.Stack { transportProtocols: map[gvisor.dev/gvisor/pkg/tcpip.TransportProtocolNumber]*gvisor.dev/gvisor/pkg/tcpip/stack.transportProtocolState [...], networkProtocols: map[gvisor.dev/gvisor/pkg/tcpip.NetworkProtocolNumber]gvisor.dev/gvisor/pkg/tcpip/stack.NetworkProtocol [...], linkAddrResolvers: map[gvisor.dev/gvisor/pkg/tcpip.NetworkProtocolNumber]gvisor.dev/gvisor/pkg/tcpip/stack.LinkAddressResolver [...], rawFactory: gvisor.dev/gvisor/pkg/tcpip/stack.RawFactory(gvisor.dev/gvisor/pkg/tcpip/transport/raw.EndpointFactory) *(*"gvisor.dev/gvisor/pkg/tcpip/stack.RawFactory")(0x40002c1098), demux: *(*"gvisor.dev/gvisor/pkg/tcpip/stack.transportDemuxer")(0x40003c1f00), stats: (*"gvisor.dev/gvisor/pkg/tcpip.Stats")(0x40002c10b0), linkAddrCache: *(*"gvisor.dev/gvisor/pkg/tcpip/stack.linkAddrCache")(0x40003cdd80), mu: (*"gvisor.dev/gvisor/pkg/sync.RWMutex")(0x40002c1480), nics: map[gvisor.dev/gvisor/pkg/tcpip.NICID]*gvisor.dev/gvisor/pkg/tcpip/stack.NIC [...], cleanupEndpointsMu: (*"gvisor.dev/gvisor/pkg/sync.Mutex")(0x40002c14a0), cleanupEndpoints: map[gvisor.dev/gvisor/pkg/tcpip/stack.TransportEndpoint]struct {} [], routeTable: []gvisor.dev/gvisor/pkg/tcpip.Route len: 3, cap: 4, [ (*"gvisor.dev/gvisor/pkg/tcpip.Route")(0x4000502000), (*"gvisor.dev/gvisor/pkg/tcpip.Route")(0x4000502038), (*"gvisor.dev/gvisor/pkg/tcpip.Route")(0x4000502070), ], PortManager: *(*"gvisor.dev/gvisor/pkg/tcpip/ports.PortManager")(0x400038f710), tcpProbeFunc: (*"sync/atomic.Value")(0x40002c14d0), clock: gvisor.dev/gvisor/pkg/tcpip.Clock(*gvisor.dev/gvisor/pkg/sentry/kernel.Kernel) ..., handleLocal: true, tables: *(*"gvisor.dev/gvisor/pkg/tcpip/stack.IPTables")(0x4000394700), resumableEndpoints: []gvisor.dev/gvisor/pkg/tcpip/stack.ResumableEndpoint len: 0, cap: 0, nil, icmpRateLimiter: *(*"gvisor.dev/gvisor/pkg/tcpip/stack.ICMPRateLimiter")(0x40001a8a40), seed: 865450639, nudConfigs: (*"gvisor.dev/gvisor/pkg/tcpip/stack.NUDConfigurations")(0x40002c1528), useNeighborCache: false, nudDisp: gvisor.dev/gvisor/pkg/tcpip/stack.NUDDispatcher nil, uniqueIDGenerator: gvisor.dev/gvisor/pkg/tcpip/stack.UniqueID(*gvisor.dev/gvisor/pkg/sentry/kernel.Kernel) ..., linkResQueue: (*"gvisor.dev/gvisor/pkg/tcpip/stack.packetsPendingLinkResolution")(0x40002c1598), randomGenerator: *(*"math/rand.Rand")(0x400038f740), sendBufferSize: (*"gvisor.dev/gvisor/pkg/tcpip/stack.SendBufferSizeOption")(0x40002c15c8), receiveBufferSize: (*"gvisor.dev/gvisor/pkg/tcpip/stack.ReceiveBufferSizeOption")(0x40002c15e0),}, id: 2, name: "eth0", //网卡名字 context: gvisor.dev/gvisor/pkg/tcpip/stack.NICContext nil, stats: gvisor.dev/gvisor/pkg/tcpip/stack.NICStats { Tx: (*"gvisor.dev/gvisor/pkg/tcpip/stack.DirectionStats")(0x40004ce280), Rx: (*"gvisor.dev/gvisor/pkg/tcpip/stack.DirectionStats")(0x40004ce290), DisabledRx: (*"gvisor.dev/gvisor/pkg/tcpip/stack.DirectionStats")(0x40004ce2a0), Neighbor: (*"gvisor.dev/gvisor/pkg/tcpip/stack.NeighborStats")(0x40004ce2b0),}, neigh: *gvisor.dev/gvisor/pkg/tcpip/stack.neighborCache nil, networkEndpoints: map[gvisor.dev/gvisor/pkg/tcpip.NetworkProtocolNumber]gvisor.dev/gvisor/pkg/tcpip/stack.NetworkEndpoint [ gvisor.dev/gvisor/pkg/tcpip/header.IPv6ProtocolNumber (34525): ..., gvisor.dev/gvisor/pkg/tcpip/header.ARPProtocolNumber (2054): ..., gvisor.dev/gvisor/pkg/tcpip/header.IPv4ProtocolNumber (2048): ..., ], enabled: 1, mu: struct { gvisor.dev/gvisor/pkg/sync.RWMutex; gvisor.dev/gvisor/pkg/tcpip/stack.spoofing bool; gvisor.dev/gvisor/pkg/tcpip/stack.promiscuous bool; gvisor.dev/gvisor/pkg/tcpip/stack.packetEPs map[gvisor.dev/gvisor/pkg/tcpip.NetworkProtocolNumber]*gvisor.dev/gvisor/pkg/tcpip/stack.packetEndpointList } { RWMutex: (*"gvisor.dev/gvisor/pkg/sync.RWMutex")(0x40004ce2d0), spoofing: false, promiscuous: false, packetEPs: map[gvisor.dev/gvisor/pkg/tcpip.NetworkProtocolNumber]*gvisor.dev/gvisor/pkg/tcpip/stack.packetEndpointList [...],},} (dlv)
sniffer.endpoint
root@cloud:~# dlv attach 945272 Type 'help' for list of commands. (dlv) b tcpip/link/sniffer/sniffer.go:190 Breakpoint 1 set at 0x68c8f0 for gvisor.dev/gvisor/pkg/tcpip/link/sniffer.(*endpoint).WritePacket() pkg/tcpip/link/sniffer/sniffer.go:190 (dlv) c > gvisor.dev/gvisor/pkg/tcpip/link/sniffer.(*endpoint).WritePacket() pkg/tcpip/link/sniffer/sniffer.go:190 (hits goroutine(7168):1 total:1) (PC: 0x68c8f0) Warning: debugging optimized function (dlv) bt 0 0x000000000068c8f0 in gvisor.dev/gvisor/pkg/tcpip/link/sniffer.(*endpoint).WritePacket at pkg/tcpip/link/sniffer/sniffer.go:190 1 0x0000000000495c30 in gvisor.dev/gvisor/pkg/tcpip/stack.(*NIC).writePacket at pkg/tcpip/stack/nic.go:342 2 0x0000000000495ac0 in gvisor.dev/gvisor/pkg/tcpip/stack.(*NIC).WritePacket at pkg/tcpip/stack/nic.go:324 3 0x000000000061a33c in gvisor.dev/gvisor/pkg/tcpip/network/ipv4.(*endpoint).writePacket at pkg/tcpip/network/ipv4/ipv4.go:368 4 0x0000000000619fe8 in gvisor.dev/gvisor/pkg/tcpip/network/ipv4.(*endpoint).WritePacket at pkg/tcpip/network/ipv4/ipv4.go:331 5 0x000000000049bfd0 in gvisor.dev/gvisor/pkg/tcpip/stack.(*Route).WritePacket at pkg/tcpip/stack/route.go:410 6 0x0000000000866424 in gvisor.dev/gvisor/pkg/tcpip/transport/icmp.send4 at pkg/tcpip/transport/icmp/endpoint.go:424 7 0x0000000000865d08 in gvisor.dev/gvisor/pkg/tcpip/transport/icmp.(*endpoint).write at pkg/tcpip/transport/icmp/endpoint.go:323 8 0x00000000008657f8 in gvisor.dev/gvisor/pkg/tcpip/transport/icmp.(*endpoint).Write at pkg/tcpip/transport/icmp/endpoint.go:240 9 0x00000000006435a8 in gvisor.dev/gvisor/pkg/sentry/socket/netstack.(*socketOpsCommon).SendMsg at pkg/sentry/socket/netstack/netstack.go:2818 10 0x000000000058cf50 in gvisor.dev/gvisor/pkg/sentry/syscalls/linux.sendTo at pkg/sentry/syscalls/linux/sys_socket.go:1110 11 0x000000000058d2a8 in gvisor.dev/gvisor/pkg/sentry/syscalls/linux.SendTo at pkg/sentry/syscalls/linux/sys_socket.go:1123 12 0x0000000000522ea4 in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall at pkg/sentry/kernel/task_syscall.go:104 13 0x0000000000523c5c in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke at pkg/sentry/kernel/task_syscall.go:239 14 0x00000000005238dc in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter at pkg/sentry/kernel/task_syscall.go:199 15 0x00000000005233e0 in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall at pkg/sentry/kernel/task_syscall.go:174 16 0x0000000000518e00 in gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute at pkg/sentry/kernel/task_run.go:282 17 0x0000000000517d9c in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run at pkg/sentry/kernel/task_run.go:97 18 0x0000000000077c84 in runtime.goexit at src/runtime/asm_arm64.s:1136
// WritePacket implements the stack.LinkEndpoint interface. It is called by // higher-level protocols to write packets; it just logs the packet and // forwards the request to the lower endpoint. func (e *endpoint) WritePacket(r *stack.Route, gso *stack.GSO, protocol tcpip.NetworkProtocolNumber, pkt *stack.PacketBuffer) *tcpip.Error { e.dumpPacket(directionSend, gso, protocol, pkt) return e.Endpoint.WritePacket(r, gso, protocol, pkt) }
(dlv) n > gvisor.dev/gvisor/pkg/tcpip/link/sniffer.(*endpoint).WritePacket() pkg/tcpip/link/sniffer/sniffer.go:192 (PC: 0x68c924) Warning: debugging optimized function (dlv) ct Command failed: command not available (dlv) bt 0 0x000000000068c924 in gvisor.dev/gvisor/pkg/tcpip/link/sniffer.(*endpoint).WritePacket at pkg/tcpip/link/sniffer/sniffer.go:192 1 0x0000000000495c30 in gvisor.dev/gvisor/pkg/tcpip/stack.(*NIC).writePacket at pkg/tcpip/stack/nic.go:342 2 0x0000000000495ac0 in gvisor.dev/gvisor/pkg/tcpip/stack.(*NIC).WritePacket at pkg/tcpip/stack/nic.go:324 3 0x000000000061a33c in gvisor.dev/gvisor/pkg/tcpip/network/ipv4.(*endpoint).writePacket at pkg/tcpip/network/ipv4/ipv4.go:368 4 0x0000000000619fe8 in gvisor.dev/gvisor/pkg/tcpip/network/ipv4.(*endpoint).WritePacket at pkg/tcpip/network/ipv4/ipv4.go:331 5 0x000000000049bfd0 in gvisor.dev/gvisor/pkg/tcpip/stack.(*Route).WritePacket at pkg/tcpip/stack/route.go:410 6 0x0000000000866424 in gvisor.dev/gvisor/pkg/tcpip/transport/icmp.send4 at pkg/tcpip/transport/icmp/endpoint.go:424 7 0x0000000000865d08 in gvisor.dev/gvisor/pkg/tcpip/transport/icmp.(*endpoint).write at pkg/tcpip/transport/icmp/endpoint.go:323 8 0x00000000008657f8 in gvisor.dev/gvisor/pkg/tcpip/transport/icmp.(*endpoint).Write at pkg/tcpip/transport/icmp/endpoint.go:240 9 0x00000000006435a8 in gvisor.dev/gvisor/pkg/sentry/socket/netstack.(*socketOpsCommon).SendMsg at pkg/sentry/socket/netstack/netstack.go:2818 10 0x000000000058cf50 in gvisor.dev/gvisor/pkg/sentry/syscalls/linux.sendTo at pkg/sentry/syscalls/linux/sys_socket.go:1110 11 0x000000000058d2a8 in gvisor.dev/gvisor/pkg/sentry/syscalls/linux.SendTo at pkg/sentry/syscalls/linux/sys_socket.go:1123 12 0x0000000000522ea4 in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall at pkg/sentry/kernel/task_syscall.go:104 13 0x0000000000523c5c in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke at pkg/sentry/kernel/task_syscall.go:239 14 0x00000000005238dc in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter at pkg/sentry/kernel/task_syscall.go:199 15 0x00000000005233e0 in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall at pkg/sentry/kernel/task_syscall.go:174 16 0x0000000000518e00 in gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute at pkg/sentry/kernel/task_run.go:282 17 0x0000000000517d9c in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run at pkg/sentry/kernel/task_run.go:97 18 0x0000000000077c84 in runtime.goexit at src/runtime/asm_arm64.s:1136 (dlv) p e *gvisor.dev/gvisor/pkg/tcpip/link/sniffer.endpoint { Endpoint: gvisor.dev/gvisor/pkg/tcpip/link/nested.Endpoint { child: gvisor.dev/gvisor/pkg/tcpip/stack.LinkEndpoint(*gvisor.dev/gvisor/pkg/tcpip/link/packetsocket.endpoint) ..., embedder: gvisor.dev/gvisor/pkg/tcpip/stack.NetworkDispatcher(*gvisor.dev/gvisor/pkg/tcpip/link/sniffer.endpoint) ..., mu: (*"gvisor.dev/gvisor/pkg/sync.RWMutex")(0x40004cc170), dispatcher: gvisor.dev/gvisor/pkg/tcpip/stack.NetworkDispatcher(*gvisor.dev/gvisor/pkg/tcpip/stack.NIC) ...,}, writer: io.Writer nil, maxPCAPLen: 0, logPrefix: "",} (dlv)
(dlv) bt 0 0x00000000008d78f8 in gvisor.dev/gvisor/pkg/tcpip/link/packetsocket.(*endpoint).WritePacket at pkg/tcpip/link/packetsocket/endpoint.go:40 1 0x000000000068c95c in gvisor.dev/gvisor/pkg/tcpip/link/nested.(*Endpoint).WritePacket at pkg/tcpip/link/nested/nested.go:117 2 0x000000000068c95c in gvisor.dev/gvisor/pkg/tcpip/link/sniffer.(*endpoint).WritePacket at pkg/tcpip/link/sniffer/sniffer.go:192 3 0x0000000000495c30 in gvisor.dev/gvisor/pkg/tcpip/stack.(*NIC).writePacket at pkg/tcpip/stack/nic.go:342 4 0x0000000000495ac0 in gvisor.dev/gvisor/pkg/tcpip/stack.(*NIC).WritePacket at pkg/tcpip/stack/nic.go:324 5 0x000000000061a33c in gvisor.dev/gvisor/pkg/tcpip/network/ipv4.(*endpoint).writePacket at pkg/tcpip/network/ipv4/ipv4.go:368 6 0x0000000000619fe8 in gvisor.dev/gvisor/pkg/tcpip/network/ipv4.(*endpoint).WritePacket at pkg/tcpip/network/ipv4/ipv4.go:331 7 0x000000000049bfd0 in gvisor.dev/gvisor/pkg/tcpip/stack.(*Route).WritePacket at pkg/tcpip/stack/route.go:410 8 0x0000000000866424 in gvisor.dev/gvisor/pkg/tcpip/transport/icmp.send4 at pkg/tcpip/transport/icmp/endpoint.go:424 9 0x0000000000865d08 in gvisor.dev/gvisor/pkg/tcpip/transport/icmp.(*endpoint).write at pkg/tcpip/transport/icmp/endpoint.go:323 10 0x00000000008657f8 in gvisor.dev/gvisor/pkg/tcpip/transport/icmp.(*endpoint).Write at pkg/tcpip/transport/icmp/endpoint.go:240 11 0x00000000006435a8 in gvisor.dev/gvisor/pkg/sentry/socket/netstack.(*socketOpsCommon).SendMsg at pkg/sentry/socket/netstack/netstack.go:2818 12 0x000000000058cf50 in gvisor.dev/gvisor/pkg/sentry/syscalls/linux.sendTo at pkg/sentry/syscalls/linux/sys_socket.go:1110 13 0x000000000058d2a8 in gvisor.dev/gvisor/pkg/sentry/syscalls/linux.SendTo at pkg/sentry/syscalls/linux/sys_socket.go:1123 14 0x0000000000522ea4 in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall at pkg/sentry/kernel/task_syscall.go:104 15 0x0000000000523c5c in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke at pkg/sentry/kernel/task_syscall.go:239 16 0x00000000005238dc in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter at pkg/sentry/kernel/task_syscall.go:199 17 0x00000000005233e0 in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall at pkg/sentry/kernel/task_syscall.go:174 18 0x0000000000518e00 in gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute at pkg/sentry/kernel/task_run.go:282 19 0x0000000000517d9c in gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run at pkg/sentry/kernel/task_run.go:97 20 0x0000000000077c84 in runtime.goexit at src/runtime/asm_arm64.s:1136