mirror of
				https://github.com/kubenetworks/kubevpn.git
				synced 2025-10-31 18:52:50 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package handler
 | |
| 
 | |
| import (
 | |
| 	"github.com/spf13/pflag"
 | |
| 
 | |
| 	"github.com/wencaiwulue/kubevpn/v2/pkg/daemon/rpc"
 | |
| )
 | |
| 
 | |
| type ExtraRouteInfo struct {
 | |
| 	ExtraCIDR   []string
 | |
| 	ExtraDomain []string
 | |
| 	ExtraNodeIP bool
 | |
| }
 | |
| 
 | |
| func ParseExtraRouteFromRPC(route *rpc.ExtraRoute) *ExtraRouteInfo {
 | |
| 	if route == nil {
 | |
| 		return &ExtraRouteInfo{}
 | |
| 	}
 | |
| 	return &ExtraRouteInfo{
 | |
| 		ExtraCIDR:   route.ExtraCIDR,
 | |
| 		ExtraDomain: route.ExtraDomain,
 | |
| 		ExtraNodeIP: route.ExtraNodeIP,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (e ExtraRouteInfo) ToRPC() *rpc.ExtraRoute {
 | |
| 	return &rpc.ExtraRoute{
 | |
| 		ExtraCIDR:   e.ExtraCIDR,
 | |
| 		ExtraDomain: e.ExtraDomain,
 | |
| 		ExtraNodeIP: e.ExtraNodeIP,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func AddExtraRoute(flags *pflag.FlagSet, route *ExtraRouteInfo) {
 | |
| 	flags.StringArrayVar(&route.ExtraCIDR, "extra-cidr", []string{}, "Extra network CIDR string, add those cidr network to route table, eg: --extra-cidr 192.168.0.159/24 --extra-cidr 192.168.1.160/32")
 | |
| 	flags.StringArrayVar(&route.ExtraDomain, "extra-domain", []string{}, "Extra domain string, the resolved IP will add to route table, eg: --extra-domain test.abc.com --extra-domain foo.test.com")
 | |
| 	flags.BoolVar(&route.ExtraNodeIP, "extra-node-ip", false, "Extra node IP, add cluster node IP to route table.")
 | |
| }
 | 
