#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
243882 |
|
05-Dec-2012 |
glebius |
Mechanically substitute flags from historic mbuf allocator with malloc(9) flags within sys.
Exceptions:
- sys/contrib not touched - sys/mbuf.h edited manually
|
#
194561 |
|
20-Jun-2009 |
rwatson |
Implement socket delivery MAC checks for IPX/SPX.
Obtained from: TrustedBSD Project MFC after: 3 days
|
#
194547 |
|
20-Jun-2009 |
rwatson |
Rework SPX segment reassembly, which was originally based on our TCP reassembly but failed to be modernized over time:
- Use queue(9). - Specifically allocate queue entries of type M_SPXREASSQ to point at member mbufs, rather than casting mbuf data to 'spx_q'. - Maintain the mbuf pointer as part of the queue entry so that we can later free the mbuf without using dtom().
|
#
194545 |
|
20-Jun-2009 |
rwatson |
Invoke the MAC Framework's mac_socket_create_mbuf() entry point when generating IPX output for SPX sockets.
Obtained from: TrustedBSD Project
|
#
192757 |
|
25-May-2009 |
rwatson |
Add missing call to ipx_pcbdetach() during SPX socket tear-down: not harmful in practice if running without INVARIANTS, but will panic with KASSERT enabled when SPX sockets are closed.
MFC after: 3 days
|
#
192756 |
|
25-May-2009 |
rwatson |
Eliminate use of dtom() in spx_output() by fixing up tracking of the containing mbuf for 'si' in local variable 'm'.
MFC after: 1 month
|
#
192755 |
|
25-May-2009 |
rwatson |
Prefer NULL to 0 for pointer assignments.
MFC after: 1 month
|
#
192754 |
|
25-May-2009 |
rwatson |
Rather than store a skeleton IPX header in an mbuf hung off the SPX PCB, simply embed it in the PCB, avoiding additional memory overhead, memory allocation overhead, and removing one of the few remaining uses of dtom() in the network stack.
Restore misplaced spx_ctlinput() from an earlier commit.
MFC after: 1 month
|
#
192753 |
|
25-May-2009 |
rwatson |
Pull SPX reassembly queue init and flush into spx_reass.c.
MFC after: 1 month
|
#
192748 |
|
25-May-2009 |
rwatson |
Prefer m_nextpkt to m_act when iterating mbuf queues.
MFC after: 1 month
|
#
192746 |
|
25-May-2009 |
rwatson |
Complete move of SPX reassembly from spx_usrreq.c to spx_reass.c.
MFC after: 1 month
|
#
191533 |
|
26-Apr-2009 |
ed |
Make the SPX code use its own copies of insque()/remque().
Instead of using the antique insque()/remque() functions from sys/queue.h, make this code use its own versions. Eventually the code should just use the regular TAILQ/LIST macros.
|
#
184205 |
|
23-Oct-2008 |
des |
Retire the MALLOC and FREE macros. They are an abomination unto style(9).
MFC after: 3 months
|
#
179410 |
|
29-May-2008 |
rwatson |
Rather than m_free(dtom(si)) in spx_reass(), return (1) which causes the caller to free the mbuf without using dtom().
MFC after: 3 days
|
#
179408 |
|
29-May-2008 |
rwatson |
Correct minor comment typos, make white space use before block comments more consistent.
MFC after: 3 days
|
#
179332 |
|
26-May-2008 |
rwatson |
Avoid unnecessary one use of dtom(9) in spx_input().
MFC after: 3 days
|
#
165899 |
|
08-Jan-2007 |
rwatson |
Factor out UCB and my copyrights from copyrights of Mike Mitchell; the former use a three-clause BSD license (per UCB authorization letter), whereas he uses a four-clause BSD license.
MFC after: 3 days
|
#
160549 |
|
21-Jul-2006 |
rwatson |
Change semantics of socket close and detach. Add a new protocol switch function, pru_close, to notify protocols that the file descriptor or other consumer of a socket is closing the socket. pru_abort is now a notification of close also, and no longer detaches. pru_detach is no longer used to notify of close, and will be called during socket tear-down by sofree() when all references to a socket evaporate after an earlier call to abort or close the socket. This means detach is now an unconditional teardown of a socket, whereas previously sockets could persist after detach of the protocol retained a reference.
This faciliates sharing mutexes between layers of the network stack as the mutex is required during the checking and removal of references at the head of sofree(). With this change, pru_detach can now assume that the mutex will no longer be required by the socket layer after completion, whereas before this was not necessarily true.
Reviewed by: gnn
|
#
157370 |
|
01-Apr-2006 |
rwatson |
Chance protocol switch method pru_detach() so that it returns void 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
|
#
157366 |
|
01-Apr-2006 |
rwatson |
Change protocol switch pru_abort() API so that it returns void rather 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
|
#
157167 |
|
26-Mar-2006 |
rwatson |
In spx_output(), use M_DONTWAIT instead of M_TRYWAIT, as we hold the ipxpcb mutex. Contrary to the comment, even in 4.x this was unsafe, as parallel use of the socket by another process would result in pcb corruption if the mbuf allocation slept.
MFC after: 1 month
|
#
157164 |
|
26-Mar-2006 |
rwatson |
In spx_input(), change a '&&' to a '||', as the spx trace code is able to handle a NULL 'cb' here.
MFC after: 1 month
|
#
157154 |
|
26-Mar-2006 |
rwatson |
In spx_accept, assert ipxp != NULL, not == NULL.
MFC after: 1 month
|
#
157153 |
|
26-Mar-2006 |
rwatson |
In various SPX protocol entry points from the socket layer, check IPXP_DROPPED before continuing, and return EINVAL or ECONNRESET if it is flagged. It's unclear why each situation should be one or the other, but it is copied from netinet which has the same bugs.
MFC after: 1 month
|
#
157145 |
|
26-Mar-2006 |
rwatson |
Add a new ipxpcb flag, IPXP_SPX, which is set on ipxpcb's to mark them 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
|
#
157140 |
|
26-Mar-2006 |
rwatson |
Restore original formulation of SPX segment queue draining during SPX PCB detach.
MFC after: 1 month
|
#
157128 |
|
25-Mar-2006 |
rwatson |
Rework IPX/SPX socket and pcb reference model:
- 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
|
#
157127 |
|
25-Mar-2006 |
rwatson |
Restructure spx_attach() to properly free memory in the event that one of its allocations fails. Allocate the ipxp last so as to avoid having to free it if another allocation goes wrong.
Normalize retrieval of ipxp and cb from socket in spx_sp_attach(), and add assertions.
MFC after: 1 month
|
#
157126 |
|
25-Mar-2006 |
rwatson |
Don't bother restoring host byte order of mbuf fields when we're just about to free the mbuf in the spx_input() error path.
MFC after: 1 month
|
#
157125 |
|
25-Mar-2006 |
rwatson |
In spx_ctloutput(), acquire the ipxp lock around read operations, especially reads of spx header structures, which will now be cached in the stack until they can be copied out after releasing the lock. Panic if a bad socket option direction is passed in by the caller.
MFC after: 1 month
|
#
157124 |
|
25-Mar-2006 |
rwatson |
Slight style reformatting of spx_timers() comments; panic if an unrecognized timer is passed into the function.
MFC after: 1 month
|
#
157094 |
|
24-Mar-2006 |
rwatson |
Clean up and style(9) SPX code prior to significant functional changes being committed:
- Wrap comments more evenly on right border. - Clean up braces.
Also, along similar lines:
- Assert some pointers are non-NULL before dereferencing them. - Remove one assertion that looks, on face value, poor.
MFC after: 1 month
|
#
157069 |
|
23-Mar-2006 |
rwatson |
Protect spx_iss using its own mutex, spx_mtx, rather than piggy-backing on the global IPX mutex, which is not held at all necessary strategic points.
MFC after: 1 month
|
#
157068 |
|
23-Mar-2006 |
rwatson |
Move definition of spxrexmtthresh to top of file with other global variables.
MFC after: 1 month
|
#
157067 |
|
23-Mar-2006 |
rwatson |
Canonicalize, update copyright. Remove 'register'. Use ANSI prototypes, not K&R.
MFC after: 1 month
|
#
157051 |
|
23-Mar-2006 |
rwatson |
Move spx_savesi from being a global variable to an automatically allocated 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
|
#
157050 |
|
23-Mar-2006 |
rwatson |
Admit to ourselves that we don't actually implement pr_ctlinput() for IPX or SPX, as the code in the implementing functions is essentially a no-op. Replace with a comment indicating we don't implement these currently.
|
#
154323 |
|
13-Jan-2006 |
rwatson |
In spx_attach() and spx_detach(), there is no need to check whether the ipxpcb is NULL or not: in attach it will be, and on detach it won't be. If for any reason these invariants don't hold true, panicking is a good idea.
Noticed by: Coverity Prevent analysis tool MFC after: 3 days
|
#
151967 |
|
02-Nov-2005 |
andre |
Retire MT_HEADER mbuf type and change its users to use MT_DATA.
Having an additional MT_HEADER mbuf type is superfluous and redundant as nothing depends on it. It only adds a layer of confusion. The distinction between header mbuf's and data mbuf's is solely done through the m->m_flags M_PKTHDR flag.
Non-native code is not changed in this commit. For compatibility MT_HEADER is mapped to MT_DATA.
Sponsored by: TCP/IP Optimization Fundraise 2005
|
#
151888 |
|
30-Oct-2005 |
rwatson |
Push the assignment of a new or updated so_qlimit from solisten() 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.
|
#
142190 |
|
21-Feb-2005 |
rwatson |
In the current world order, solisten() implements the state transition of 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
|
#
139932 |
|
09-Jan-2005 |
rwatson |
Use the IPX PCB list mutex and IPX PCB mutexes to lock down the SPX portion of IPX/SPX:
- Protect IPX PCB lists with the IPX PCB list mutex, in particular when calling PCB and PCB list manipulation routines in ipx_pcb.c. - Protect both IPX PCB state and SPX PCB state using the IPX PCB mutex. - Generally annotate locking, as well as adding liberal use of lock assertions to document locking requirements. - Where possible, use unlocked reads when reading integer or smaller sized socket options on SPX sockets. - De-spl throughout.
Notes:
- spx_input() expects both the list mutex and PCB mutex to be held on entry, but will release both on return. Because sonewconn() is called from spx_input(), it may actually drop one PCB lock and acquire another during generation of a new connection, meaning the caller is not in a position to unlock the PCB mutex.
MFC after: 3 weeks
|
#
139931 |
|
09-Jan-2005 |
rwatson |
Clean up return handling for a number of SPX-related routines that were derived from more complex TCP versions of the same:
- spx_close(), spx_disconnect(), spx_drop(), and spx_usrclosed() all always free's the spxpcb invalidating the argument, so a return value is not required to indicate if it has. - Annotate that the cb arguments to each of these functions is invalidated via a comment. - When tearing down a pcb due to sonewconn() having failed, mark the cb as NULL; later, when deciding whether to store trace information due to SO_DEBUG, check that cb is not NULL before dereferencing or a NULL pointer dereference may occur.
MFC after: 3 weeks
|
#
139823 |
|
06-Jan-2005 |
imp |
/* -> /*- for license, minor formatting changes
|
#
139591 |
|
02-Jan-2005 |
rwatson |
Acquire the socket buffer receive lock in spx_rcvoob() to permit multiple reads of receive buffer state to be performed atomically.
|
#
139590 |
|
02-Jan-2005 |
rwatson |
Increase the coverage scope of the receive socket buffer lock in spx_reass() to increase atomicity across multiple operations on the socket buffer when iterating over the SPX fragment reassembly list for the ipxpcb, as well a to reduce the number of locking operations.
|
#
139589 |
|
02-Jan-2005 |
rwatson |
Explicitly lock the send socket buffer in spx_reass() to cover the drop record loop for ACK'd data, rather than relying on lokcing in sbdroprecord() and sowwakeup(), reducing the number of lock operations as well as eliminating a possible race against the head of the send buffer mbuf chain. Use the _locked variants of sbdroprecord() and sowwakeup().
|
#
139586 |
|
02-Jan-2005 |
rwatson |
Use KASSERT() in preference to if()panic().
|
#
139584 |
|
02-Jan-2005 |
rwatson |
Trim trailing whitespace.
|
#
139581 |
|
02-Jan-2005 |
rwatson |
Improve handling of SPX session timeout, specifically, make sure to properly handle the case where a connection is disconnected. The queue(9)-enabled version of this code broke from the inner but not outer loop, and so potentially frobbed an ipxpcb flag after the ipxpcb was free'd, which might be picked up later by the malloc debugging code. Properly break from the loop context and avoid touching the cb/ipxpcb after free.
|
#
139580 |
|
02-Jan-2005 |
rwatson |
Compare and assign pointers with NULL in preference to 0.
|
#
139579 |
|
02-Jan-2005 |
rwatson |
Don't cast NULL on return or when passing to another function.
Extend the annotation as to why spx_close() isn't called in spx_reass(), and mark this code more clearly as broken.
|
#
139485 |
|
31-Dec-2004 |
rwatson |
Marginally reformat copyright statements to remove an excess ','.
|
#
139444 |
|
30-Dec-2004 |
rwatson |
Convert netipx to use queue(9) doubly-linked lists instead of home-brew linked lists for ipxpcb's.
|
#
139443 |
|
30-Dec-2004 |
rwatson |
Garbage collect unused (and incompletely implemented) functions:
- 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.
|
#
137386 |
|
08-Nov-2004 |
phk |
Initialize struct pr_userreqs in new/sparse style and fill in common default elements in net_init_domain().
This makes it possible to grep these structures and see any bogosities.
|
#
132045 |
|
12-Jul-2004 |
rwatson |
Constify 'spx_backoff'.
|
#
131031 |
|
24-Jun-2004 |
rwatson |
Acquire the receive socket buffer lock when modifying out-of-band data fields of the socket in SPX.
|
#
130822 |
|
20-Jun-2004 |
rwatson |
It's now the responsibility of the consumer of soabort() to remove a socket from its accept queue when aborting it during a new inbound connection. Update spx_input() to acquire the accept lock, assert the condition of the socket on its parent queue, and approriately disconnect it from the queue before calling soabort() on it.
|
#
130513 |
|
15-Jun-2004 |
rwatson |
Grab the socket buffer send or receive mutex when performing a read-modify-write on the sb_state field. This commit catches only the "easy" ones where it doesn't interact with as yet unmerged locking.
|
#
130480 |
|
14-Jun-2004 |
rwatson |
The socket field so_state is used to hold a variety of socket related 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.
|
#
126425 |
|
01-Mar-2004 |
rwatson |
Rename dup_sockaddr() to sodupsockaddr() for consistency with other functions in kern_socket.c.
Rename the "canwait" field to "mflags" and pass M_WAITOK and M_NOWAIT in from the caller context rather than "1" or "0".
Correct mflags pass into mac_init_socket() from previous commit to not include M_ZERO.
Submitted by: sam
|
#
122875 |
|
17-Nov-2003 |
rwatson |
Introduce a MAC label reference in 'struct inpcb', which caches 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
|
#
119995 |
|
11-Sep-2003 |
ru |
Fix a bunch of off-by-one errors in the range checking code.
|
#
116189 |
|
11-Jun-2003 |
obrien |
Use __FBSDID().
|
#
111119 |
|
19-Feb-2003 |
imp |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
#
109623 |
|
21-Jan-2003 |
alfred |
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
#
97658 |
|
31-May-2002 |
tanimura |
Back out my lats commit of locking down a socket, it conflicts with hsu's work.
Requested by: hsu
|
#
96972 |
|
20-May-2002 |
tanimura |
Lock down a socket, milestone 1.
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
|
#
95759 |
|
29-Apr-2002 |
tanimura |
Revert the change of #includes in sys/filedesc.h and sys/socketvar.h.
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.
|
#
90361 |
|
07-Feb-2002 |
julian |
Pre-KSE/M3 commit. this is a low-functionality change that changes the kernel to access the main thread of a process via the linked list of threads rather than assuming that it is embedded in the process. It IS still embeded there but remove all teh code that assumes that in preparation for the next commit which will actually move it out.
Reviewed by: peter@freebsd.org, gallatin@cs.duke.edu, benno rice,
|
#
83366 |
|
12-Sep-2001 |
julian |
KSE Milestone 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
|
#
76166 |
|
01-May-2001 |
markm |
Undo part of the tangle of having sys/lock.h and sys/mutex.h included in other "system" header files.
Also help the deprecation of lockmgr.h by making it a sub-include of sys/lock.h and removing sys/lockmgr.h form kernel .c files.
Sort sys/*.h includes where possible in affected files.
OK'ed by: bde (with reservations)
|
#
70254 |
|
21-Dec-2000 |
bmilekic |
* Rename M_WAIT mbuf subsystem flag to M_TRYWAIT. This is because calls with M_WAIT (now M_TRYWAIT) may not wait forever when nothing is available for allocation, and may end up returning NULL. Hopefully we now communicate more of the right thing to developers and make it very clear that it's necessary to check whether calls with M_(TRY)WAIT also resulted in a failed allocation. M_TRYWAIT basically means "try harder, block if necessary, but don't necessarily wait forever." The time spent blocking is tunable with the kern.ipc.mbuf_wait sysctl. M_WAIT is now deprecated but still defined for the next little while.
* Fix a typo in a comment in mbuf.h
* Fix some code that was actually passing the mbuf subsystem's M_WAIT to malloc(). Made it pass M_WAITOK instead. If we were ever to redefine the value of the M_WAIT flag, this could have became a big problem.
|
#
69781 |
|
08-Dec-2000 |
dwmalone |
Convert more malloc+bzero to malloc+M_ZERO.
Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net>
|
#
50519 |
|
28-Aug-1999 |
jhay |
Get rid of the old XNS checksum code and implement it the IPX way.
PR: 13374 Submitted by: Boris Popov <bp@butya.kz>
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
43711 |
|
06-Feb-1999 |
jhay |
Don't use the pointer returned by MALLOC before checking if it is NULL. PR: 9871 (part of it) Submitted by: Boris Popov <bp@butya.kz>
|
#
43311 |
|
27-Jan-1999 |
dillon |
Fix warnings in preparation for adding -Wall -Wcast-qual to the kernel compile
|
#
43305 |
|
27-Jan-1999 |
dillon |
Fix warnings in preparation for adding -Wall -Wcast-qual to the kernel compile
|
#
42579 |
|
12-Jan-1999 |
eivind |
Remove functions that are no longer in use.
|
#
41591 |
|
07-Dec-1998 |
archie |
The "easy" fixes for compiling the kernel -Wunused: remove unreferenced static and local variables, goto labels, and functions declared but not defined.
|
#
38482 |
|
23-Aug-1998 |
wollman |
Yow! Completely change the way socket options are handled, eliminating another specialized mbuf type in the process. Also clean up some of the cruft surrounding IPFW, multicast routing, RSVP, and other ill-explored corners.
|
#
35599 |
|
01-May-1998 |
bde |
Don't depend on "implicit int".
|
#
33181 |
|
09-Feb-1998 |
eivind |
Staticize.
|
#
29366 |
|
14-Sep-1997 |
peter |
Update network code to use poll support.
|
#
29024 |
|
01-Sep-1997 |
bde |
Added used #include - don't depend on <sys/mbuf.h> including <sys/malloc.h> (unless we only use the bogusly shared M*WAIT flags).
|
#
28270 |
|
16-Aug-1997 |
wollman |
Fix all areas of the system (or at least all those in LINT) to avoid storing 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.
|
#
26965 |
|
26-Jun-1997 |
jhay |
Removed the #ifdef IPXERRORMSGS'ed code. Fix a lot of style errors that I introduced with the previous commit. Style fixes Submitted by: Bruce Evans <bde@FreeBSD.ORG>
|
#
25652 |
|
10-May-1997 |
jhay |
Mega IPX commit.
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.
|
#
25345 |
|
01-May-1997 |
jhay |
Make ipx compile again after the network interface changes.
|
#
24659 |
|
05-Apr-1997 |
jhay |
Change IPX to use the pr_usrreqs structure.
|
#
22975 |
|
22-Feb-1997 |
peter |
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not ready for it yet.
|
#
21673 |
|
14-Jan-1997 |
jkh |
Make the long-awaited change from $Id$ to $FreeBSD$
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.
|
#
15239 |
|
13-Apr-1996 |
bde |
Eliminated sloppy common-style declarations. Now there are no duplicated common labels for LINT. There are still some common declarations for the !KERNEL case in tcp_debug.h and spx_debug.h. trpt depends on the ones in tcp_debug.h.
|
#
12881 |
|
16-Dec-1995 |
bde |
Uniformized pr_ctlinput protosw functions. The third arg is now `void *' instead of caddr_t and it isn't optional (it never was). Most of the netipx (and netns) pr_ctlinput functions abuse the second arg instead of using the third arg but fixing this is beyond the scope of this round of changes.
|
#
12468 |
|
24-Nov-1995 |
bde |
Added #include <sys/queue.h>. This will be required when I move the (inline) implementations of insque() and remque() from <machine/cpufunc.h> to <sys/queue.h>.
|
#
12467 |
|
24-Nov-1995 |
bde |
Undid bogus cleanups. 0 was mistyped as NULL.
|
#
12057 |
|
04-Nov-1995 |
julian |
Suggested by: bde clear up some confusion about Id: lines on behalf of the author
|
#
11991 |
|
31-Oct-1995 |
julian |
Submitted by: Mike Mitchell (mitchell@ref.tfs.com)
these patches bring the ipx code up to the point that it compiles cleanly with the -W arguments suggested by bruce.
|
#
11947 |
|
30-Oct-1995 |
julian |
Submitted by: Mike Mitchell
revise prototypes etc. cleanups (probably more coming)
|
#
11819 |
|
26-Oct-1995 |
julian |
Reviewed by: julian and jhay@mikom.csir.co.za 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
|