freebsd-dev/sys/netgraph
Robert Watson bc725eafc7 Chance protocol switch method pru_detach() so that it returns void
rather than an error.  Detaches do not "fail", they other occur or
the protocol flags SS_PROTOREF to take ownership of the socket.

soclose() no longer looks at so_pcb to see if it's NULL, relying
entirely on the protocol to decide whether it's time to free the
socket or not using SS_PROTOREF.  so_pcb is now entirely owned and
managed by the protocol code.  Likewise, no longer test so_pcb in
other socket functions, such as soreceive(), which have no business
digging into protocol internals.

Protocol detach routines no longer try to free the socket on detach,
this is performed in the socket code if the protocol permits it.

In rts_detach(), no longer test for rp != NULL in detach, and
likewise in other protocols that don't permit a NULL so_pcb, reduce
the incidence of testing for it during detach.

netinet and netinet6 are not fully updated to this change, which
will be in an upcoming commit.  In their current state they may leak
memory or panic.

MFC after:	3 months
2006-04-01 15:42:02 +00:00
..
atm Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
bluetooth Chance protocol switch method pru_detach() so that it returns void 2006-04-01 15:42:02 +00:00
netflow - Increase maximum number of interfaces to 2048. 2006-02-09 11:42:17 +00:00
netgraph.h Provide additional macros for sending netgraph items, which allow 2006-01-12 22:44:04 +00:00
ng_async.c
ng_async.h
ng_atmllc.c
ng_atmllc.h
ng_base.c - Print also node ID in ktr(9) messages. [1] 2006-01-12 22:41:32 +00:00
ng_bpf.c Fix build without BPF_JITTER option. 2005-12-07 21:41:45 +00:00
ng_bpf.h
ng_bridge.c
ng_bridge.h Use variable-sized arrays where appropriate. 2005-10-28 14:41:28 +00:00
ng_cisco.c
ng_cisco.h
ng_device.c
ng_device.h
ng_echo.c
ng_echo.h
ng_eiface.c Don't count output bytes twice (the byte accouting is done 2006-02-11 20:25:00 +00:00
ng_eiface.h
ng_etf.c
ng_etf.h
ng_ether.c Do not force queueing on peer hooks. This was important only for 2006-01-12 21:09:12 +00:00
ng_ether.h
ng_fec.c - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
ng_fec.h
ng_frame_relay.c Initialize variable. 2006-01-14 21:49:31 +00:00
ng_frame_relay.h
ng_gif_demux.c
ng_gif_demux.h
ng_gif.c
ng_gif.h
ng_hole.c Fix memory leak. 2005-12-09 07:09:44 +00:00
ng_hole.h
ng_hub.c
ng_hub.h
ng_iface.c Style and other fixes for the last commit. 2005-10-11 09:11:57 +00:00
ng_iface.h
ng_ip_input.c
ng_ip_input.h
ng_ipfw.c Unbreak this. 2006-02-14 15:22:24 +00:00
ng_ipfw.h Remove unused now field. 2006-02-17 09:42:49 +00:00
ng_ksocket.c Clear csum_flags after reading data from socket buffer. Otherwise, 2006-02-21 13:04:39 +00:00
ng_ksocket.h Use variable-sized arrays where appropriate. 2005-10-28 14:41:28 +00:00
ng_l2tp.c
ng_l2tp.h
ng_lmi.c Remove dead code. 2006-01-14 14:17:27 +00:00
ng_lmi.h
ng_message.h In the splnet(9) times netgraph(4) was synchronous and if a message 2006-01-12 19:14:40 +00:00
ng_mppc.c In preparation for making the modules actually use opt_*.h files 2005-10-14 23:17:45 +00:00
ng_mppc.h
ng_nat.c
ng_nat.h
ng_one2many.c
ng_one2many.h
ng_parse.c Fix two accesses to uninitialized variables that a revision 1.27 2006-01-18 16:09:00 +00:00
ng_parse.h Use variable-sized arrays where appropriate. 2005-10-28 14:41:28 +00:00
ng_ppp.c
ng_ppp.h
ng_pppoe.c o Introduce D-Link compat mode, that is default to off and can be set 2006-01-27 10:56:22 +00:00
ng_pppoe.h o Introduce D-Link compat mode, that is default to off and can be set 2006-01-27 10:56:22 +00:00
ng_pptpgre.c
ng_pptpgre.h
ng_rfc1490.c
ng_rfc1490.h
ng_sample.c
ng_sample.h
ng_socket.c Chance protocol switch method pru_detach() so that it returns void 2006-04-01 15:42:02 +00:00
ng_socket.h
ng_socketvar.h
ng_source.c Simplify ng_source_send() removing temporary queue and merging two 2006-01-23 10:28:04 +00:00
ng_source.h Implement an upper limit for packets per second sent by node. 2005-12-23 19:14:38 +00:00
ng_split.c
ng_split.h Make the cookie constant name canonical. 2005-10-25 20:56:12 +00:00
ng_sppp.c Fix module from panic. 2006-01-29 22:06:51 +00:00
ng_sppp.h
ng_tcpmss.c Free private data when deleting hook. 2006-03-15 15:41:36 +00:00
ng_tcpmss.h
ng_tee.c
ng_tee.h
ng_tty.c Use new (inline) functions for calls into driver. 2005-10-16 20:44:18 +00:00
ng_tty.h
ng_UI.c
ng_UI.h
ng_vjc.c Use __LP64__ to check for the 64-bit pointer type, and fix -Wundef. 2005-12-04 00:25:03 +00:00
ng_vjc.h
ng_vlan.c
ng_vlan.h Use variable-sized arrays where appropriate. 2005-10-28 14:41:28 +00:00
NOTES