1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sys/netinet
George V. Neville-Neil e162ea60d4 Add a queue to hold packets while we await an ARP reply.
When a fast machine first brings up some non TCP networking program
it is quite possible that we will drop packets due to the fact that
only one packet can be held per ARP entry.  This leads to packets
being missed when a program starts or restarts if the ARP data is
not currently in the ARP cache.

This code adds a new sysctl, net.link.ether.inet.maxhold, which defines
a system wide maximum number of packets to be held in each ARP entry.
Up to maxhold packets are queued until an ARP reply is received or
the ARP times out.  The default setting is the old value of 1
which has been part of the BSD networking code since time
immemorial.

Expose the time we hold an incomplete ARP entry by adding
the sysctl net.link.ether.inet.wait, which defaults to 20
seconds, the value used when the new ARP code was added..

Reviewed by:	bz, rpaulo
MFC after: 3 weeks
2010-11-12 22:03:02 +00:00
..
cc This commit marks the first formal contribution of the "Five New TCP Congestion 2010-11-12 06:41:55 +00:00
ipfw The first customer of the SO_USER_COOKIE option: 2010-11-12 13:05:17 +00:00
libalias Standardise all Swinburne related copyright/licence statements throughout the 2010-11-12 00:44:18 +00:00
accf_data.c
accf_dns.c
accf_http.c
cc.h This commit marks the first formal contribution of the "Five New TCP Congestion 2010-11-12 06:41:55 +00:00
icmp6.h MFP4: @176978-176982, 176984, 176990-176994, 177441 2010-04-29 11:52:42 +00:00
icmp_var.h
if_atm.c
if_atm.h
if_ether.c Add a queue to hold packets while we await an ARP reply. 2010-11-12 22:03:02 +00:00
if_ether.h
igmp_var.h
igmp.c Proper bracketing. 2010-10-01 11:48:14 +00:00
igmp.h
in_cksum.c
in_debug.c Add initial inet DDB support for show in_ifaddr and show sin commands which 2010-10-24 22:02:36 +00:00
in_gif.c MFP4: @176978-176982, 176984, 176990-176994, 177441 2010-04-29 11:52:42 +00:00
in_gif.h
in_mcast.c Fix a few issues related to the legacy 4.4 BSD multicast APIs. 2010-04-10 12:05:31 +00:00
in_pcb.c Fix so that a multicast packet can be sent 2010-11-11 05:40:39 +00:00
in_pcb.h
in_proto.c Allow carp(4) to be loaded as a kernel module. Follow precedent set by 2010-08-11 00:51:50 +00:00
in_rmx.c Add a bandaid for a long-standing race condition during route entry 2010-09-27 19:26:56 +00:00
in_systm.h
in_var.h
in.c Add a queue to hold packets while we await an ARP reply. 2010-11-12 22:03:02 +00:00
in.h Make the RPC specific __rpc_inet_ntop() and __rpc_inet_pton() general 2010-09-24 15:01:45 +00:00
ip6.h
ip_carp.c Do not convert some meaningful error value to EINVAL. 2010-09-20 12:23:10 +00:00
ip_carp.h Unbreak LINT by moving all carp hooks to net/if.c / netinet/ip_carp.h, with 2010-08-11 20:18:19 +00:00
ip_divert.c Ensure a minimum "slop" of 10 extra pcb structures when providing a 2010-08-17 16:41:16 +00:00
ip_divert.h
ip_dummynet.h whitespace fixes (trailing whitespace, bad indentation 2010-04-19 16:17:30 +00:00
ip_ecn.c
ip_ecn.h
ip_encap.c
ip_encap.h
ip_fastfwd.c
ip_fw.h The first customer of the SO_USER_COOKIE option: 2010-11-12 13:05:17 +00:00
ip_gre.c
ip_gre.h
ip_icmp.c Change the messages of the ICMP bad port bandwidth limiter from 2010-08-14 21:04:27 +00:00
ip_icmp.h MFP4: @176978-176982, 176984, 176990-176994, 177441 2010-04-29 11:52:42 +00:00
ip_id.c
ip_input.c MFp4 CH=183052 183053 183258: 2010-09-02 17:43:44 +00:00
ip_ipsec.c Make the IPsec SADB embedded route cache a union to be able to hold both the 2010-10-23 20:35:40 +00:00
ip_ipsec.h
ip_mroute.c Virtualize the IPv4 multicast routing code. 2010-06-02 15:44:43 +00:00
ip_mroute.h Virtualize the IPv4 multicast routing code. 2010-06-02 15:44:43 +00:00
ip_options.c Use ifa_ifwithaddr_check() rather than ifa_ifwithaddr() as we are not 2010-10-14 12:32:49 +00:00
ip_options.h
ip_output.c IP_BINDANY is not correctly handled in getsockopt() case. 2010-09-24 14:38:54 +00:00
ip_var.h MFp4 CH=183052 183053 183258: 2010-09-02 17:43:44 +00:00
ip.h
pim_var.h Virtualize the IPv4 multicast routing code. 2010-06-02 15:44:43 +00:00
pim.h
raw_ip.c Adding an address on an interface also requires the loopback route to 2010-09-12 18:04:47 +00:00
sctp_asconf.c Delay the assignment of a path for DATA chunk until they hit 2010-09-15 23:10:45 +00:00
sctp_asconf.h Delay the assignment of a path for DATA chunk until they hit 2010-09-15 23:10:45 +00:00
sctp_auth.c Fix a locking issue which shows up when the code is used 2010-09-19 11:42:16 +00:00
sctp_auth.h
sctp_bsd_addr.c Remove unused variable/assignment. 2010-09-15 21:19:54 +00:00
sctp_bsd_addr.h This adds back the Iterator to the sctp 2010-05-16 17:03:56 +00:00
sctp_cc_functions.c Make the initial congestion window configurable via sysctl. 2010-09-17 18:53:07 +00:00
sctp_cc_functions.h
sctp_constants.h * Implement initial version of send buffer splitting. 2010-09-17 16:20:29 +00:00
sctp_crc32.c Fix the the SCTP_WITH_NO_CSUM option when used in combination with 2010-08-29 18:50:30 +00:00
sctp_crc32.h Fix the the SCTP_WITH_NO_CSUM option when used in combination with 2010-08-29 18:50:30 +00:00
sctp_header.h
sctp_indata.c Not only stop all timers when entering the SHUTDOWN_SENT state, 2010-11-07 14:39:40 +00:00
sctp_indata.h
sctp_input.c Not only stop all timers when entering the SHUTDOWN_SENT state, 2010-11-07 14:39:40 +00:00
sctp_input.h
sctp_lock_bsd.h 1) Optimize the cleanup and don't always depend on 2010-06-06 20:34:17 +00:00
sctp_os_bsd.h Fix typos. 2010-11-09 10:59:09 +00:00
sctp_os.h
sctp_output.c Fix more issues with the SACK/NR-SACK generation code. 2010-11-12 20:45:21 +00:00
sctp_output.h Delay the assignment of a path for DATA chunk until they hit 2010-09-15 23:10:45 +00:00
sctp_pcb.c Improve the scalability by using the local and remote port when 2010-11-09 16:18:32 +00:00
sctp_pcb.h Fix the switching on/off of CMT using sysctl and socket option. 2010-08-28 17:59:51 +00:00
sctp_peeloff.c Fix the switching on/off of CMT using sysctl and socket option. 2010-08-28 17:59:51 +00:00
sctp_peeloff.h
sctp_structs.h PR SCTP Bugs. Basically a full sized frame of 2010-07-29 11:37:04 +00:00
sctp_sysctl.c Make the initial congestion window configurable via sysctl. 2010-09-17 18:53:07 +00:00
sctp_sysctl.h Allow the initial congestion window to be configure 2010-09-19 11:57:21 +00:00
sctp_timer.c Do not have the MTU table twice in the code. Therefore move the 2010-11-07 18:50:35 +00:00
sctp_timer.h Remove two functions which are not used. 2010-11-07 17:50:56 +00:00
sctp_uio.h Fix typos. 2010-11-09 10:59:09 +00:00
sctp_usrreq.c Do not have the MTU table twice in the code. Therefore move the 2010-11-07 18:50:35 +00:00
sctp_var.h
sctp.h Fix typos. 2010-11-09 10:59:09 +00:00
sctputil.c Don't print an empty line when printing mapping arrays. 2010-11-12 20:46:33 +00:00
sctputil.h Do not have the MTU table twice in the code. Therefore move the 2010-11-07 18:50:35 +00:00
siftr.c Standardise all Swinburne related copyright/licence statements throughout the 2010-11-12 00:44:18 +00:00
tcp_debug.c
tcp_debug.h
tcp_fsm.h
tcp_hostcache.c MFP4: @176978-176982, 176984, 176990-176994, 177441 2010-04-29 11:52:42 +00:00
tcp_hostcache.h
tcp_input.c This commit marks the first formal contribution of the "Five New TCP Congestion 2010-11-12 06:41:55 +00:00
tcp_lro.c
tcp_lro.h
tcp_offload.c
tcp_offload.h
tcp_output.c This commit marks the first formal contribution of the "Five New TCP Congestion 2010-11-12 06:41:55 +00:00
tcp_reass.c Retire the system-wide, per-reassembly queue segment limit. The mechanism is far 2010-10-16 07:12:39 +00:00
tcp_sack.c This commit marks the first formal contribution of the "Five New TCP Congestion 2010-11-12 06:41:55 +00:00
tcp_seq.h
tcp_subr.c This commit marks the first formal contribution of the "Five New TCP Congestion 2010-11-12 06:41:55 +00:00
tcp_syncache.c Initializing the new error variable to zero in syncache_socket() 2010-08-15 13:07:08 +00:00
tcp_syncache.h
tcp_timer.c This commit marks the first formal contribution of the "Five New TCP Congestion 2010-11-12 06:41:55 +00:00
tcp_timer.h Remove the TCP inflight bandwidth limiter as announced in r211315 2010-09-16 21:06:45 +00:00
tcp_timewait.c MFP4: @176978-176982, 176984, 176990-176994, 177441 2010-04-29 11:52:42 +00:00
tcp_usrreq.c This commit marks the first formal contribution of the "Five New TCP Congestion 2010-11-12 06:41:55 +00:00
tcp_var.h This commit marks the first formal contribution of the "Five New TCP Congestion 2010-11-12 06:41:55 +00:00
tcp.h Remove the TCP inflight bandwidth limiter as announced in r211315 2010-09-16 21:06:45 +00:00
tcpip.h
toedev.h
udp_usrreq.c Ensure a minimum "slop" of 10 extra pcb structures when providing a 2010-08-17 16:41:16 +00:00
udp_var.h MFP4: @176978-176982, 176984, 176990-176994, 177441 2010-04-29 11:52:42 +00:00
udp.h