Documentation ¶
Overview ¶
Package fdbased provides the implemention of data-link layer endpoints backed by boundary-preserving file descriptors (e.g., TUN devices, seqpacket/datagram sockets).
FD based endpoints can be used in the networking stack by calling New() to create a new endpoint, and then passing it as an argument to Stack.CreateNIC().
Index ¶
Constants ¶
This section is empty.
Variables ¶
var BufConfig = []int{128, 256, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768}
BufConfig defines the shape of the vectorised view used to read packets from the NIC. 从NIC读取数据的多级缓存配置
Functions ¶
func New ¶
func New(opts *Options) tcpip.LinkEndpointID
New creates a new fd-based endpoint.
Makes fd non-blocking, but does not take ownership of fd, which must remain open for the lifetime of the returned endpoint. 根据选项参数创建一个链路层的endpoint,并返回该endpoint的id
Types ¶
type Options ¶
type Options struct { FD int MTU uint32 ClosedFunc func(*tcpip.Error) Address tcpip.LinkAddress ResolutionRequired bool SaveRestore bool ChecksumOffload bool DisconnectOk bool HandleLocal bool TestLossPacket func(data []byte) bool }
Options specify the details about the fd-based endpoint to be created. 创建fdbase端的一些选项参数