wg-quick: add intentionally undocumented userspace implementation knob
This knob might disappear at some point, and we don't want to encourage its use, so it's not being documented, but this should help with development of new implementations. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
		
							parent
							
								
									4502350512
								
							
						
					
					
						commit
						6c407ae27b
					
				@ -101,7 +101,7 @@ get_real_interface() {
 | 
			
		||||
add_if() {
 | 
			
		||||
	export WG_DARWIN_UTUN_NAME_FILE="/var/run/wireguard/$INTERFACE.name"
 | 
			
		||||
	mkdir -m 0700 -p "/var/run/wireguard/"
 | 
			
		||||
	cmd wireguard-go utun
 | 
			
		||||
	cmd "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" utun
 | 
			
		||||
	get_real_interface
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -86,9 +86,9 @@ add_if() {
 | 
			
		||||
	local ret
 | 
			
		||||
	if ! cmd ip link add "$INTERFACE" type wireguard; then
 | 
			
		||||
		ret=$?
 | 
			
		||||
		[[ -e /sys/module/wireguard ]] || ! command -v wireguard-go >/dev/null && return $ret
 | 
			
		||||
		[[ -e /sys/module/wireguard ]] || ! command -v "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" >/dev/null && exit $ret
 | 
			
		||||
		echo "[!] Missing WireGuard kernel module. Falling back to slow userspace implementation."
 | 
			
		||||
		cmd wireguard-go "$INTERFACE"
 | 
			
		||||
		cmd "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" "$INTERFACE"
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user