freebsd-dev/sys/netgraph
dwmalone 76bae86e04 Hopefully improve control message passing over Unix domain sockets.
1) Allow the sending of more than one control message at a time
over a unix domain socket. This should cover the PR 29499.

2) This requires that unp_{ex,in}ternalize and unp_scan understand
mbufs with more than one control message at a time.

3) Internalize and externalize used to work on the mbuf in-place.
This made life quite complicated and the code for sizeof(int) <
sizeof(file *) could end up doing the wrong thing. The patch always
create a new mbuf/cluster now. This resulted in the change of the
prototype for the domain externalise function.

4) You can now send SCM_TIMESTAMP messages.

5) Always use CMSG_DATA(cm) to determine the start where the data
in unp_{ex,in}ternalize. It was using ((struct cmsghdr *)cm + 1)
in some places, which gives the wrong alignment on the alpha.
(NetBSD made this fix some time ago).

This results in an ABI change for discriptor passing and creds
passing on the alpha. (Probably on the IA64 and Spare ports too).

6) Fix userland programs to use CMSG_* macros too.

7) Be more careful about freeing mbufs containing (file *)s.
This is made possible by the prototype change of externalise.

PR:		29499
MFC after:	6 weeks
2001-10-04 13:11:48 +00:00
..
netgraph.h Add an external function to unlink a netgraph type from the types list. 2001-07-23 21:14:57 +00:00
ng_async.c Fix some memory leaks 2001-01-10 07:13:58 +00:00
ng_async.h
ng_base.c Fix two typos 2001-08-21 13:20:02 +00:00
ng_bpf.c Fix cut and paste error in a comment. 2001-01-30 07:58:30 +00:00
ng_bpf.h Fix cut and paste error in a comment. 2001-01-30 07:58:30 +00:00
ng_bridge.c Fix some memory leaks 2001-01-10 07:13:58 +00:00
ng_bridge.h
ng_cisco.c Fix warning: (int/long mixup in printf) 2001-06-15 07:35:25 +00:00
ng_cisco.h
ng_echo.c Part 2 of the netgraph rewrite. 2001-01-08 05:34:06 +00:00
ng_echo.h
ng_eiface.c Allow a changed MAC address to show up in ifconfig by changing it 2001-02-26 09:31:54 +00:00
ng_eiface.h slight cleanups during testing. 2001-02-25 16:49:04 +00:00
ng_ether.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ng_ether.h
ng_frame_relay.c Part 2 of the netgraph rewrite. 2001-01-08 05:34:06 +00:00
ng_frame_relay.h
ng_gif_demux.c The initial commit contained an error in the license, this is the 2001-09-27 00:04:29 +00:00
ng_gif_demux.h The initial commit contained an error in the license, this is the 2001-09-27 00:04:29 +00:00
ng_gif.c Remove a couple unintentional mentions of Ethernet that crept in from 2001-09-28 00:02:50 +00:00
ng_gif.h Fixed pedantic syntax error (trailing semicolon in enum). 2001-10-04 07:51:42 +00:00
ng_hole.c Part 2 of the netgraph rewrite. 2001-01-08 05:34:06 +00:00
ng_hole.h
ng_iface.c Fix some memory leaks 2001-01-10 07:13:58 +00:00
ng_iface.h
ng_ip_input.c Add ng_ip_input. A new netgraph node for queuing IP packets into the 2001-09-27 21:54:27 +00:00
ng_ip_input.h Add ng_ip_input. A new netgraph node for queuing IP packets into the 2001-09-27 21:54:27 +00:00
ng_ksocket.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ng_ksocket.h First pass at porting John's "accept" changes to 2001-09-07 07:12:51 +00:00
ng_lmi.c Fix some memory leaks 2001-01-10 07:13:58 +00:00
ng_lmi.h
ng_message.h Clean up reference counting with relation to queued packets and the worklist, 2001-02-01 20:51:23 +00:00
ng_mppc.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ng_mppc.h
ng_one2many.c Implement direct support for semipersistant nodes. 2001-01-30 20:51:52 +00:00
ng_one2many.h Add a new distribution algorythm to the 'one2many' node type. 2001-01-28 15:37:06 +00:00
ng_parse.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ng_parse.h Go back to using data_len in struct ngpppoe_init_data after discussions 2000-11-16 23:14:53 +00:00
ng_ppp.c Fix some memory leaks 2001-01-10 07:13:58 +00:00
ng_ppp.h
ng_pppoe.c MFS: change name of sysctl to something more diplomatic. 2001-09-04 06:29:35 +00:00
ng_pppoe.h Shuffle sysctls a bit (thankyou whoever made them dynamic for modules) 2001-02-23 16:34:22 +00:00
ng_pptpgre.c Don't reference a node after we dropped a reference to it 2001-04-11 22:04:47 +00:00
ng_pptpgre.h
ng_rfc1490.c Missing FREE(). 2001-01-09 00:49:31 +00:00
ng_rfc1490.h
ng_sample.c Make the sample netgraph node compileable again. 2001-02-25 05:36:25 +00:00
ng_sample.h
ng_socket.c Hopefully improve control message passing over Unix domain sockets. 2001-10-04 13:11:48 +00:00
ng_socket.h
ng_socketvar.h
ng_split.c General cleanup providing better style(9) conformance and generally 2001-07-24 23:33:06 +00:00
ng_split.h General cleanup providing better style(9) conformance and generally 2001-07-24 23:33:06 +00:00
ng_tee.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ng_tee.h
ng_tty.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ng_tty.h
ng_UI.c Part 2 of the netgraph rewrite. 2001-01-08 05:34:06 +00:00
ng_UI.h
ng_vjc.c Part 2 of the netgraph rewrite. 2001-01-08 05:34:06 +00:00
ng_vjc.h
NOTES Rewrite of netgraph to start getting ready for SMP. 2001-01-06 00:46:47 +00:00