X-Git-Url: http://www.git.cypherpunks.ru/?p=nncp.git;a=blobdiff_plain;f=src%2Fyggdrasil%2Ftcpip.go;h=b602dc12422a02311ce672fc87166f2f12be2c52;hp=ed3ddb8325e9519e2f251720e8b8740f2a592612;hb=e50957330b9a28419cb8ecb67a38b34e8ba845fd;hpb=f399d985b3fce5d74a00d232764368991efdbfee diff --git a/src/yggdrasil/tcpip.go b/src/yggdrasil/tcpip.go index ed3ddb8..b602dc1 100644 --- a/src/yggdrasil/tcpip.go +++ b/src/yggdrasil/tcpip.go @@ -31,13 +31,13 @@ import ( iwt "github.com/Arceliar/ironwood/types" yaddr "github.com/yggdrasil-network/yggdrasil-go/src/address" "golang.org/x/crypto/ed25519" - "gvisor.dev/gvisor/pkg/tcpip" - "gvisor.dev/gvisor/pkg/tcpip/adapters/gonet" - "gvisor.dev/gvisor/pkg/tcpip/buffer" - "gvisor.dev/gvisor/pkg/tcpip/header" - "gvisor.dev/gvisor/pkg/tcpip/network/ipv6" - "gvisor.dev/gvisor/pkg/tcpip/stack" - "gvisor.dev/gvisor/pkg/tcpip/transport/tcp" + "inet.af/netstack/tcpip" + "inet.af/netstack/tcpip/adapters/gonet" + "inet.af/netstack/tcpip/buffer" + "inet.af/netstack/tcpip/header" + "inet.af/netstack/tcpip/network/ipv6" + "inet.af/netstack/tcpip/stack" + "inet.af/netstack/tcpip/transport/tcp" ) const IPv6HdrSize = 40 @@ -70,7 +70,6 @@ func (*TCPIPEndpoint) Wait() {} func (e *TCPIPEndpoint) WritePacket( _ stack.RouteInfo, - _ *stack.GSO, _ tcpip.NetworkProtocolNumber, pkt *stack.PacketBuffer, ) tcpip.Error { @@ -96,13 +95,16 @@ func (e *TCPIPEndpoint) WritePacket( func (e *TCPIPEndpoint) WritePackets( stack.RouteInfo, - *stack.GSO, stack.PacketBufferList, tcpip.NetworkProtocolNumber, ) (int, tcpip.Error) { panic("not implemented") } +func (e *TCPIPEndpoint) WriteRawPacket(*stack.PacketBuffer) tcpip.Error { + panic("not implemented") +} + func (*TCPIPEndpoint) ARPHardwareType() header.ARPHardwareType { return header.ARPHardwareNone } func (e *TCPIPEndpoint) AddHeader( @@ -164,7 +166,11 @@ func NewTCPIPEndpoint( if err := s.CreateNIC(1, &e); err != nil { return nil, fmt.Errorf("%+v", err) } - if err := s.AddAddress(1, ipv6.ProtocolNumber, tcpip.Address(ipOur)); err != nil { + protoAddr := tcpip.ProtocolAddress{ + Protocol: ipv6.ProtocolNumber, + AddressWithPrefix: tcpip.Address(ipOur).WithPrefix(), + } + if err := s.AddProtocolAddress(1, protoAddr, stack.AddressProperties{}); err != nil { return nil, fmt.Errorf("%+v", err) } s.AddRoute(tcpip.Route{Destination: header.IPv6EmptySubnet, NIC: 1})