Index: sys/netinet/if_ether.c =================================================================== --- sys/netinet/if_ether.c +++ sys/netinet/if_ether.c @@ -114,7 +114,7 @@ VNET_PCPUSTAT_SYSUNINIT(arpstat); #endif /* VIMAGE */ -VNET_DEFINE_STATIC(int, arp_maxhold) = 1; +VNET_DEFINE_STATIC(int, arp_maxhold) = 16; #define V_arpt_keep VNET(arpt_keep) #define V_arpt_down VNET(arpt_down) Index: sys/netinet6/nd6.c =================================================================== --- sys/netinet6/nd6.c +++ sys/netinet6/nd6.c @@ -106,7 +106,7 @@ VNET_DEFINE(int, nd6_maxnudhint) = 0; /* max # of subsequent upper * layer hints */ -VNET_DEFINE_STATIC(int, nd6_maxqueuelen) = 1; /* max pkts cached in unresolved +VNET_DEFINE_STATIC(int, nd6_maxqueuelen) = 16; /* max pkts cached in unresolved * ND entries */ #define V_nd6_maxndopt VNET(nd6_maxndopt) #define V_nd6_maxqueuelen VNET(nd6_maxqueuelen) Index: usr.sbin/arp/arp.4 =================================================================== --- usr.sbin/arp/arp.4 +++ usr.sbin/arp/arp.4 @@ -51,8 +51,9 @@ a message on the associated network requesting the address mapping. If a response is provided, the new mapping is cached and any pending message is transmitted. -ARP will queue at most one packet while waiting for a response to a -mapping request; +ARP will queue at most +.Va net.link.ether.inet.maxhold +packets while waiting for a response to a mapping request; only the most recently ``transmitted'' packet is kept. If the target host does not respond after several requests, the host is considered to be down allowing an error to be returned to @@ -173,7 +174,7 @@ .It Va maxhold How many packets to hold in the per-entry output queue while the entry is being resolved. -Default is one packet. +Default is 16 packets. .It Va maxtries Number of retransmits before a host is considered down and an error is returned.