freebsd-src/sys/net
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
..
bpf.c Fix a typo in a comment. 2010-09-16 18:37:33 +00:00
bpf.h Sync DLTs with the latest pcap version. 2010-10-29 18:41:09 +00:00
bpf_buffer.c
bpf_buffer.h
bpf_filter.c
bpf_jitter.c General style cleanup, no functional change. 2009-11-20 21:12:40 +00:00
bpf_jitter.h - Allocate scratch memory on stack instead of pre-allocating it with 2009-11-20 18:49:20 +00:00
bpf_zerocopy.c Remove page queues locking from all sf_buf_mext()-like functions. The page 2010-05-06 17:43:41 +00:00
bpf_zerocopy.h
bpfdesc.h Implement flexible BPF timestamping framework. 2010-06-15 19:28:44 +00:00
bridgestp.c
bridgestp.h
ethernet.h
fddi.h
firewire.h
flowtable.c Update several places that iterate over CPUs to use CPU_FOREACH(). 2010-06-11 18:46:34 +00:00
flowtable.h allocate ipv6 flows from the ipv6 flow zone 2010-05-16 21:48:39 +00:00
ieee8023ad_lacp.c
ieee8023ad_lacp.h
if.c Factor out DDB commands from r204145, r204279 into if_debug.c for further 2010-10-25 08:30:19 +00:00
if.h Reshuffle SIOCGIFCONF32 handler from r155224. 2010-10-21 16:20:48 +00:00
if_arc.h
if_arcsubr.c
if_arp.h
if_atm.h
if_atmsubr.c
if_bridge.c Unbreak LINT by moving all carp hooks to net/if.c / netinet/ip_carp.h, with 2010-08-11 20:18:19 +00:00
if_bridgevar.h
if_clone.c Take a reference to make sure that the interface cannot go away during 2010-04-11 18:47:38 +00:00
if_clone.h
if_dead.c Remove if_timer/if_watchdog now that they are no longer used. The space 2009-11-30 21:25:57 +00:00
if_debug.c Factor out DDB commands from r204145, r204279 into if_debug.c for further 2010-10-25 08:30:19 +00:00
if_disc.c
if_dl.h
if_edsc.c
if_ef.c Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
if_enc.c
if_enc.h
if_epair.c MFp4 CH=183259: 2010-09-02 16:11:12 +00:00
if_ethersubr.c When moving an ethernet ifnet from one vnet to another, destroy the 2010-08-13 18:17:32 +00:00
if_faith.c
if_fddisubr.c
if_fwsubr.c
if_gif.c Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
if_gif.h MFP4: @176978-176982, 176984, 176990-176994, 177441 2010-04-29 11:52:42 +00:00
if_gre.c Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
if_gre.h The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-01 17:05:46 +00:00
if_iso88025subr.c
if_lagg.c Add a sysctl knob to accept input packets on any link in a failover lagg. 2010-09-01 16:53:38 +00:00
if_lagg.h Propagate the vlan eventis to the underlying interfaces/members so they can do initialization of hw related features. 2010-02-06 13:49:35 +00:00
if_llatbl.c Add a queue to hold packets while we await an ARP reply. 2010-11-12 22:03:02 +00:00
if_llatbl.h Add a queue to hold packets while we await an ARP reply. 2010-11-12 22:03:02 +00:00
if_llc.h
if_loop.c ifconfig(8) expects interface fooX to be supported by the module if_foo, 2010-02-21 15:25:47 +00:00
if_media.c
if_media.h Add MCS to the list of media types. 2010-03-23 13:15:11 +00:00
if_mib.c
if_mib.h
if_sppp.h
if_spppfr.c
if_spppsubr.c
if_stf.c Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
if_stf.h
if_tap.c - Expand scope of tun/tap softc locks to cover more softc fields and 2010-09-22 21:02:43 +00:00
if_tap.h
if_tapvar.h
if_tun.c Only hide the ifa and not the tp under #ifdef INET as the tp is needed 2010-10-01 15:14:14 +00:00
if_tun.h
if_types.h
if_var.h This patch fixes the problem where proxy ARP entries cannot be added 2010-05-25 20:42:35 +00:00
if_vlan.c Adjust the interface type in the link layer socket address for vlan(4) 2010-08-06 15:15:26 +00:00
if_vlan_var.h
iso88025.h
netisr.c Update several places that iterate over CPUs to use CPU_FOREACH(). 2010-06-11 18:46:34 +00:00
netisr.h Whitespace tweak. 2010-03-01 00:43:05 +00:00
netisr_internal.h Changes to support crashdump analysis of netisr: 2010-03-01 00:42:36 +00:00
pfil.c
pfil.h small portability fix to build on linux/windows 2010-07-15 14:41:06 +00:00
pfkeyv2.h
ppp_defs.h
radix.c whitespace cleanup 2010-07-15 14:41:59 +00:00
radix.h Not only flush the ipfw tables when unloading ipfw or tearing 2010-03-07 15:37:58 +00:00
radix_mpath.c One of the advantages of enabling ECMP (a.k.a RADIX_MPATH) is to 2010-03-09 01:11:45 +00:00
radix_mpath.h
raw_cb.c
raw_cb.h
raw_usrreq.c
route.c This patch fixes the problem where proxy ARP entries cannot be added 2010-05-25 20:42:35 +00:00
route.h Verify interface up status using its link state only 2010-03-16 17:59:12 +00:00
rtsock.c Close a race acquiring the IF_ADDR_LOCK() for each entry while iterating 2010-10-16 19:25:27 +00:00
slcompress.c
slcompress.h
vnet.c Add an extra comment to the SDT probes definition. This allows us to get 2010-08-22 11:18:57 +00:00
vnet.h Use the same treatment as in linker_set.h for the __start and __stop 2010-11-11 19:18:52 +00:00
zlib.c
zlib.h Merge projects/enhanced_coredumps (r204346) into HEAD: 2010-03-02 06:58:58 +00:00
zutil.h Merge projects/enhanced_coredumps (r204346) into HEAD: 2010-03-02 06:58:58 +00:00