mirror of
https://github.com/v2fly/v2ray-core.git
synced 2024-11-10 06:16:53 -05:00
30 lines
686 B
Go
30 lines
686 B
Go
|
package tun
|
||
|
|
||
|
import (
|
||
|
"gvisor.dev/gvisor/pkg/tcpip/network/ipv4"
|
||
|
"gvisor.dev/gvisor/pkg/tcpip/network/ipv6"
|
||
|
"gvisor.dev/gvisor/pkg/tcpip/stack"
|
||
|
"gvisor.dev/gvisor/pkg/tcpip/transport/icmp"
|
||
|
"gvisor.dev/gvisor/pkg/tcpip/transport/tcp"
|
||
|
"gvisor.dev/gvisor/pkg/tcpip/transport/udp"
|
||
|
)
|
||
|
|
||
|
func CreateStack(_ stack.LinkEndpoint) (*stack.Stack, error) {
|
||
|
s := stack.New(stack.Options{
|
||
|
NetworkProtocols: []stack.NetworkProtocolFactory{
|
||
|
ipv4.NewProtocol,
|
||
|
ipv6.NewProtocol,
|
||
|
},
|
||
|
TransportProtocols: []stack.TransportProtocolFactory{
|
||
|
tcp.NewProtocol,
|
||
|
udp.NewProtocol,
|
||
|
icmp.NewProtocol4,
|
||
|
icmp.NewProtocol6,
|
||
|
},
|
||
|
})
|
||
|
|
||
|
// nicID := tcpip.NICID(s.UniqueID())
|
||
|
|
||
|
return s, nil
|
||
|
}
|