mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-30 05:25:35 +00:00
21fda7f670
As part of the work on #7248 I wanted to know all of the flags on the RouteMessage struct that we get back from macOS. Though it doesn't turn out to be useful (when using an exit node/Tailscale is the default route, the flags for the physical interface routes are the same), it still seems useful from a debugging/comprehensiveness perspective. Adds additional Darwin flags that were output once I enabled this mode. Signed-off-by: Mihai Parparita <mihai@tailscale.com>
37 lines
924 B
Go
37 lines
924 B
Go
// Copyright (c) Tailscale Inc & AUTHORS
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
//go:build darwin
|
|
|
|
package routetable
|
|
|
|
import "golang.org/x/sys/unix"
|
|
|
|
const (
|
|
ribType = unix.NET_RT_DUMP2
|
|
parseType = unix.NET_RT_IFLIST2
|
|
rmExpectedType = unix.RTM_GET2
|
|
|
|
// Skip routes that were cloned from a parent
|
|
skipFlags = unix.RTF_WASCLONED
|
|
)
|
|
|
|
var flags = map[int]string{
|
|
unix.RTF_BLACKHOLE: "blackhole",
|
|
unix.RTF_BROADCAST: "broadcast",
|
|
unix.RTF_GATEWAY: "gateway",
|
|
unix.RTF_GLOBAL: "global",
|
|
unix.RTF_HOST: "host",
|
|
unix.RTF_IFSCOPE: "ifscope",
|
|
unix.RTF_LOCAL: "local",
|
|
unix.RTF_MULTICAST: "multicast",
|
|
unix.RTF_REJECT: "reject",
|
|
unix.RTF_ROUTER: "router",
|
|
unix.RTF_STATIC: "static",
|
|
unix.RTF_UP: "up",
|
|
// More obscure flags, just to have full coverage.
|
|
unix.RTF_LLINFO: "{RTF_LLINFO}",
|
|
unix.RTF_PRCLONING: "{RTF_PRCLONING}",
|
|
unix.RTF_CLONING: "{RTF_CLONING}",
|
|
}
|