summaryrefslogtreecommitdiffstats
path: root/sys/netatm/atm_aal5.c
Commit message (Collapse)AuthorAgeFilesLines
* Initialize struct pr_userreqs in new/sparse style and fill in commonphk2004-11-081-21/+14
| | | | | | default elements in net_init_domain(). This makes it possible to grep these structures and see any bogosities.
* The socket field so_state is used to hold a variety of socket relatedrwatson2004-06-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | flags relating to several aspects of socket functionality. This change breaks out several bits relating to send and receive operation into a new per-socket buffer field, sb_state, in order to facilitate locking. This is required because, in order to provide more granular locking of sockets, different state fields have different locking properties. The following fields are moved to sb_state: SS_CANTRCVMORE (so_state) SS_CANTSENDMORE (so_state) SS_RCVATMARK (so_state) Rename respectively to: SBS_CANTRCVMORE (so_rcv.sb_state) SBS_CANTSENDMORE (so_snd.sb_state) SBS_RCVATMARK (so_rcv.sb_state) This facilitates locking by isolating fields to be located with other identically locked fields, and permits greater granularity in socket locking by avoiding storing fields with different locking semantics in the same short (avoiding locking conflicts). In the future, we may wish to coallesce sb_state and sb_flags; for the time being I leave them separate and there is no additional memory overhead due to the packing/alignment of shorts in the socket buffer structure.
* Introduce a MAC label reference in 'struct inpcb', which cachesrwatson2003-11-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | the MAC label referenced from 'struct socket' in the IPv4 and IPv6-based protocols. This permits MAC labels to be checked during network delivery operations without dereferencing inp->inp_socket to get to so->so_label, which will eventually avoid our having to grab the socket lock during delivery at the network layer. This change introduces 'struct inpcb' as a labeled object to the MAC Framework, along with the normal circus of entry points: initialization, creation from socket, destruction, as well as a delivery access control check. For most policies, the inpcb label will simply be a cache of the socket label, so a new protocol switch method is introduced, pr_sosetlabel() to notify protocols that the socket layer label has been updated so that the cache can be updated while holding appropriate locks. Most protocols implement this using pru_sosetlabel_null(), but IPv4/IPv6 protocols using inpcbs use the the worker function in_pcbsosetlabel(), which calls into the MAC Framework to perform a cache update. Biba, LOMAC, and MLS implement these entry points, as do the stub policy, and test policy. Reviewed by: sam, bms Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Use __FBSDID().obrien2003-06-111-9/+3
|
* Back out my lats commit of locking down a socket, it conflicts with hsu's work.tanimura2002-05-311-13/+2
| | | | Requested by: hsu
* Lock down a socket, milestone 1.tanimura2002-05-201-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Add a mutex (sb_mtx) to struct sockbuf. This protects the data in a socket buffer. The mutex in the receive buffer also protects the data in struct socket. o Determine the lock strategy for each members in struct socket. o Lock down the following members: - so_count - so_options - so_linger - so_state o Remove *_locked() socket APIs. Make the following socket APIs touching the members above now require a locked socket: - sodisconnect() - soisconnected() - soisconnecting() - soisdisconnected() - soisdisconnecting() - sofree() - soref() - sorele() - sorwakeup() - sotryfree() - sowakeup() - sowwakeup() Reviewed by: alfred
* Revert the change of #includes in sys/filedesc.h and sys/socketvar.h.tanimura2002-04-301-2/+5
| | | | | | | | | | Requested by: bde Since locking sigio_lock is usually followed by calling pgsigio(), move the declaration of sigio_lock and the definitions of SIGIO_*() to sys/signalvar.h. While I am here, sort include files alphabetically, where possible.
* - Nuke some more not needed #ifdef cruft.arr2002-04-211-7/+0
|
* Remove __P.alfred2002-03-201-22/+22
|
* KSE Milestone 2julian2001-09-121-19/+19
| | | | | | | | | | | | | | 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
* Add back some #include <sys/systm.h> which were needed when <sys/ktr.h>phk2000-10-301-0/+1
| | | | | | doesn't mess us up. Noted by: Harti Brandt <brandt@fokus.gmd.de>
* Remove more unused #includes.phk2000-10-271-4/+0
|
* Remove unneeded #include <machine/clock.h>phk2000-10-151-1/+0
|
* Remove the #include kitchensink <netatm/kern_include.h> and addphk2000-10-121-1/+20
| | | | | | | | | the #includes to the respective source files. Also un-nest includes in <dev/hfa/fore_include.h> I have run src/tools/tools/kerninclude to remove 1239 clearly unneeded #includes reducing the total from 3524 includes to 2285.
* Modify to work with the new sbreserve().green1999-10-091-1/+5
|
* $Id$ -> $FreeBSD$peter1999-08-281-2/+2
|
* Copy application name and connection attributes for accept() sockets fromphk1998-12-111-7/+10
| | | | | | listen() socket. Allow setsockopt(APPLNAME) after socket is connected.
* Trivial stylish changes, mostly to silence gcc.phk1998-10-311-9/+11
| | | | | Reviewed by: Mike Spengler <mks@networkcs.com> Submitted by: phk
* Two patches from the HARP people:phk1998-09-171-3/+3
| | | | | | | | Various Makefile related fixes. -Wformat fixes. Submitted by: Mike Spengler <mks@networkcs.com>
* Add new files for HARP3phk1998-09-151-0/+905
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