1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-22 11:17:19 +00:00
freebsd/sys
Bruce M Simpson a3fd02d88b Fix undirected broadcast sends for the case where SO_DONTROUTE has also
been set at the socket layer, in our somewhat convoluted IPv4 source
selection logic in ip_output().

IP_ONESBCAST is actually a special case of SO_DONTROUTE, as 255.255.255.255
must always be delivered on a local link with a TTL of 1.

If IP_ONESBCAST has been set at the socket layer, also perform destination
interface lookup for point-to-point interfaces based on the destination
address of the link; previously it was not possible to use the option with
such interfaces; also, the destination/broadcast address fields map to the
same field within struct ifnet, which doesn't help matters.

One more valid fix going forward for these issues is to treat 255.255.255.255
as a destination in its own right in the forwarding trie. Other
implementations do this. It fits with the use of multiple paths, though
it then becomes necessary to specify interface preference.
This hack will eventually go away when that comes to pass.

Reviewed by:	andre
MFC after:	1 week
2007-03-01 13:29:30 +00:00
..
amd64 MFP4: 115094 2007-02-27 02:08:01 +00:00
arm Update bus_setup_intr(). 2007-03-01 09:10:55 +00:00
boot Fix the cdboot twiddle display. 2007-02-23 21:07:44 +00:00
bsm
cam Use tsleep() rather than msleep() with a NULL mtx. 2007-02-27 17:15:39 +00:00
coda
compat MFp4 (110541): 2007-02-25 12:43:07 +00:00
conf Add GEOM_MULTIPATH so LINT will build. 2007-02-27 12:05:25 +00:00
contrib o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
crypto
ddb
dev Revert previous change and take back a pointy hat. 2007-02-28 09:04:46 +00:00
fs Use pause() rather than tsleep() on stack variables and function pointers. 2007-02-27 17:23:29 +00:00
gdb
geom Use pause() rather than tsleep() on stack variables and function pointers. 2007-02-27 17:23:29 +00:00
gnu
i4b o break newbus api: add a new argument of type driver_filter_t to 2007-02-24 02:28:07 +00:00
i386 Use pause() rather than tsleep() on stack variables and function pointers. 2007-02-27 17:23:29 +00:00
ia64 Updated ia64 isa support with the new bus_setup_intr() syntax. 2007-02-24 16:56:22 +00:00
isa Use pause() rather than tsleep() on explicit global dummy variables. 2007-02-27 17:22:30 +00:00
kern Evidently I've overestimated gcc's ability to peak inside inline functions 2007-03-01 09:35:48 +00:00
libkern
modules First cut at GEOM based multipath. This is an active/passive{/passive...} 2007-02-27 04:01:58 +00:00
net Prepare for 802.1p: 2007-02-28 22:05:30 +00:00
net80211
netatalk
netatm
netgraph o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
netinet Fix undirected broadcast sends for the case where SO_DONTROUTE has also 2007-03-01 13:29:30 +00:00
netinet6 Add comments about common idioms for cleanup pass at a later date. 2007-02-28 21:58:37 +00:00
netipsec
netipx Build ipx_ip.c only if options IPXIP is defined. No functional change. 2007-02-26 11:55:34 +00:00
netkey
netnatm
netncp Use pause() rather than tsleep() on stack variables and function pointers. 2007-02-27 17:23:29 +00:00
netsmb
nfs
nfs4client
nfsclient Use pause() rather than tsleep() on stack variables and function pointers. 2007-02-27 17:23:29 +00:00
nfsserver
opencrypto
pc98 Use pause() rather than tsleep() on explicit global dummy variables. 2007-02-27 17:22:30 +00:00
pccard
pci Convert sis(4) to use its own watchdog procedure. 2007-02-24 14:27:36 +00:00
powerpc Catch up with bus_setup_intr() modification and garbage collect a 2007-02-25 15:04:08 +00:00
rpc
security More unnecessary include reduction. 2007-02-23 14:39:04 +00:00
sparc64 Use uma_set_align(). 2007-02-25 10:52:47 +00:00
sun4v o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
sys Minor reformatting. 2007-02-28 16:51:52 +00:00
tools Fix obvious typo (use long name if short name isn't provided). 2007-02-27 16:52:27 +00:00
ufs Account for di_blocks allocations when IN_SPACECOUNTED is set in an 2007-02-23 20:23:35 +00:00
vm Use pause() in vm_object_deallocate() to yield the CPU to the lock holder 2007-02-27 19:40:26 +00:00
Makefile