mirror of
				https://gitlab.labs.nic.cz/labs/bird.git
				synced 2024-05-11 16:54:54 +00:00 
			
		
		
		
	BSD systems cannot use SO_DONTROUTE, because it does not work properly with multicast packets (perhaps it tries to find iface based on multicast group address). But we can use MSG_DONTROUTE sendmsg() flag for unicast packets. Works on FreeBSD, is ignored on OpenBSD and is broken on NetBSD (i guess due to integrated routing table and ARP table).
		
			
				
	
	
		
			18 lines
		
	
	
		
			1000 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			1000 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Available configuration variables:
 | 
						|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
						|
 | 
						|
CONFIG_AUTO_ROUTES	Device routes are added automagically by the kernel
 | 
						|
CONFIG_SELF_CONSCIOUS	We're able to recognize whether route was installed by us
 | 
						|
CONFIG_MULTIPLE_TABLES	The kernel supports multiple routing tables
 | 
						|
CONFIG_ALL_TABLES_AT_ONCE	Kernel scanner wants to process all tables at once
 | 
						|
CONFIG_SINGLE_ROUTE	There is only one route per network
 | 
						|
 | 
						|
CONFIG_MC_PROPER_SRC	Multicast packets have source address according to socket saddr field
 | 
						|
CONFIG_SKIP_MC_BIND	Don't call bind on multicast socket (def for *BSD)
 | 
						|
CONFIG_NO_IFACE_BIND	Bind to iface is not available, use workarounds (def for *BSD)
 | 
						|
CONFIG_UNIX_DONTROUTE	Use setsockopts DONTROUTE (undef for *BSD)
 | 
						|
CONFIG_DONTROUTE_UNICAST Use MSG_DONTROUTE flag for unicast packets (def for FreeBSD)
 | 
						|
CONFIG_USE_HDRINCL	Use IP_HDRINCL instead of control messages for source address on raw IP sockets.
 | 
						|
 | 
						|
CONFIG_RESTRICTED_PRIVILEGES	Implements restricted privileges using drop_uid()
 |