818812244b
- Introduce invariant that all IPX/SPX sockets will have valid so_pcb pointers to ipxpcb structures, and that for SPX, the control block pointer will always be valid. Don't attempt to free the socket or pcb at various odd points, such as disconnect. - Add a new ipxpcb flag, IPXP_DROPPED, which will be set in place of freeing PCB's so that this invariant can be maintained. This flag is now checked instead of a NULL check in various socket protocol calls. - Introduce many assertions that this invariant holds. - Various pieces of code, such as the SPX timer code, no longer needs to jump through hoops in case it frees a PCB while running. - Break out ipx_pcbfree() from ipx_pcbdetach(). Likewise spx_pcbdetach(). - Comment on some SMP-related limitations to the SPX code. - Update copyrights. MFC after: 1 month |
||
---|---|---|
.. | ||
ipx_cksum.c | ||
ipx_if.h | ||
ipx_input.c | ||
ipx_ip.c | ||
ipx_ip.h | ||
ipx_outputfl.c | ||
ipx_pcb.c | ||
ipx_pcb.h | ||
ipx_proto.c | ||
ipx_usrreq.c | ||
ipx_var.h | ||
ipx.c | ||
ipx.h | ||
README | ||
spx_debug.c | ||
spx_debug.h | ||
spx_timer.h | ||
spx_usrreq.c | ||
spx_var.h | ||
spx.h |
$FreeBSD$ This protocol implements IPX/SPX over Ethernet_II frame type 0x8137. Please note: the SPX implementation may require further work and testing to insure proper operation. Mike Mitchell, Network Engineer AMTECH Systems Corporation, Technology and Manufacturing 8600 Jefferson Street, Albuquerque, New Mexico 87113 (505) 856-8000 supervisor@alb.asctmd.com John Hay Some Company Some Address jhay@mikom.csir.co.za Adapted for multi-processor, multi-threaded network stack by Robert N. M. Watson, Computer Laboratory, University of Cambridge. --- Copyright Information --- /*- Copyright (c) 1984, 1985, 1986, 1987, 1993 The Regents of the University of California. All rights reserved. Modifications Copyright (c) 1995, Mike Mitchell Modifications Copyright (c) 1995, John Hay Modifications Copyright (c) 2004-2006 Robert N. M. Watson */