mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-11-04 01:51:04 +01:00 
			
		
		
		
	Add primary routes to node
Signed-off-by: Kristoffer Dalby <kristoffer@dalby.cc>
This commit is contained in:
		
							parent
							
								
									a0a463494b
								
							
						
					
					
						commit
						33ae56acfa
					
				
							
								
								
									
										19
									
								
								machine.go
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								machine.go
									
									
									
									
									
								
							@ -35,6 +35,11 @@ const (
 | 
			
		||||
	maxHostnameLength = 255
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	ExitRouteV4 = netip.MustParsePrefix("0.0.0.0/0")
 | 
			
		||||
	ExitRouteV6 = netip.MustParsePrefix("::/0")
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Machine is a Headscale client.
 | 
			
		||||
type Machine struct {
 | 
			
		||||
	ID          uint64 `gorm:"primary_key"`
 | 
			
		||||
@ -633,10 +638,17 @@ func (machine Machine) toNode(
 | 
			
		||||
		[]netip.Prefix{},
 | 
			
		||||
		addrs...) // we append the node own IP, as it is required by the clients
 | 
			
		||||
 | 
			
		||||
	// TODO(kradalby): Needs investigation, We probably dont need this condition
 | 
			
		||||
	// now that we dont have shared nodes
 | 
			
		||||
	if includeRoutes {
 | 
			
		||||
	allowedIPs = append(allowedIPs, machine.EnabledRoutes...)
 | 
			
		||||
 | 
			
		||||
	primaryRoutes := []netip.Prefix{}
 | 
			
		||||
	if len(machine.EnabledRoutes) > 0 {
 | 
			
		||||
		for _, route := range machine.EnabledRoutes {
 | 
			
		||||
			if route == ExitRouteV4 || route == ExitRouteV6 {
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			primaryRoutes = append(primaryRoutes, route)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var derp string
 | 
			
		||||
@ -691,6 +703,7 @@ func (machine Machine) toNode(
 | 
			
		||||
		DiscoKey:   discoKey,
 | 
			
		||||
		Addresses:  addrs,
 | 
			
		||||
		AllowedIPs: allowedIPs,
 | 
			
		||||
		PrimaryRoutes: primaryRoutes,
 | 
			
		||||
		Endpoints:  machine.Endpoints,
 | 
			
		||||
		DERP:       derp,
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user