summaryrefslogtreecommitdiffstats
path: root/sys/netatm/atm_var.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove netatm from HEAD as it is not MPSAFE and relies on the now removedrwatson2008-05-251-185/+0
| | | | | | | | | | | | | | | | | | | NET_NEEDS_GIANT. netatm has been disconnected from the build for ten months in HEAD/RELENG_7. Specifics: - netatm include files - netatm command line management tools - libatm - ATM parts in rescue and sysinstall - sample configuration files and documents - kernel support as a module or in NOTES - netgraph wrapper nodes for netatm - ctags data for netatm. - netatm-specific device drivers. MFC after: 3 weeks Reviewed by: bz Discussed with: bms, bz, harti
* Chance protocol switch method pru_detach() so that it returns voidrwatson2006-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Change protocol switch pru_abort() API so that it returns void ratherrwatson2006-04-011-0/+1
| | | | | | | | | | | | | | than an int, as an error here is not meaningful. Modify soabort() to unconditionally free the socket on the return of pru_abort(), and modify most protocols to no longer conditionally free the socket, since the caller will do this. This commit likely leaves parts of netinet and netinet6 in a situation where they may panic or leak memory, as they have not are not fully updated by this commit. This will be corrected shortly in followup commits to these components. MFC after: 3 months
* Push the assignment of a new or updated so_qlimit from solisten()rwatson2005-10-301-2/+2
| | | | | | | | | | | | | | following the protocol pru_listen() call to solisten_proto(), so that it occurs under the socket lock acquisition that also sets SO_ACCEPTCONN. This requires passing the new backlog parameter to the protocol, which also allows the protocol to be aware of changes in queue limit should it wish to do something about the new queue limit. This continues a move towards the socket layer acting as a library for the protocol. Bump __FreeBSD_version due to a change in the in-kernel protocol interface. This change has been tested with IPv4 and UNIX domain sockets, but not other protocols.
* In the current world order, solisten() implements the state transition ofrwatson2005-02-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a socket from a regular socket to a listening socket able to accept new connections. As part of this state transition, solisten() calls into the protocol to update protocol-layer state. There were several bugs in this implementation that could result in a race wherein a TCP SYN received in the interval between the protocol state transition and the shortly following socket layer transition would result in a panic in the TCP code, as the socket would be in the TCPS_LISTEN state, but the socket would not have the SO_ACCEPTCONN flag set. This change does the following: - Pushes the socket state transition from the socket layer solisten() to to socket "library" routines called from the protocol. This permits the socket routines to be called while holding the protocol mutexes, preventing a race exposing the incomplete socket state transition to TCP after the TCP state transition has completed. The check for a socket layer state transition is performed by solisten_proto_check(), and the actual transition is performed by solisten_proto(). - Holds the socket lock for the duration of the socket state test and set, and over the protocol layer state transition, which is now possible as the socket lock is acquired by the protocol layer, rather than vice versa. This prevents additional state related races in the socket layer. This permits the dual transition of socket layer and protocol layer state to occur while holding locks for both layers, making the two changes atomic with respect to one another. Similar changes are likely require elsewhere in the socket/protocol code. Reported by: Peter Holm <peter@holm.cc> Review and fixes from: emax, Antoine Brodin <antoine.brodin@laposte.net> Philosophical head nod: gnn
* /* -> /*- for license, minor formatting changesimp2005-01-071-1/+1
|
* Replace the if_name and if_unit members of struct ifnet with new membersbrooks2003-10-311-1/+1
| | | | | | | | | | | | | if_xname, if_dname, and if_dunit. if_xname is the name of the interface and if_dname/unit are the driver name and instance. This change paves the way for interface renaming and enhanced pseudo device creation and configuration symantics. Approved By: re (in principle) Reviewed By: njl, imp Tested On: i386, amd64, sparc64 Obtained From: NetBSD (if_xname)
* Create a subtree 'harp' of the net sysctl tree. This uses a fixedharti2003-07-241-0/+6
| | | | | | | | | OID as the other protocol family sub-trees do, that is equal to the protocol family identifier. Make the ATM layer debugging flags available under this tree. Submitted by: Vincent Jardin <vjardin@wanadoo.fr> MFC after: 2 weeks
* Constify the arguments to several pdu_print functions.harti2003-07-241-2/+3
|
* Update netisr handling; Each SWI now registers its queue, and all queuejlemon2003-03-041-2/+0
| | | | | | | | | | drain routines are done by swi_net, which allows for better queue control at some future point. Packets may also be directly dispatched to a netisr instead of queued, this may be of interest at some installations, but currently defaults to off. Reviewed by: hsu, silby, jayanth, sam Sponsored by: DARPA, NAI Labs
* - Change the ATM stack functions to use intptr_t instead of int for opaquejhb2002-11-081-4/+4
| | | | | | | arguments. - Fix a few other places that assumed that sizeof(int) == sizeof(void *). Reviewed by: mdodd
* - Chainsaw the storage pool code. This was being used by a bunch of codearr2002-06-141-4/+0
| | | | | | within the HARP atm stack and the hea and hfa device drivers, but since all of these systems were changed to use UMA zones, there is no use for the api any longer.
* - Turn the hea and hfa HARP storage pools into UMA zones and insertarr2002-06-141-1/+1
| | | | | | | | | | | | | | | | the necesary uma_zcreate() and uma_zdestroy calls into module loading handler and the device attach handling. - Change the related HARP netatm code to use UMA zone functions when dealing with the zones that were formerly the ATM interface (hea, hfa) storage pools. - Have atm_physif_freenifs() now get passed an uma_zone_t so that we can properly free the allocated NIF's back to their zone. This should be the last commit to remove any code that makes use of the netatm storage pool api. I will be removing the api code within the near future. Reviewed by: mdodd
* - Add atm_init_fnarr2002-05-071-0/+2
|
* - Add atm_sock_init()arr2002-05-071-0/+1
| | | | - Move the Atm_pcb storage pool (atm_pcb_pool) to be an UMA zone.
* - Take advantage of the M_ZERO flag that can now be passed to uma_zalloc.arr2002-04-301-1/+0
| | | | - Remove atm_uma_ctor() as the M_ZERO will zero out the memory for us.
* - Remove atm_attributes_pool and the relating atm_allocate() and atm_free()arr2002-04-241-1/+4
| | | | | | | | calls associated with the pool and the objects allocated out from the pool. - Insert atm_attributes_zone which is a uma_zone that is used just as the atm_attributes_pool was (including the max objects value). Also, used the appropriate zalloc and zfree's where necesary.
* - Revert previous change of atm storage pools -> uma_zones until a solutionarr2002-04-221-4/+1
| | | | to atm_free() is written.
* - Change the atm_attributes_pool and atm_stackq_pool to be uma_zone'sarr2002-04-221-1/+4
| | | | | (with the appropriate set_max) rather than using the HARP storage pool code.
* - Nuke some more not needed #ifdef cruft.arr2002-04-211-21/+0
|
* - Create a ``zero fill'' constructor for uma_zcreate's ctor argument.arr2002-04-201-0/+1
| | | | Inspired by: jake@
* - Nuke small sgi ifdef bits.arr2002-04-201-3/+0
|
* - Nuke some #ifdef sun4m code; it hasn't been updated in 4 years and is notarr2002-04-191-4/+0
| | | | being used.
* Remove __P.alfred2002-03-201-94/+91
|
* Unbreak fore adapters from POV of warnings.julian2002-02-271-1/+1
| | | | | | Define the atm_dev_free() routine so that its OK to free stuff that is defined as volatile. Note this doesn't FORCE the arguemnts to be volatile, just says that it's not an error if it is..
* KSE Milestone 2julian2001-09-121-2/+2
| | | | | | | | | | | | | | 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
* More HARP polishina:phk2000-10-121-2/+2
| | | | | unifdef -UFORE_SBUS -DFORE_PCI s/ATM_KERNEL/_KERNER/g
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Add new files for HARP3phk1998-09-151-0/+208
Host ATM Research Platform (HARP), Network Computing Services, Inc. This software was developed with the support of the Defense Advanced Research Projects Agency (DARPA).
OpenPOWER on IntegriCloud