freebsd-dev/sys/netinet
Alexander V. Chernikov 3c2824b9ef Do not check if found IPv4 rte is dynamic if net.inet.icmp.drop_redirect is
enabled. This eliminates one mtx_lock() per each routing lookup thus improving
performance in several cases (routing to directly connected interface or routing
to default gateway).

Icmp redirects should not be used to provide routing direction nowadays, even
for end hosts. Routers should not use them too (and this is explicitly restricted
in IPv6, see RFC 4861, clause 8.2).

Current commit changes rnh_machaddr function to 'stock' rn_match (and back) for every
AF_INET routing table in given VNET instance on drop_redirect sysctl change.

This change is part of bigger patch eliminating rte locking.

Sponsored by:	Yandex LLC
MFC after:	2 weeks
2012-10-10 19:06:11 +00:00
..
cc
khelp
libalias Fix typo: s/pakcet/packet 2012-09-20 03:29:43 +00:00
accf_data.c
accf_dns.c
accf_http.c
cc.h
icmp6.h Correct typo in the RFC number for the constants based on IANA assignments 2012-03-04 18:47:20 +00:00
icmp_var.h
if_atm.c
if_atm.h
if_ether.c Provide a sysctl switch that allows to install ARP entries 2012-09-03 14:29:28 +00:00
if_ether.h - Updated TOE support in the kernel. 2012-06-19 07:34:13 +00:00
igmp_var.h
igmp.c Revert previous commit... 2012-10-10 08:36:38 +00:00
igmp.h
in_cksum.c
in_debug.c
in_gif.c Merge the projects/pf/head branch, that was worked on for last six months, 2012-09-08 06:41:54 +00:00
in_gif.h
in_mcast.c
in_pcb.c There is a complex race in in_pcblookup_hash() and in_pcblookup_group(). 2012-10-02 12:03:02 +00:00
in_pcb.h There is a complex race in in_pcblookup_hash() and in_pcblookup_group(). 2012-10-02 12:03:02 +00:00
in_pcbgroup.c
in_proto.c
in_rmx.c Do not check if found IPv4 rte is dynamic if net.inet.icmp.drop_redirect is 2012-10-10 19:06:11 +00:00
in_systm.h Use uint32_t instead of n_long and n_time, and uint16_t instead of n_short. 2009-02-13 15:14:43 +00:00
in_var.h Do not check if found IPv4 rte is dynamic if net.inet.icmp.drop_redirect is 2012-10-10 19:06:11 +00:00
in.c
in.h
ip6.h
ip_carp.c Revert previous commit... 2012-10-10 08:36:38 +00:00
ip_carp.h
ip_divert.c Revert previous commit... 2012-10-10 08:36:38 +00:00
ip_divert.h
ip_dummynet.h
ip_ecn.c
ip_ecn.h
ip_encap.c
ip_encap.h
ip_fastfwd.c A step in resolving mess with byte ordering for AF_INET. After this change: 2012-10-06 10:02:11 +00:00
ip_fw.h
ip_gre.c
ip_gre.h
ip_icmp.c Do not check if found IPv4 rte is dynamic if net.inet.icmp.drop_redirect is 2012-10-10 19:06:11 +00:00
ip_icmp.h
ip_id.c
ip_input.c A step in resolving mess with byte ordering for AF_INET. After this change: 2012-10-06 10:02:11 +00:00
ip_ipsec.c After r241245 it appeared that in_delayed_cksum(), which still expects 2012-10-08 08:03:58 +00:00
ip_ipsec.h
ip_mroute.c Revert previous commit... 2012-10-10 08:36:38 +00:00
ip_mroute.h
ip_options.c
ip_options.h
ip_output.c After r241245 it appeared that in_delayed_cksum(), which still expects 2012-10-08 08:03:58 +00:00
ip_var.h Do not check if found IPv4 rte is dynamic if net.inet.icmp.drop_redirect is 2012-10-10 19:06:11 +00:00
ip.h
pim_var.h
pim.h
raw_ip.c Merge the projects/pf/head branch, that was worked on for last six months, 2012-09-08 06:41:54 +00:00
sctp_asconf.c Whitespace cleanup. 2012-09-08 20:54:54 +00:00
sctp_asconf.h
sctp_auth.c Using %p in a format string requires a void *. 2012-09-05 18:52:01 +00:00
sctp_auth.h
sctp_bsd_addr.c
sctp_bsd_addr.h
sctp_cc_functions.c Get rid of a gcc'ism. 2012-09-06 07:03:56 +00:00
sctp_constants.h Use consistent text at the begining of the files. 2012-05-23 11:26:28 +00:00
sctp_crc32.c
sctp_crc32.h
sctp_dtrace_declare.h
sctp_dtrace_define.h
sctp_header.h Don't include a structure containing a flexible array in another 2012-09-07 13:36:42 +00:00
sctp_indata.c Don't include a structure containing a flexible array in another 2012-09-07 13:36:42 +00:00
sctp_indata.h
sctp_input.c Fix a bug related to handling Re-config chunks. It is not true that 2012-09-22 22:04:17 +00:00
sctp_input.h Don't include a structure containing a flexible array in another 2012-09-07 13:36:42 +00:00
sctp_lock_bsd.h
sctp_os_bsd.h
sctp_os.h
sctp_output.c Declare a static function as such. 2012-09-23 07:23:18 +00:00
sctp_output.h Small cleanups. No functional change. 2012-09-22 14:39:20 +00:00
sctp_pcb.c Whitespace change. 2012-09-23 07:43:10 +00:00
sctp_pcb.h Pass the src and dst address of a received packet explicitly around. 2012-06-28 16:01:08 +00:00
sctp_peeloff.c
sctp_peeloff.h
sctp_ss_functions.c
sctp_structs.h Don't include a structure containing a flexible array in another 2012-09-07 13:36:42 +00:00
sctp_sysctl.c
sctp_sysctl.h
sctp_timer.c Using %p in a format string requires a void *. 2012-09-05 18:52:01 +00:00
sctp_timer.h
sctp_uio.h
sctp_usrreq.c
sctp_var.h
sctp.h
sctputil.c Small cleanups. No functional change. 2012-09-14 18:32:20 +00:00
sctputil.h
siftr.c
tcp_debug.c
tcp_debug.h
tcp_fsm.h
tcp_hostcache.c
tcp_hostcache.h
tcp_input.c This small change takes care of a race condition 2012-08-25 09:26:37 +00:00
tcp_lro.c
tcp_lro.h
tcp_offload.c
tcp_offload.h
tcp_output.c
tcp_reass.c
tcp_sack.c
tcp_seq.h
tcp_subr.c Merge the projects/pf/head branch, that was worked on for last six months, 2012-09-08 06:41:54 +00:00
tcp_syncache.c
tcp_syncache.h
tcp_timer.c
tcp_timer.h
tcp_timewait.c
tcp_usrreq.c Fix bug in TCP_KEEPCNT setting, which slipped in in the last round 2012-09-27 07:13:21 +00:00
tcp_var.h
tcp.h
tcpip.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
toecore.c Revert previous commit... 2012-10-10 08:36:38 +00:00
toecore.h
udp_usrreq.c
udp_var.h
udp.h