mirror of
https://github.com/tailscale/tailscale.git
synced 2025-12-03 02:21:58 +00:00
wgengine: simplify, change some signatures
* make RouterGen return an error, not take both tunname and tundev * also remove RouteGen taking a wireguard/device.Device; currently unused * remove derp parameter (it'll work differently) * unexport NewUserspaceRouter in per-OS impls, add documented wrapper Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
committed by
Brad Fitzpatrick
parent
9dbc52bb5b
commit
79295b1138
@@ -9,8 +9,11 @@ import (
|
||||
"net"
|
||||
"time"
|
||||
|
||||
"github.com/tailscale/wireguard-go/device"
|
||||
"github.com/tailscale/wireguard-go/tun"
|
||||
"github.com/tailscale/wireguard-go/wgcfg"
|
||||
"tailscale.com/tailcfg"
|
||||
"tailscale.com/types/logger"
|
||||
"tailscale.com/wgengine/filter"
|
||||
)
|
||||
|
||||
@@ -58,6 +61,15 @@ func (rs *RouteSettings) OnlyRelevantParts() string {
|
||||
rs.LocalAddr, rs.DNS, rs.DNSDomains, peers)
|
||||
}
|
||||
|
||||
// NewUserspaceRouter returns a new Router for the current platform, using the provided tun device.
|
||||
func NewUserspaceRouter(logf logger.Logf, wgdev *device.Device, tundev tun.Device, netChanged func()) (Router, error) {
|
||||
return newUserspaceRouter(logf, wgdev, tundev, netChanged)
|
||||
}
|
||||
|
||||
// RouterGen is the signature for the two funcs that create Router implementations:
|
||||
// NewUserspaceRouter (which varies by operating system) and NewFakeRouter.
|
||||
type RouterGen func(logf logger.Logf, wgdev *device.Device, tundev tun.Device, netStateChanged func()) (Router, error)
|
||||
|
||||
// Router is responsible for managing the system route table.
|
||||
//
|
||||
// There's only one instance, and one per-OS implementation.
|
||||
|
||||
Reference in New Issue
Block a user