udp基本写完了 关于socket的不少细节还没看 另外在网络栈静置一段时间后再次发起连接将无法找到路由

This commit is contained in:
impact-eintr
2022-12-02 21:11:41 +08:00
parent ab3705960a
commit 050d5fec97
13 changed files with 655 additions and 74 deletions

View File

@@ -49,7 +49,7 @@ type Options struct {
TestLossPacket func(data []byte) bool
}
// 根据选项参数创建一个链路层的endpoint并返回该endpoint的id
// New 根据选项参数创建一个链路层的endpoint并返回该endpoint的id
func New(opts *Options) tcpip.LinkEndpointID {
syscall.SetNonblock(opts.FD, true)
caps := stack.LinkEndpointCapabilities(0) // 初始化
@@ -203,7 +203,7 @@ func (e *endpoint) dispatch() (bool, *tcpip.Error) {
switch p {
case header.ARPProtocolNumber, header.IPv4ProtocolNumber:
log.Println("链路层收到报文")
log.Println("链路层收到报文,来自: ", remoteLinkAddr, localLinkAddr)
e.dispatcher.DeliverNetworkPacket(e, remoteLinkAddr, localLinkAddr, p, vv)
case header.IPv6ProtocolNumber:
// TODO ipv6暂时不感兴趣