MCPcopy Index your code
hub / github.com/coder/coder / GetNetworkingStack

Function GetNetworkingStack

vpn/tun_linux.go:18–45  ·  view source on GitHub ↗
(_ *Tunnel, _ *StartRequest, logger slog.Logger)

Source from the content-addressed store, hash-verified

16const defaultTunName = "coder0"
17
18func GetNetworkingStack(_ *Tunnel, _ *StartRequest, logger slog.Logger) (NetworkStack, error) {
19 tunDev, tunName, err := tstun.New(tailnet.Logger(logger.Named("net.tun.device")), defaultTunName)
20 if err != nil {
21 return NetworkStack{}, xerrors.Errorf("create tun device: %w", err)
22 }
23
24 wireguardMonitor, err := netmon.New(tailnet.Logger(logger.Named("net.wgmonitor")))
25 if err != nil {
26 return NetworkStack{}, xerrors.Errorf("create wireguard monitor: %w", err)
27 }
28
29 coderRouter, err := router.New(tailnet.Logger(logger.Named("net.router")), tunDev, wireguardMonitor)
30 if err != nil {
31 return NetworkStack{}, xerrors.Errorf("create router: %w", err)
32 }
33
34 dnsConfigurator, err := dns.NewOSConfigurator(tailnet.Logger(logger.Named("net.dns")), tunName)
35 if err != nil {
36 return NetworkStack{}, xerrors.Errorf("create dns configurator: %w", err)
37 }
38
39 return NetworkStack{
40 WireguardMonitor: wireguardMonitor,
41 TUNDevice: tunDev,
42 Router: coderRouter,
43 DNSConfigurator: dnsConfigurator,
44 }, nil
45}

Callers

nothing calls this directly

Calls 4

LoggerFunction · 0.92
NamedMethod · 0.80
NewMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected