1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-22 11:17:19 +00:00
freebsd/sys/netinet
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
..
libalias
accf_data.c
accf_http.c
icmp6.h
icmp_var.h
if_atm.c
if_atm.h
if_ether.c Comply with RFC 3927, by forcing ARP replies which contain a source 2007-02-02 20:31:44 +00:00
if_ether.h
igmp_var.h
igmp.c
igmp.h
in_cksum.c
in_gif.c
in_gif.h
in_pcb.c #ifdef INET6 printing of inpcb IPv6 addresses in DDB. Patch committed 2007-02-18 08:57:23 +00:00
in_pcb.h Add "show inpcb", "show tcpcb" DDB commands, which should come in handy 2007-02-17 21:02:38 +00:00
in_proto.c Build PIM by default as part of the IPv4 multicast forwarding path. 2007-02-10 13:59:13 +00:00
in_rmx.c
in_systm.h
in_var.h
in.c In regular forwarding path, reject packets destined for 169.254.0.0/16 2007-02-03 06:45:51 +00:00
in.h Add INADDR_ALLRPTS_GROUP define for 224.0.0.22 for future IGMPv3 support. 2007-02-27 14:45:37 +00:00
ip6.h
ip_carp.c Since rev. 1.94 of netinet/in.c, the netinet layer frees all its 2007-02-02 09:39:09 +00:00
ip_carp.h
ip_divert.c
ip_divert.h
ip_dummynet.c
ip_dummynet.h
ip_ecn.c
ip_ecn.h
ip_encap.c
ip_encap.h
ip_fastfwd.c When fast-forwarding is enabled, do not forward directed IPv4 broadcasts 2007-02-05 00:15:40 +00:00
ip_fw2.c Include opt_ipdivert.h so that the message announcing ipfw correctly 2007-02-03 22:11:53 +00:00
ip_fw_pfil.c Summer of Code 2005: improve libalias - part 2 of 2 2006-12-29 21:59:17 +00:00
ip_fw.h Summer of Code 2005: improve libalias - part 2 of 2 2006-12-29 21:59:17 +00:00
ip_gre.c
ip_gre.h
ip_icmp.c
ip_icmp.h
ip_id.c
ip_input.c In regular forwarding path, reject packets destined for 169.254.0.0/16 2007-02-03 06:45:51 +00:00
ip_ipsec.c
ip_ipsec.h
ip_mroute.c Style: Move declaration of subsystem mutex to where other 2007-02-28 20:02:24 +00:00
ip_mroute.h Store the cached route in vifp in the normal send_packet() case. 2007-02-08 23:05:08 +00:00
ip_options.c
ip_options.h
ip_output.c Fix undirected broadcast sends for the case where SO_DONTROUTE has also 2007-03-01 13:29:30 +00:00
ip_var.h
ip.h Marking this as __packed was needed to get the alignment and offset of 2007-01-12 07:23:31 +00:00
ipprotosw.h
pim_var.h
pim.h
raw_ip.c Summer of Code 2005: improve libalias - part 2 of 2 2006-12-29 21:59:17 +00:00
sctp_asconf.c - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_asconf.h - most all includes (#include <>) migrate to the sctp_os_bsd.h file 2007-01-18 09:58:43 +00:00
sctp_auth.c - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_auth.h - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_bsd_addr.c - most all includes (#include <>) migrate to the sctp_os_bsd.h file 2007-01-18 09:58:43 +00:00
sctp_bsd_addr.h - most all includes (#include <>) migrate to the sctp_os_bsd.h file 2007-01-18 09:58:43 +00:00
sctp_constants.h - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_crc32.c - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_crc32.h - most all includes (#include <>) migrate to the sctp_os_bsd.h file 2007-01-18 09:58:43 +00:00
sctp_header.h
sctp_indata.c - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_indata.h - most all includes (#include <>) migrate to the sctp_os_bsd.h file 2007-01-18 09:58:43 +00:00
sctp_input.c - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_input.h - most all includes (#include <>) migrate to the sctp_os_bsd.h file 2007-01-18 09:58:43 +00:00
sctp_lock_bsd.h
sctp_os_bsd.h - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_os.h - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_output.c - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_output.h - most all includes (#include <>) migrate to the sctp_os_bsd.h file 2007-01-18 09:58:43 +00:00
sctp_pcb.c - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_pcb.h - most all includes (#include <>) migrate to the sctp_os_bsd.h file 2007-01-18 09:58:43 +00:00
sctp_peeloff.c - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_peeloff.h - most all includes (#include <>) migrate to the sctp_os_bsd.h file 2007-01-18 09:58:43 +00:00
sctp_structs.h - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_timer.c - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_timer.h - most all includes (#include <>) migrate to the sctp_os_bsd.h file 2007-01-18 09:58:43 +00:00
sctp_uio.h - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_usrreq.c - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp_var.h - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctp.h
sctputil.c - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
sctputil.h - Copyright updates (aka 2007) 2007-02-12 23:24:31 +00:00
tcp_debug.c
tcp_debug.h
tcp_fsm.h
tcp_hostcache.c
tcp_input.c In the SYN_SENT case, Initialize the snd_wnd before the call to tcp_mss(). 2007-02-28 20:48:00 +00:00
tcp_output.c Prevent TSO mbuf chain from overflowing a few bytes by subtracting the 2007-03-01 13:12:09 +00:00
tcp_reass.c In the SYN_SENT case, Initialize the snd_wnd before the call to tcp_mss(). 2007-02-28 20:48:00 +00:00
tcp_sack.c
tcp_seq.h
tcp_subr.c Reap FIN_WAIT_2 connections marked SOCANTRCVMORE faster. This mitigate 2007-02-26 22:25:21 +00:00
tcp_syncache.c Change the way the advertized TCP window scaling is computed. Instead of 2007-02-01 17:39:18 +00:00
tcp_timer.c Reap FIN_WAIT_2 connections marked SOCANTRCVMORE faster. This mitigate 2007-02-26 22:25:21 +00:00
tcp_timer.h Reap FIN_WAIT_2 connections marked SOCANTRCVMORE faster. This mitigate 2007-02-26 22:25:21 +00:00
tcp_timewait.c Reap FIN_WAIT_2 connections marked SOCANTRCVMORE faster. This mitigate 2007-02-26 22:25:21 +00:00
tcp_usrreq.c Reap FIN_WAIT_2 connections marked SOCANTRCVMORE faster. This mitigate 2007-02-26 22:25:21 +00:00
tcp_var.h Reap FIN_WAIT_2 connections marked SOCANTRCVMORE faster. This mitigate 2007-02-26 22:25:21 +00:00
tcp.h Expose smoothed RTT and RTT variance measurements to userland via 2007-02-02 18:34:18 +00:00
tcpip.h
udp_usrreq.c Rename two identically named log_in_vain variables: tcp_input.c's static 2007-02-20 10:20:03 +00:00
udp_var.h Rename two identically named log_in_vain variables: tcp_input.c's static 2007-02-20 10:20:03 +00:00
udp.h Gratuitous UDP restyling toward style(9) in 7.x. 2007-02-20 10:13:11 +00:00