freebsd-dev/sys/netinet
Garrett Wollman 9f9b3dc4ae Add three new route flags to help determine what sort of address
the destination represents.  For IP:

- Iff it is a host route, RTF_LOCAL and RTF_BROADCAST indicate local
  (belongs to this host) and broadcast addresses, respectively.

- For all routes, RTF_MULTICAST is set if the destination is multicast.

The RTF_BROADCAST flag is used by ip_output() to eliminate a call to
in_broadcast() in a common case; this gives about 1% in our packet-generation
experiments.  All three flags might be used (although they aren't now)
to determine whether a packet can be forwarded; a given host route can
represent a forwardable address if:

	(rt->rt_flags & (RTF_HOST | RTF_LOCAL | RTF_BROADCAST | RTF_MULTICAST))
	== RTF_HOST

Obviously, one still has to do all the work if a host route is not present,
but this code allows one to cache the results of such a lookup if rtalloc1()
is called without masking RTF_PRCLONING.
1996-05-06 17:42:13 +00:00
..
icmp_var.h
if_ether.c Send ARP's for aliased subnets with the proper source address. 1996-03-23 01:32:30 +00:00
if_ether.h Send ARP's for aliased subnets with the proper source address. 1996-03-23 01:32:30 +00:00
if_fddi.h The last part of the ether_sprint -> %6D change. 1996-01-26 09:29:29 +00:00
igmp_var.h IGMPv2 routines rewritten, to be more compact and to fully comply 1996-03-14 16:59:20 +00:00
igmp.c Always call ip_output() with a valid route pointer. For igmp, also get the 1996-04-18 15:41:11 +00:00
igmp.h IGMPv2 routines rewritten, to be more compact and to fully comply 1996-03-14 16:59:20 +00:00
in_cksum.c
in_pcb.c Move or add #include <queue.h> in preparation for upcoming struct socket 1996-03-11 15:13:58 +00:00
in_pcb.h Make the default behavior of local port assignment match traditional 1996-02-22 21:32:23 +00:00
in_proto.c Delete #if 0 block containing unused definitions for ARPANET/DDN IMP 1996-04-26 18:30:52 +00:00
in_rmx.c Add three new route flags to help determine what sort of address 1996-05-06 17:42:13 +00:00
in_systm.h
in_var.h IGMPv2 routines rewritten, to be more compact and to fully comply 1996-03-14 16:59:20 +00:00
in.c Added proper splnet protection while modifying the interface address list. 1996-04-07 06:59:52 +00:00
in.h Add feature for tcp "established". 1996-04-03 13:52:20 +00:00
ip_fw.c Add feature for tcp "established". 1996-04-03 13:52:20 +00:00
ip_fw.h Add feature for tcp "established". 1996-04-03 13:52:20 +00:00
ip_icmp.c Always pass a route structure when calling ip_output(). 1996-04-03 18:52:22 +00:00
ip_icmp.h Fix a bunch of spelling errors in the comment fields of 1996-01-30 23:02:38 +00:00
ip_input.c Fix a bogon I introduced with my last change. 1996-04-12 09:24:22 +00:00
ip_mroute.c Always call ip_output() with a valid route pointer. For igmp, also get the 1996-04-18 15:41:11 +00:00
ip_mroute.h Completed function declarations and/or added prototypes. 1995-12-02 19:38:06 +00:00
ip_output.c Add three new route flags to help determine what sort of address 1996-05-06 17:42:13 +00:00
ip_var.h Make rip_input() take the header length 1996-03-26 19:16:46 +00:00
ip.h Define a few macros useful in the _IP_VHL case. 1996-04-18 15:42:50 +00:00
raw_ip.c Make rip_input() take the header length 1996-03-26 19:16:46 +00:00
tcp_debug.c Eliminated sloppy common-style declarations. Now there are no duplicated 1996-04-13 12:45:57 +00:00
tcp_debug.h Eliminated sloppy common-style declarations. Now there are no duplicated 1996-04-13 12:45:57 +00:00
tcp_fsm.h New style sysctl & staticize alot of stuff. 1995-11-14 20:34:56 +00:00
tcp_input.c Back out my stupid braino; I was thinking strlen and not sizeof. 1996-05-02 05:54:14 +00:00
tcp_output.c Two fixes from Rich Stevens: 1996-04-15 03:46:33 +00:00
tcp_reass.c Back out my stupid braino; I was thinking strlen and not sizeof. 1996-05-02 05:54:14 +00:00
tcp_seq.h Finish 4.4-Lite-2 merge: randomize TCP initial sequence numbers 1995-10-03 16:54:17 +00:00
tcp_subr.c In tcp_respond(), check that ro->ro_rt is non-null before RTFREEing 1996-03-27 18:23:16 +00:00
tcp_timer.c Two fixes from Rich Stevens: 1996-04-15 03:46:33 +00:00
tcp_timer.h Fix a bunch of spelling errors in the comment fields of 1996-01-30 23:02:38 +00:00
tcp_timewait.c In tcp_respond(), check that ro->ro_rt is non-null before RTFREEing 1996-03-27 18:23:16 +00:00
tcp_usrreq.c Move or add #include <queue.h> in preparation for upcoming struct socket 1996-03-11 15:13:58 +00:00
tcp_var.h Delete #ifdef notdef blocks containing old method of srtt calculation. 1996-04-26 18:32:58 +00:00
tcp.h
tcpip.h
udp_usrreq.c Back out my stupid braino; I was thinking strlen and not sizeof. 1996-05-02 05:54:14 +00:00
udp_var.h Uniformized pr_ctlinput protosw functions. The third arg is now `void 1995-12-16 02:14:44 +00:00
udp.h