summaryrefslogtreecommitdiffstats
path: root/sys/netipx/ipx_pcb.h
Commit message (Collapse)AuthorAgeFilesLines
* Factor out UCB and my copyrights from copyrights of Mike Mitchell;rwatson2007-01-081-2/+29
| | | | | | | the former use a three-clause BSD license (per UCB authorization letter), whereas he uses a four-clause BSD license. MFC after: 3 days
* Add a new ipxpcb flag, IPXP_SPX, which is set on ipxpcb's to mark themrwatson2006-03-261-0/+1
| | | | | | | | | | as belonging to SPX. This replaces the implicit assumption that the cb pointer for non-SPX pcb's will be NULL. This isn't required in TCP/IP as different pcb lists are maintained for different IP protocols; IPX stores all pcbs on the same global ipxpcb_list. Foot provided by: gnn MFC after: 1 month
* Rework IPX/SPX socket and pcb reference model:rwatson2006-03-251-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* Move spx_savesi from being a global variable to an automatically allocatedrwatson2006-03-231-2/+2
| | | | | | | | variable on the spx_input() stack. It's not very large, and this will avoid parallelism issues when spx_input() runs in more than one thread at a time. MFC after: 1 month
* Introduce a global mutex, ipxpcb_list_mtx, to protect the globalrwatson2005-01-091-1/+19
| | | | | | | | | | | | IPX PCB lists. Add macros to initialize, destroy, lock, unlock, and assert the mutex. Initialize the mutex when IPX is started. Add per-IPX PCB mutexes, ipxp_mtx in struct ipxpcb, to protect per-PCB IPX/SPX state. Add macros to initialize, destroy, lock, unlock, and assert the mutex. Initialize the mutex when a new PCB is allocated; destroy it when the PCB is free'd. MFC after: 2 weeks
* /* -> /*- for license, minor formatting changesimp2005-01-071-1/+1
|
* Extern declaration of old 'ipxpcb' list head no longer required.rwatson2005-01-021-2/+0
|
* Convert netipx to use queue(9) doubly-linked lists instead of home-brewrwatson2004-12-301-4/+10
| | | | linked lists for ipxpcb's.
* Garbage collect unused (and incompletely implemented) functions:rwatson2004-12-301-3/+0
| | | | | | | | - ipx_pcbnotify(), which is never called. - ipx_rtchange(), which is never called, is incomplete inplemented, and also #ifdef notdef. - spx_fixmtu(), which is never called, is incompletely implemented, and also #ifdef notdef.
* Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,schweikh2003-01-011-1/+1
| | | | especially in troff files.
* Remove __P.alfred2002-03-201-13/+13
|
* KSE Milestone 2julian2001-09-121-3/+3
| | | | | | | | | | | | | | Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha
* Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"peter1999-12-291-2/+2
| | | | | | is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come.
* Get rid of the old XNS checksum code and implement it the IPX way.jhay1999-08-281-0/+1
| | | | | PR: 13374 Submitted by: Boris Popov <bp@butya.kz>
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Fix all areas of the system (or at least all those in LINT) to avoid storingwollman1997-08-161-5/+5
| | | | | | | | socket addresses in mbufs. (Socket buffers are the one exception.) A number of kernel APIs needed to get fixed in order to make this happen. Also, fix three protocol families which kept PCBs in mbufs to not malloc them instead. Delete some old compatibility cruft while we're at it, and add some new routines in the in_cksum family.
* Removed the #ifdef IPXERRORMSGS'ed code. Fix a lot of style errors that Ijhay1997-06-261-2/+2
| | | | | introduced with the previous commit. Style fixes Submitted by: Bruce Evans <bde@FreeBSD.ORG>
* Mega IPX commit.jhay1997-05-101-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Use the MAC address of an interface for the host part of an IPX address and not the MAC address of the first interface for every IPX address. This is more inline with the way others like Novell do it. Mostly Submitted by: "Serge A. Babkin" <babkin@hq.icb.chel.su> Take out the error messages (the ip icmp equivalent) with #ifdef IPXERRORMSGS. This is bogus and as far as I could figure out IPX don't have anything like it. This is a leftover from its XNS heritage. If nobody complains, I will take it out completely in a few weeks. Add some more ipxstat statistics counters. Make ipxprintfs a sysctl variable and off by default. Add IPX Netbios "routing" support. This is off by default and can be switched on with a sysctl knob. General code cleanup to at least use the same style throughout the IPX code, but also be more style(9) conformant. Also make a lot of functions static. If I don't get any complaints I'll bring all of this over to the 2.2 tree in a few weeks.
* Make ipx compile again after the network interface changes.jhay1997-05-011-4/+7
|
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Enlarge the transmit and receive bufferspace of ipx. Make it tweakablejhay1996-11-241-3/+3
| | | | with sysctl.
* Cleaned up prototypes:bde1995-11-241-19/+14
| | | | | | | | | | | | - don't #include other headers just to get struct names. - don't use __BEGIN_DECLS/__END_DECLS for system prototypes. It is for user prototypes. - don't use extern. - don't use lines longer than 80 columns. - use alphabetical order. - use tabs. Uniformized idempotency ifdefs.
* Suggested by: bdejulian1995-11-041-1/+3
| | | | clear up some confusion about Id: lines on behalf of the author
* Submitted by: Mike Mitchell (mitchell@ref.tfs.com)julian1995-10-311-2/+2
| | | | | these patches bring the ipx code up to the point that it compiles cleanly with the -W arguments suggested by bruce.
* Submitted by: Mike Mitchelljulian1995-10-311-4/+16
| | | | | revise prototypes etc. cleanups (probably more coming)
* Reviewed by: julian and jhay@mikom.csir.co.zajulian1995-10-261-0/+88
Submitted by: Mike Mitchell, supervisor@alb.asctmd.com This is a bulk mport of Mike's IPX/SPX protocol stacks and all the related gunf that goes with it.. it is not guaranteed to work 100% correctly at this time but as we had several people trying to work on it I figured it would be better to get it checked in so they could all get teh same thing to work on.. Mikes been using it for a year or so but on 2.0 more changes and stuff will be merged in from other developers now that this is in. Mike Mitchell, Network Engineer AMTECH Systems Corporation, Technology and Manufacturing 8600 Jefferson Street, Albuquerque, New Mexico 87113 (505) 856-8000 supervisor@alb.asctmd.com
OpenPOWER on IntegriCloud