mirror of
				https://github.com/tailscale/tailscale.git
				synced 2025-10-31 00:01:40 +01:00 
			
		
		
		
	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}",
 | |
| }
 |