The BIRD (BGP) integration previously lived half in cmd/tailscaled (which created a chirp client via a build-tag-gated file on some platforms) and half in wgengine (which carried the client in its Config and toggled the "tailscale" protocol as the node gained or lost primary subnet router duty). Move it all to a new feature/bird package, installed on the engine via the new wgengine.HookNewBird hook, like other feature/* packages. wgengine.Config.BIRDClient (and the wgengine.BIRDClient interface) are replaced by a BIRDSocket path from which the engine constructs the feature's Bird handle at startup. The subnet router overlap detection and protocol toggling move into feature/bird, preserving the previous ordering: state is recomputed before Reconfig's ErrNoChanges early return and applied after the router is configured. tailscaled keeps BIRD support by default on the platforms that previously had it (linux, darwin, freebsd, openbsd) via feature/condregister. Also, add an integration test, as this feature lacked much test coverage previously. Updates #12614 Change-Id: I7866a50779e454c87933b358735f7dcd9e2b126f Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
63 lines
1.9 KiB
Go
63 lines
1.9 KiB
Go
// Copyright (c) Tailscale Inc & contributors
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
// Code generated by gen_deps.go; DO NOT EDIT.
|
|
|
|
package integration
|
|
|
|
import (
|
|
// And depend on a bunch of tailscaled innards, for Go's test caching.
|
|
// Otherwise cmd/go never sees that we depend on these packages'
|
|
// transitive deps when we run "go install tailscaled" in a child
|
|
// process and can cache a prior success when a dependency changes.
|
|
_ "tailscale.com/client/local"
|
|
_ "tailscale.com/cmd/tailscaled/childproc"
|
|
_ "tailscale.com/control/controlclient"
|
|
_ "tailscale.com/derp/derphttp"
|
|
_ "tailscale.com/drive/driveimpl"
|
|
_ "tailscale.com/envknob"
|
|
_ "tailscale.com/feature"
|
|
_ "tailscale.com/feature/buildfeatures"
|
|
_ "tailscale.com/feature/condregister"
|
|
_ "tailscale.com/feature/ssh"
|
|
_ "tailscale.com/health"
|
|
_ "tailscale.com/hostinfo"
|
|
_ "tailscale.com/ipn"
|
|
_ "tailscale.com/ipn/conffile"
|
|
_ "tailscale.com/ipn/ipnlocal"
|
|
_ "tailscale.com/ipn/ipnserver"
|
|
_ "tailscale.com/ipn/store"
|
|
_ "tailscale.com/ipn/store/mem"
|
|
_ "tailscale.com/logpolicy"
|
|
_ "tailscale.com/logtail"
|
|
_ "tailscale.com/net/dns"
|
|
_ "tailscale.com/net/dnsfallback"
|
|
_ "tailscale.com/net/netmon"
|
|
_ "tailscale.com/net/netns"
|
|
_ "tailscale.com/net/proxymux"
|
|
_ "tailscale.com/net/socks5"
|
|
_ "tailscale.com/net/tsdial"
|
|
_ "tailscale.com/net/tstun"
|
|
_ "tailscale.com/paths"
|
|
_ "tailscale.com/safesocket"
|
|
_ "tailscale.com/syncs"
|
|
_ "tailscale.com/tailcfg"
|
|
_ "tailscale.com/tsd"
|
|
_ "tailscale.com/tsweb/varz"
|
|
_ "tailscale.com/types/flagtype"
|
|
_ "tailscale.com/types/key"
|
|
_ "tailscale.com/types/logger"
|
|
_ "tailscale.com/types/logid"
|
|
_ "tailscale.com/util/clientmetric"
|
|
_ "tailscale.com/util/eventbus"
|
|
_ "tailscale.com/util/osshare"
|
|
_ "tailscale.com/util/syspolicy"
|
|
_ "tailscale.com/util/syspolicy/pkey"
|
|
_ "tailscale.com/util/syspolicy/policyclient"
|
|
_ "tailscale.com/version"
|
|
_ "tailscale.com/version/distro"
|
|
_ "tailscale.com/wgengine"
|
|
_ "tailscale.com/wgengine/netstack"
|
|
_ "tailscale.com/wgengine/router"
|
|
)
|