freebsd-skq/sys/net
Bjoern A. Zeeb eea3faf77b Rework reference counting in case we queue into the netisr,
or overflow the netisr queue and fall back to the interface
queue so that we can garuantee that the ifnet pointer stays
valid.   Formerly we ended up with reference counts <= 0 in
case the netisr had returned ENOBUFS.  The idea is to track
any packet in the netisr queue and only change the refount
on edge operations for the fallback interface queue. This
also avoids problems in case the if_snd.ifq_len lies to us.

Also rework refount assertions to make sure they trigger if
we go below 1. Formerly a negative refence count did not
trigger the assert as the refcount variable is u_int.

Sponsored by:	ISPsystem
MFC after:	5 days
2010-03-06 21:22:28 +00:00
..
bpf_buffer.c Always embed pointer to BPF JIT function in BPF descriptor 2009-08-12 17:28:53 +00:00
bpf_buffer.h Introduce support for zero-copy BPF buffering, which reduces the 2008-03-24 13:49:17 +00:00
bpf_filter.c Fix the last missing parentheses for a return statement in bpf_filter.c. 2008-08-29 20:00:55 +00:00
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 Always embed pointer to BPF JIT function in BPF descriptor 2009-08-12 17:28:53 +00:00
bpf_zerocopy.h Make sure we are clearing the ZBUF_FLAG_IMMUTABLE any time a free buffer 2008-07-05 20:11:28 +00:00
bpf.c Return partially filled buffer for non-blocking read(2) 2010-02-20 00:19:21 +00:00
bpf.h Sync DLTs with latest libpcap version. 2009-04-02 13:02:12 +00:00
bpfdesc.h Always embed pointer to BPF JIT function in BPF descriptor 2009-08-12 17:28:53 +00:00
bridgestp.c Rework global locks for interface list and index management, correcting 2009-08-23 20:40:19 +00:00
bridgestp.h
ethernet.h Change if_output to take a struct route as its fourth argument in order 2009-04-16 20:30:28 +00:00
fddi.h Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
firewire.h Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
flowtable.c Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
flowtable.h The flow-table associates TCP/UDP flows and IP destinations with 2009-10-01 20:32:29 +00:00
ieee8023ad_lacp.c Use the flowid if its available for selecting the tx port. 2009-04-30 14:25:44 +00:00
ieee8023ad_lacp.h Remove extra semicolons. 2008-03-17 01:26:44 +00:00
if_arc.h Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
if_arcsubr.c Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
if_arp.h Add ARP statistics to the kernel and netstat. 2009-09-03 21:10:57 +00:00
if_atm.h Change if_output to take a struct route as its fourth argument in order 2009-04-16 20:30:28 +00:00
if_atmsubr.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
if_bridge.c Bring in the most recent version of ipfw and dummynet, developed 2010-03-02 17:40:48 +00:00
if_bridgevar.h
if_clone.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
if_clone.h Introduce and use a sysinit-based initialization scheme for virtual 2009-07-23 20:46:49 +00:00
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_disc.c Change if_output to take a struct route as its fourth argument in order 2009-04-16 20:30:28 +00:00
if_dl.h
if_edsc.c
if_ef.c Take a step towards removing if_watchdog/if_timer. Don't explicitly set 2009-11-06 14:55:01 +00:00
if_enc.c Unbreak the VIMAGE build with IPSEC, broken with r197952 by 2009-10-14 11:55:55 +00:00
if_enc.h Increase statistic counters for enc0 interface when enabled 2008-08-12 09:05:01 +00:00
if_epair.c Rework reference counting in case we queue into the netisr, 2010-03-06 21:22:28 +00:00
if_ethersubr.c Bring in the most recent version of ipfw and dummynet, developed 2010-03-02 17:40:48 +00:00
if_faith.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
if_fddisubr.c Break at_ifawithnet() into two variants: 2009-06-24 10:32:44 +00:00
if_fwsubr.c Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
if_gif.c Check pointer for NULL before dereferencing it, not after. 2009-10-22 06:17:04 +00:00
if_gif.h Remove unused VNET_SET() and related macros; only VNET_GET() is 2009-07-16 21:13:04 +00:00
if_gre.c The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-01 17:05:46 +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 Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
if_lagg.c 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_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 The proxy arp entries could not be added into the system over the 2009-12-30 21:35:34 +00:00
if_llatbl.h The proxy arp entries could not be added into the system over the 2009-12-30 21:35:34 +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 Implementation of the upcoming Wireless Mesh standard, 802.11s, on the 2009-07-11 15:02:45 +00:00
if_mib.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
if_mib.h
if_sppp.h
if_spppfr.c
if_spppsubr.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
if_stf.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
if_stf.h
if_tap.c In both if_tun and if_tap: 2010-02-28 16:25:49 +00:00
if_tap.h Add new TAPGIFNAME tap(4) character device ioctl. This is a 2008-09-08 22:43:55 +00:00
if_tapvar.h
if_tun.c In both if_tun and if_tap: 2010-02-28 16:25:49 +00:00
if_tun.h
if_types.h
if_var.h Fix drbr and altq interaction: 2010-02-13 16:04:58 +00:00
if_vlan_var.h
if_vlan.c Add __FBSDID. 2010-02-21 00:07:45 +00:00
if.c Use the DB_SHOW_ALL_COMMAND() macro to register the formerly 'show ifnets' 2010-02-24 15:54:24 +00:00
if.h Add TSO support on VLANs. Intentionally separated IFCAP_VLAN_HWTSO 2010-02-20 22:47:20 +00:00
iso88025.h Switch cmd argument to u_long. This matches what if_ethersubr.c does and 2009-06-21 10:29:31 +00:00
netisr_internal.h Changes to support crashdump analysis of netisr: 2010-03-01 00:42:36 +00:00
netisr.c Changes to support crashdump analysis of netisr: 2010-03-01 00:42:36 +00:00
netisr.h Whitespace tweak. 2010-03-01 00:43:05 +00:00
pfil.c Clean up comments, white space, and style in pfil.c (especially new VNET 2009-10-19 15:19:14 +00:00
pfil.h Remove unused pfil_flags field in packet_filter_hook. 2009-10-18 22:54:09 +00:00
pfkeyv2.h Added support for NAT-Traversal (RFC 3948) in IPsec stack. 2009-06-12 15:44:35 +00:00
ppp_defs.h
radix_mpath.c Extend route command: 2009-04-14 23:05:36 +00:00
radix_mpath.h When RADIX_MPATH is enabled, the route selection is not rotating 2008-05-30 09:34:35 +00:00
radix.c remove unnecessary casts leftover from a bogus fix to a previous bug 2010-03-02 16:24:16 +00:00
radix.h Move the scan for max_keylen into route.c::route_init(), 2009-12-14 20:12:51 +00:00
raw_cb.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
raw_cb.h Remove unused VNET_SET() and related macros; only VNET_GET() is 2009-07-16 21:13:04 +00:00
raw_usrreq.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
route.c The proxy arp entries could not be added into the system over the 2009-12-30 21:35:34 +00:00
route.h The proxy arp entries could not be added into the system over the 2009-12-30 21:35:34 +00:00
rtsock.c The proxy arp entries could not be added into the system over the 2009-12-30 21:35:34 +00:00
slcompress.c
slcompress.h
vnet.c Add DDB support for printing vnet_sysinit and vnet_sysuninit 2010-02-09 22:39:34 +00:00
vnet.h Instead of spamming the console on each curvnet recursion event, print 2010-02-04 07:55:42 +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