zoukankan      html  css  js  c++  java
  • gvisor netstack (二)

    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
  • 相关阅读:
    3.8快乐
    只剩一个人了
    需求分析
    再也不看皇马比赛
    最近蛮忙,没头绪
    ↗☻【响应式Web设计 HTML5和CSS3实战 #BOOK#】第5章 CSS3:选择器、字体和颜色模式
    ↗☻【高性能网站建设进阶指南 #BOOK#】第12章 尽早刷新文档的输出
    ↗☻【响应式Web设计 HTML5和CSS3实战 #BOOK#】第4章 响应设计中的HTML5
    ↗☻【JavaScript】code
    ↗☻【高性能网站建设进阶指南 #BOOK#】第11章 划分主域
  • 原文地址:https://www.cnblogs.com/dream397/p/14299679.html
Copyright © 2011-2022 走看看