| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Submitted by: des
Notes:
svn path=/stable/7/; revision=215400
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add new tunable 'net.link.ifqmaxlen' to set default send interface
queue length. The default value for this parameter is 50, which is
quite low for many of today's uses and the only way to modify this
parameter right now is to edit if_var.h file. Also add read-only
sysctl with the same name, so that it's possible to retrieve the
current value.
Notes:
svn path=/stable/7/; revision=215368
|
| |
|
|
|
|
|
|
|
|
|
| |
Add missing "goto set_head" for SO_IPX_CHECKSUM; otherwise we fall through
to the SO_HEADERS_ON_OUTPUT case and set that instead.
Found with: Coverity Prevent(tm)
Coverity ID: 3988
Notes:
svn path=/stable/7/; revision=188226
|
| |
|
|
|
|
|
|
|
|
|
| |
See the commit message for
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/net/route.c
version 1.129 (svn change # 178888) for more info.
Obtained from: Ironport (Cisco Systems)
Notes:
svn path=/stable/7/; revision=180774
|
| |
|
|
|
|
|
|
| |
Rather than m_free(dtom(si)) in spx_reass(), return (1) which causes the
caller to free the mbuf without using dtom().
Notes:
svn path=/stable/7/; revision=180188
|
| |
|
|
|
|
|
|
| |
Correct minor comment typos, make white space use before block comments
more consistent.
Notes:
svn path=/stable/7/; revision=180186
|
| |
|
|
|
|
|
| |
Avoid unnecessary one use of dtom(9) in spx_input().
Notes:
svn path=/stable/7/; revision=180185
|
| |
|
|
|
|
|
|
|
|
|
|
| |
<netinet/tcp_fsm.h> is included into any compilation unit that needs
tcpstates[]. Also remove incorrect extern declarations and TCPDEBUG
conditionals. This allows kernels both with and without TCPDEBUG to
build, and unbreaks the tinderbox.
Approved by: re (rwatson)
Notes:
svn path=/head/; revision=171656
|
| |
|
|
|
|
|
|
|
| |
commit.
Warnings spotted by: kris
Notes:
svn path=/head/; revision=170689
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
tunnels, and was not MPSAFE. The code can be easily restored in the
event that someone with an IPX over IP tunnel configuration can work
with me to test patches.
This removes one of five remaining consumers of NET_NEEDS_GIANT.
Approved by: re (kensmith)
Notes:
svn path=/head/; revision=170664
|
| |
|
|
|
|
|
| |
Remove 'register' use.
Notes:
svn path=/head/; revision=169463
|
| |
|
|
|
|
|
|
|
|
|
| |
protocol entry points using functions named proto_getsockaddr and
proto_getpeeraddr rather than proto_setsockaddr and proto_setpeeraddr.
While it's true that sockaddrs are allocated and set, the net effect is
to retrieve (get) the socket address or peer address from a socket, not
set it, so align names to that intent.
Notes:
svn path=/head/; revision=169462
|
| |
|
|
| |
Notes:
svn path=/head/; revision=167015
|
| |
|
|
|
|
|
|
| |
in the IPX over IP configuration ioctl: when changing the flags on a
tunnel interface, return the generated error rather than always EINVAL.
Notes:
svn path=/head/; revision=167013
|
| |
|
|
| |
Notes:
svn path=/head/; revision=166958
|
| |
|
|
| |
Notes:
svn path=/head/; revision=166957
|
| |
|
|
|
|
|
|
|
|
| |
the former use a three-clause BSD license (per UCB authorization
letter), whereas he uses a four-clause BSD license.
MFC after: 3 days
Notes:
svn path=/head/; revision=165899
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
specific privilege names to a broad range of privileges. These may
require some future tweaking.
Sponsored by: nCircle Network Security, Inc.
Obtained from: TrustedBSD Project
Discussed on: arch@
Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri,
Alex Lyashkov <umka at sevcity dot net>,
Skip Ford <skip dot ford at verizon dot net>,
Antoine Brodin <antoine dot brodin at laposte dot net>
Notes:
svn path=/head/; revision=164033
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=160549
|
| |
|
|
| |
Notes:
svn path=/head/; revision=157672
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=157370
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=157366
|
| |
|
|
|
|
|
|
|
|
| |
number of problems with netipx that I have not yet resolved, and I
don't want them lost track of.
MFC after: 1 month
Notes:
svn path=/head/; revision=157175
|
| |
|
|
|
|
|
|
|
| |
copyright.
MFC after: 1 month
Notes:
svn path=/head/; revision=157170
|
| |
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=157167
|
| |
|
|
|
|
|
|
|
| |
to handle a NULL 'cb' here.
MFC after: 1 month
Notes:
svn path=/head/; revision=157164
|
| |
|
|
|
|
|
| |
MFC after: 1 month
Notes:
svn path=/head/; revision=157154
|
| |
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=157153
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=157145
|
| |
|
|
|
|
|
|
|
| |
PCB detach.
MFC after: 1 month
Notes:
svn path=/head/; revision=157140
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
Notes:
svn path=/head/; revision=157128
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=157127
|
| |
|
|
|
|
|
|
|
| |
about to free the mbuf in the spx_input() error path.
MFC after: 1 month
Notes:
svn path=/head/; revision=157126
|
| |
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=157125
|
| |
|
|
|
|
|
|
|
| |
unrecognized timer is passed into the function.
MFC after: 1 month
Notes:
svn path=/head/; revision=157124
|
| |
|
|
|
|
|
|
|
|
| |
reason compiled fine here. I may be running with other include file
changes locally.
MFC after: 3 days
Notes:
svn path=/head/; revision=157104
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=157094
|
| |
|
|
|
|
|
|
|
|
| |
on the global IPX mutex, which is not held at all necessary strategic
points.
MFC after: 1 month
Notes:
svn path=/head/; revision=157069
|
| |
|
|
|
|
|
|
|
| |
variables.
MFC after: 1 month
Notes:
svn path=/head/; revision=157068
|
| |
|
|
|
|
|
|
|
|
| |
Remove 'register'.
Use ANSI prototypes, not K&R.
MFC after: 1 month
Notes:
svn path=/head/; revision=157067
|
| |
|
|
|
|
|
|
|
| |
style of previous contributors.
MFC after: 1 month
Notes:
svn path=/head/; revision=157066
|
| |
|
|
|
|
|
|
|
|
| |
to avoid recursing the socket code, as this input path can run in the
call stack of an output path.
MFC after: 1 month
Notes:
svn path=/head/; revision=157065
|
| |
|
|
|
|
|
|
|
|
|
| |
with Giant, as there is current unsafety in the IPX tunneled over IP
code. There have been no reports of trouble, but there probably would
be if anyone were running this code at high speed on SMP systems.
MFC after: 3 days
Notes:
svn path=/head/; revision=157060
|
| |
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=157051
|
| |
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=157050
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=154323
|
| |
|
|
|
|
|
|
|
|
|
|
| |
are the contents of the forwarded mbuf ever copied into mcopy, so there's
no need to have mcopy, conditionally look at mcopy, or conditionally free
it.
Noticed by: Coverity Prevent analysis tool
MFC after: 3 days
Notes:
svn path=/head/; revision=154320
|
| |
|
|
|
|
|
|
| |
Noticed by: Tinderbox
Sponsored by: TCP/IP Optimization Fundraise 2005
Notes:
svn path=/head/; revision=152638
|
| |
|
|
|
|
|
| |
so they are easier to follow for the human being.
Notes:
svn path=/head/; revision=152242
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=151967
|