pkg/

directory
v0.0.0-...-522126a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 23, 2019 License: Apache-2.0

Directories

Path Synopsis
abi
Package abi describes the interface between a kernel and userspace.
Package abi describes the interface between a kernel and userspace.
linux
Package linux contains the constants and types needed to interface with a Linux kernel.
Package linux contains the constants and types needed to interface with a Linux kernel.
Package amutex provides the implementation of an abortable mutex.
Package amutex provides the implementation of an abortable mutex.
Package atomicbitops provides basic bitwise operations in an atomic way.
Package atomicbitops provides basic bitwise operations in an atomic way.
Package binary translates between select fixed-sized types and a binary representation.
Package binary translates between select fixed-sized types and a binary representation.
Package bits includes all bit related types and operations.
Package bits includes all bit related types and operations.
Package bpf provides tools for working with Berkeley Packet Filter (BPF) programs.
Package bpf provides tools for working with Berkeley Packet Filter (BPF) programs.
Package compressio provides parallel compression and decompression, as well as optional SHA-256 hashing.
Package compressio provides parallel compression and decompression, as well as optional SHA-256 hashing.
control
client
Package client provides a basic control client interface.
Package client provides a basic control client interface.
server
Package server provides a basic control server interface.
Package server provides a basic control server interface.
Package cpuid provides basic functionality for creating and adjusting CPU feature sets.
Package cpuid provides basic functionality for creating and adjusting CPU feature sets.
Package eventchannel contains functionality for sending any protobuf message on a socketpair.
Package eventchannel contains functionality for sending any protobuf message on a socketpair.
Package fd provides types for working with file descriptors.
Package fd provides types for working with file descriptors.
Package fdchannel implements passing file descriptors between processes over Unix domain sockets.
Package fdchannel implements passing file descriptors between processes over Unix domain sockets.
Package fdnotifier contains an adapter that translates IO events (e.g., a file became readable/writable) from native FDs to the notifications in the waiter package.
Package fdnotifier contains an adapter that translates IO events (e.g., a file became readable/writable) from native FDs to the notifications in the waiter package.
Package flipcall implements a protocol providing Fast Local Interprocess Procedure Calls between mutually-distrusting processes.
Package flipcall implements a protocol providing Fast Local Interprocess Procedure Calls between mutually-distrusting processes.
Package fspath provides efficient tools for working with file paths in Linux-compatible filesystem implementations.
Package fspath provides efficient tools for working with file paths in Linux-compatible filesystem implementations.
Package gate provides a usage Gate synchronization primitive.
Package gate provides a usage Gate synchronization primitive.
Package ilist provides the implementation of intrusive linked lists.
Package ilist provides the implementation of intrusive linked lists.
Package linewriter provides an io.Writer which calls an emitter on each line.
Package linewriter provides an io.Writer which calls an emitter on each line.
Package log implements a library for logging.
Package log implements a library for logging.
Package memutil provides a wrapper for the memfd_create() system call.
Package memutil provides a wrapper for the memfd_create() system call.
Package metric provides primitives for collecting metrics.
Package metric provides primitives for collecting metrics.
p9
Package p9 is a 9P2000.L implementation.
Package p9 is a 9P2000.L implementation.
p9test
Package p9test provides standard mocks for p9.
Package p9test provides standard mocks for p9.
Package procid provides a way to get the current system thread identifier.
Package procid provides a way to get the current system thread identifier.
Package rand implements a cryptographically secure pseudorandom number generator.
Package rand implements a cryptographically secure pseudorandom number generator.
Package refs defines an interface for reference counted objects.
Package refs defines an interface for reference counted objects.
Package secio provides support for sectioned I/O.
Package secio provides support for sectioned I/O.
Package segment provides tools for working with collections of segments.
Package segment provides tools for working with collections of segments.
sentry
arch
Package arch provides abstractions around architecture-dependent details, such as syscall calling conventions, native types, etc.
Package arch provides abstractions around architecture-dependent details, such as syscall calling conventions, native types, etc.
context
Package context defines an internal context type.
Package context defines an internal context type.
context/contexttest
Package contexttest builds a test context.Context.
Package contexttest builds a test context.Context.
control
Package control contains types that expose control server methods, and can be used to configure and interact with a running sandbox process.
Package control contains types that expose control server methods, and can be used to configure and interact with a running sandbox process.
device
Package device defines reserved virtual kernel devices and structures for managing them.
Package device defines reserved virtual kernel devices and structures for managing them.
fs
Package fs implements a virtual filesystem layer.
Package fs implements a virtual filesystem layer.
fs/anon
Package anon implements an anonymous inode, useful for implementing inodes for pseudo filesystems.
Package anon implements an anonymous inode, useful for implementing inodes for pseudo filesystems.
fs/dev
Package dev provides a filesystem with simple devices.
Package dev provides a filesystem with simple devices.
fs/fdpipe
Package fdpipe implements common namedpipe opening and accessing logic.
Package fdpipe implements common namedpipe opening and accessing logic.
fs/filetest
Package filetest provides a test implementation of an fs.File.
Package filetest provides a test implementation of an fs.File.
fs/fsutil
Package fsutil provides utilities for implementing fs.InodeOperations and fs.FileOperations: - For embeddable utilities, see inode.go and file.go.
Package fsutil provides utilities for implementing fs.InodeOperations and fs.FileOperations: - For embeddable utilities, see inode.go and file.go.
fs/gofer
Package gofer implements a remote 9p filesystem.
Package gofer implements a remote 9p filesystem.
fs/host
Package host implements an fs.Filesystem for files backed by host file descriptors.
Package host implements an fs.Filesystem for files backed by host file descriptors.
fs/lock
Package lock is the API for POSIX-style advisory regional file locks and BSD-style full file locks.
Package lock is the API for POSIX-style advisory regional file locks and BSD-style full file locks.
fs/proc
Package proc implements a partial in-memory file system for profs.
Package proc implements a partial in-memory file system for profs.
fs/proc/device
Package device contains the proc device to avoid dependency loops.
Package device contains the proc device to avoid dependency loops.
fs/proc/seqfile
Package seqfile provides dynamic ordered files.
Package seqfile provides dynamic ordered files.
fs/ramfs
Package ramfs provides the fundamentals for a simple in-memory filesystem.
Package ramfs provides the fundamentals for a simple in-memory filesystem.
fs/sys
Package sys implements a sysfs filesystem.
Package sys implements a sysfs filesystem.
fs/timerfd
Package timerfd implements the semantics of Linux timerfd objects as described by timerfd_create(2).
Package timerfd implements the semantics of Linux timerfd objects as described by timerfd_create(2).
fs/tmpfs
Package tmpfs is a filesystem implementation backed by memory.
Package tmpfs is a filesystem implementation backed by memory.
fs/tty
Package tty provide pseudoterminals via a devpts filesystem.
Package tty provide pseudoterminals via a devpts filesystem.
fsimpl/ext
Package ext implements readonly ext(2/3/4) filesystems.
Package ext implements readonly ext(2/3/4) filesystems.
fsimpl/ext/disklayout
Package disklayout provides Linux ext file system's disk level structures which can be directly read into from the underlying device.
Package disklayout provides Linux ext file system's disk level structures which can be directly read into from the underlying device.
fsimpl/kernfs
Package kernfs provides the tools to implement inode-based filesystems.
Package kernfs provides the tools to implement inode-based filesystems.
fsimpl/memfs
Package memfs provides a filesystem implementation that behaves like tmpfs: the Dentry tree is the sole source of truth for the state of the filesystem.
Package memfs provides a filesystem implementation that behaves like tmpfs: the Dentry tree is the sole source of truth for the state of the filesystem.
fsimpl/proc
Package proc implements a partial in-memory file system for procfs.
Package proc implements a partial in-memory file system for procfs.
hostcpu
Package hostcpu provides utilities for working with CPU information provided by a host Linux kernel.
Package hostcpu provides utilities for working with CPU information provided by a host Linux kernel.
hostmm
Package hostmm provides tools for interacting with the host Linux kernel's virtual memory management subsystem.
Package hostmm provides tools for interacting with the host Linux kernel's virtual memory management subsystem.
inet
Package inet defines semantics for IP stacks.
Package inet defines semantics for IP stacks.
kernel
Package kernel provides an emulation of the Linux kernel.
Package kernel provides an emulation of the Linux kernel.
kernel/auth
Package auth implements an access control model that is a subset of Linux's.
Package auth implements an access control model that is a subset of Linux's.
kernel/contexttest
Package contexttest provides a test context.Context which includes a dummy kernel pointing to a valid platform.
Package contexttest provides a test context.Context which includes a dummy kernel pointing to a valid platform.
kernel/epoll
Package epoll provides an implementation of Linux's IO event notification facility.
Package epoll provides an implementation of Linux's IO event notification facility.
kernel/eventfd
Package eventfd provides an implementation of Linux's file-based event notification.
Package eventfd provides an implementation of Linux's file-based event notification.
kernel/fasync
Package fasync provides FIOASYNC related functionality.
Package fasync provides FIOASYNC related functionality.
kernel/futex
Package futex provides an implementation of the futex interface as found in the Linux kernel.
Package futex provides an implementation of the futex interface as found in the Linux kernel.
kernel/memevent
Package memevent implements the memory usage events controller, which periodically emits events via the eventchannel.
Package memevent implements the memory usage events controller, which periodically emits events via the eventchannel.
kernel/pipe
Package pipe provides a pipe implementation.
Package pipe provides a pipe implementation.
kernel/sched
Package sched implements scheduler related features.
Package sched implements scheduler related features.
kernel/semaphore
Package semaphore implements System V semaphores.
Package semaphore implements System V semaphores.
kernel/shm
Package shm implements sysv shared memory segments.
Package shm implements sysv shared memory segments.
kernel/signalfd
Package signalfd provides an implementation of signal file descriptors.
Package signalfd provides an implementation of signal file descriptors.
kernel/time
Package time defines the Timer type, which provides a periodic timer that works by sampling a user-provided clock.
Package time defines the Timer type, which provides a periodic timer that works by sampling a user-provided clock.
limits
Package limits provides resource limits.
Package limits provides resource limits.
loader
Package loader loads an executable file into a MemoryManager.
Package loader loads an executable file into a MemoryManager.
memmap
Package memmap defines semantics for memory mappings.
Package memmap defines semantics for memory mappings.
mm
Package mm provides a memory management subsystem.
Package mm provides a memory management subsystem.
pgalloc
Package pgalloc contains the page allocator subsystem, which manages memory that may be mapped into application address spaces.
Package pgalloc contains the page allocator subsystem, which manages memory that may be mapped into application address spaces.
platform
Package platform provides a Platform abstraction.
Package platform provides a Platform abstraction.
platform/interrupt
Package interrupt provides an interrupt helper.
Package interrupt provides an interrupt helper.
platform/kvm
Package kvm provides a kvm-based implementation of the platform interface.
Package kvm provides a kvm-based implementation of the platform interface.
platform/kvm/testutil
Package testutil provides common assembly stubs for testing.
Package testutil provides common assembly stubs for testing.
platform/ptrace
Package ptrace provides a ptrace-based implementation of the platform interface.
Package ptrace provides a ptrace-based implementation of the platform interface.
platform/ring0
Package ring0 provides basic operating system-level stubs.
Package ring0 provides basic operating system-level stubs.
platform/ring0/gen_offsets
Binary gen_offsets is a helper for generating offset headers.
Binary gen_offsets is a helper for generating offset headers.
platform/ring0/pagetables
Package pagetables provides a generic implementation of pagetables.
Package pagetables provides a generic implementation of pagetables.
platform/safecopy
Package safecopy provides an efficient implementation of functions to access memory that may result in SIGSEGV or SIGBUS being sent to the accessor.
Package safecopy provides an efficient implementation of functions to access memory that may result in SIGSEGV or SIGBUS being sent to the accessor.
safemem
Package safemem provides the Block and BlockSeq types.
Package safemem provides the Block and BlockSeq types.
sighandling
Package sighandling contains helpers for handling signals to applications.
Package sighandling contains helpers for handling signals to applications.
socket
Package socket provides the interfaces that need to be provided by socket implementations and providers, as well as per family demultiplexing of socket creation.
Package socket provides the interfaces that need to be provided by socket implementations and providers, as well as per family demultiplexing of socket creation.
socket/control
Package control provides internal representations of socket control messages.
Package control provides internal representations of socket control messages.
socket/hostinet
Package hostinet implements AF_INET and AF_INET6 sockets using the host's network stack.
Package hostinet implements AF_INET and AF_INET6 sockets using the host's network stack.
socket/netfilter
Package netfilter helps the sentry interact with netstack's netfilter capabilities.
Package netfilter helps the sentry interact with netstack's netfilter capabilities.
socket/netlink
Package netlink provides core functionality for netlink sockets.
Package netlink provides core functionality for netlink sockets.
socket/netlink/port
Package port provides port ID allocation for netlink sockets.
Package port provides port ID allocation for netlink sockets.
socket/netlink/route
Package route provides a NETLINK_ROUTE socket protocol.
Package route provides a NETLINK_ROUTE socket protocol.
socket/netlink/uevent
Package uevent provides a NETLINK_KOBJECT_UEVENT socket protocol.
Package uevent provides a NETLINK_KOBJECT_UEVENT socket protocol.
socket/netstack
Package netstack provides an implementation of the socket.Socket interface that is backed by a tcpip.Endpoint.
Package netstack provides an implementation of the socket.Socket interface that is backed by a tcpip.Endpoint.
socket/rpcinet
Package rpcinet implements sockets using an RPC for each syscall.
Package rpcinet implements sockets using an RPC for each syscall.
socket/rpcinet/conn
Package conn is an RPC connection to a syscall RPC server.
Package conn is an RPC connection to a syscall RPC server.
socket/rpcinet/notifier
Package notifier implements an FD notifier implementation over RPC.
Package notifier implements an FD notifier implementation over RPC.
socket/unix
Package unix provides an implementation of the socket.Socket interface for the AF_UNIX protocol family.
Package unix provides an implementation of the socket.Socket interface for the AF_UNIX protocol family.
socket/unix/transport
Package transport contains the implementation of Unix endpoints.
Package transport contains the implementation of Unix endpoints.
state
Package state provides high-level state wrappers.
Package state provides high-level state wrappers.
strace
Package strace implements the logic to print out the input and the return value of each traced syscall.
Package strace implements the logic to print out the input and the return value of each traced syscall.
syscalls
Package syscalls is the interface from the application to the kernel.
Package syscalls is the interface from the application to the kernel.
syscalls/linux
Package linux provides syscall tables for amd64 Linux.
Package linux provides syscall tables for amd64 Linux.
time
Package time provides a calibrated clock synchronized to a system reference clock.
Package time provides a calibrated clock synchronized to a system reference clock.
unimpl
Package unimpl contains interface to emit events about unimplemented features.
Package unimpl contains interface to emit events about unimplemented features.
uniqueid
Package uniqueid defines context.Context keys for obtaining system-wide unique identifiers.
Package uniqueid defines context.Context keys for obtaining system-wide unique identifiers.
usage
Package usage provides representations of resource usage.
Package usage provides representations of resource usage.
usermem
Package usermem governs access to user memory.
Package usermem governs access to user memory.
vfs
Package vfs implements a virtual filesystem layer.
Package vfs implements a virtual filesystem layer.
watchdog
Package watchdog is responsible for monitoring the sentry for tasks that may potentially be stuck or looping inderterminally causing hard to debug hungs in the untrusted app.
Package watchdog is responsible for monitoring the sentry for tasks that may potentially be stuck or looping inderterminally causing hard to debug hungs in the untrusted app.
Package state provides functionality related to saving and loading object graphs.
Package state provides functionality related to saving and loading object graphs.
statefile
Package statefile defines the state file data stream.
Package statefile defines the state file data stream.
Package syserr contains sandbox-internal errors.
Package syserr contains sandbox-internal errors.
Package syserror contains syscall error codes exported as error interface instead of Errno.
Package syserror contains syscall error codes exported as error interface instead of Errno.
Package tcpip provides the interfaces and related types that users of the tcpip stack will use in order to create endpoints used to send and receive data over the network stack.
Package tcpip provides the interfaces and related types that users of the tcpip stack will use in order to create endpoints used to send and receive data over the network stack.
adapters/gonet
Package gonet provides a Go net package compatible wrapper for a tcpip stack.
Package gonet provides a Go net package compatible wrapper for a tcpip stack.
buffer
Package buffer provides the implementation of a buffer view.
Package buffer provides the implementation of a buffer view.
checker
Package checker provides helper functions to check networking packets for validity.
Package checker provides helper functions to check networking packets for validity.
hash/jenkins
Package jenkins implements Jenkins's one_at_a_time, non-cryptographic hash functions created by by Bob Jenkins.
Package jenkins implements Jenkins's one_at_a_time, non-cryptographic hash functions created by by Bob Jenkins.
header
Package header provides the implementation of the encoding and decoding of network protocol headers.
Package header provides the implementation of the encoding and decoding of network protocol headers.
iptables
Package iptables supports packet filtering and manipulation via the iptables tool.
Package iptables supports packet filtering and manipulation via the iptables tool.
link/channel
Package channel provides the implemention of channel-based data-link layer endpoints.
Package channel provides the implemention of channel-based data-link layer endpoints.
link/fdbased
Package fdbased provides the implemention of data-link layer endpoints backed by boundary-preserving file descriptors (e.g., TUN devices, seqpacket/datagram sockets).
Package fdbased provides the implemention of data-link layer endpoints backed by boundary-preserving file descriptors (e.g., TUN devices, seqpacket/datagram sockets).
link/loopback
Package loopback provides the implemention of loopback data-link layer endpoints.
Package loopback provides the implemention of loopback data-link layer endpoints.
link/muxed
Package muxed provides a muxed link endpoints.
Package muxed provides a muxed link endpoints.
link/rawfile
Package rawfile contains utilities for using the netstack with raw host files on Linux hosts.
Package rawfile contains utilities for using the netstack with raw host files on Linux hosts.
link/sharedmem
Package sharedmem provides the implemention of data-link layer endpoints backed by shared memory.
Package sharedmem provides the implemention of data-link layer endpoints backed by shared memory.
link/sharedmem/pipe
Package pipe implements a shared memory ring buffer on which a single reader and a single writer can operate (read/write) concurrently.
Package pipe implements a shared memory ring buffer on which a single reader and a single writer can operate (read/write) concurrently.
link/sharedmem/queue
Package queue provides the implementation of transmit and receive queues based on shared memory ring buffers.
Package queue provides the implementation of transmit and receive queues based on shared memory ring buffers.
link/sniffer
Package sniffer provides the implementation of data-link layer endpoints that wrap another endpoint and logs inbound and outbound packets.
Package sniffer provides the implementation of data-link layer endpoints that wrap another endpoint and logs inbound and outbound packets.
link/tun
Package tun contains methods to open TAP and TUN devices.
Package tun contains methods to open TAP and TUN devices.
link/waitable
Package waitable provides the implementation of data-link layer endpoints that wrap other endpoints, and can wait for inflight calls to WritePacket or DeliverNetworkPacket to finish (and new ones to be prevented).
Package waitable provides the implementation of data-link layer endpoints that wrap other endpoints, and can wait for inflight calls to WritePacket or DeliverNetworkPacket to finish (and new ones to be prevented).
network/arp
Package arp implements the ARP network protocol.
Package arp implements the ARP network protocol.
network/fragmentation
Package fragmentation contains the implementation of IP fragmentation.
Package fragmentation contains the implementation of IP fragmentation.
network/hash
Package hash contains utility functions for hashing.
Package hash contains utility functions for hashing.
network/ipv4
Package ipv4 contains the implementation of the ipv4 network protocol.
Package ipv4 contains the implementation of the ipv4 network protocol.
network/ipv6
Package ipv6 contains the implementation of the ipv6 network protocol.
Package ipv6 contains the implementation of the ipv6 network protocol.
ports
Package ports provides PortManager that manages allocating, reserving and releasing ports.
Package ports provides PortManager that manages allocating, reserving and releasing ports.
sample/tun_tcp_connect
This sample creates a stack with TCP and IPv4 protocols on top of a TUN device, and connects to a peer.
This sample creates a stack with TCP and IPv4 protocols on top of a TUN device, and connects to a peer.
sample/tun_tcp_echo
This sample creates a stack with TCP and IPv4 protocols on top of a TUN device, and listens on a port.
This sample creates a stack with TCP and IPv4 protocols on top of a TUN device, and listens on a port.
seqnum
Package seqnum defines the types and methods for TCP sequence numbers such that they fit in 32-bit words and work properly when overflows occur.
Package seqnum defines the types and methods for TCP sequence numbers such that they fit in 32-bit words and work properly when overflows occur.
stack
Package stack provides the glue between networking protocols and the consumers of the networking stack.
Package stack provides the glue between networking protocols and the consumers of the networking stack.
transport/icmp
Package icmp contains the implementation of the ICMP and IPv6-ICMP transport protocols for use in ping.
Package icmp contains the implementation of the ICMP and IPv6-ICMP transport protocols for use in ping.
transport/packet
Package packet provides the implementation of packet sockets (see packet(7)).
Package packet provides the implementation of packet sockets (see packet(7)).
transport/raw
Package raw provides the implementation of raw sockets (see raw(7)).
Package raw provides the implementation of raw sockets (see raw(7)).
transport/tcp
Package tcp contains the implementation of the TCP transport protocol.
Package tcp contains the implementation of the TCP transport protocol.
transport/tcp/testing/context
Package context provides a test context for use in tcp tests.
Package context provides a test context for use in tcp tests.
transport/tcpconntrack
Package tcpconntrack implements a TCP connection tracking object.
Package tcpconntrack implements a TCP connection tracking object.
transport/udp
Package udp contains the implementation of the UDP transport protocol.
Package udp contains the implementation of the UDP transport protocol.
Package tmutex provides the implementation of a mutex that implements an efficient TryLock function in addition to Lock and Unlock.
Package tmutex provides the implementation of a mutex that implements an efficient TryLock function in addition to Lock and Unlock.
Package unet provides a minimal net package based on Unix Domain Sockets.
Package unet provides a minimal net package based on Unix Domain Sockets.
Package urpc provides a minimal RPC package based on unet.
Package urpc provides a minimal RPC package based on unet.
Package waiter provides the implementation of a wait queue, where waiters can be enqueued to be notified when an event of interest happens.
Package waiter provides the implementation of a wait queue, where waiters can be enqueued to be notified when an event of interest happens.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL