History log of /freebsd-10.0-release/usr.bin/sockstat/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
259065 07-Dec-2013 gjb

- Copy stable/10 (r259064) to releng/10.0 as part of the
10.0-RELEASE cycle.
- Update __FreeBSD_version [1]
- Set branch name to -RC1

[1] 10.0-CURRENT __FreeBSD_version value ended at '55', so
start releng/10.0 at '100' so the branch is started with
a value ending in zero.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

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


237674 27-Jun-2012 thompsa

Update the usage with the new jail option.

Spotted by: Jason Hellenthal
MFC after: 3 days


237263 19-Jun-2012 np

- Updated TOE support in the kernel.

- Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs.
These are available as t3_tom and t4_tom modules that augment cxgb(4)
and cxgbe(4) respectively. The cxgb/cxgbe drivers continue to work as
usual with or without these extra features.

- iWARP driver for Terminator 3 ASIC (kernel verbs). T4 iWARP in the
works and will follow soon.

Build-tested with make universe.

30s overview
============
What interfaces support TCP offload? Look for TOE4 and/or TOE6 in the
capabilities of an interface:
# ifconfig -m | grep TOE

Enable/disable TCP offload on an interface (just like any other ifnet
capability):
# ifconfig cxgbe0 toe
# ifconfig cxgbe0 -toe

Which connections are offloaded? Look for toe4 and/or toe6 in the
output of netstat and sockstat:
# netstat -np tcp | grep toe
# sockstat -46c | grep toe

Reviewed by: bz, gnn
Sponsored by: Chelsio communications.
MFC after: ~3 months (after 9.1, and after ensuring MFC is feasible)


235870 24-May-2012 thompsa

Allow the socket list to be limited to a specific jail id.

No objections: current@


230874 01-Feb-2012 trociny

Try to avoid ambiguity when sysctl returns ENOMEM additionally
checking the returned oldlen: when ENOMEM is due to the supplied
buffer being too short the return oldlen is equal to buffer size.

Without this additional check sockstat gets stuck in loop leaking the
memory if the returned ENOMEM was due the exceeded memorylocked
limit. This is easily can be observed running `limits -l 1k sockstat'.

Submitted by: Andrey Zonov <andrey zonov org>
MFC after: 1 week


230512 24-Jan-2012 jilles

sockstat: Also show sockets not associated with a file descriptor.

Sockets not associated with a file descriptor include TCP TIME_WAIT states
and sockets created via the socket(9) API such as from rpc.lockd and the NFS
client.

PR: bin/164081
MFC after: 2 weeks
No objection: des


228991 30-Dec-2011 uqs

Reencode files from latin1 to UTF-8.

This makes a tiny percentage of entries in calendars ugly for latin1
users, but fixes them for UTF-8 users.

This badly needs a solution involving locale-dependent re-encoding.


205874 30-Mar-2010 maxim

o Make sockstat -6 output more readable for long ipv6
addresses (most of them apart from ::1): put a whitespace
between local and remote address:port pairs.

PR: bin/145194
Submitted by: Fedor Dikarev
MFC after: 2 weeks


201386 02-Jan-2010 ed

Build usr.bin/ with WARNS=6 by default.

Also add some missing $FreeBSD$ to keep svn happy.


201385 02-Jan-2010 ed

Mute some warnings on uninitialized variables.

The code does the right thing, but the compiler is unable to figure it
out. All paths that use that variable use the same invariant.


200779 21-Dec-2009 des

Note that sockstat(1) does not display kernel-owned sockets.

Submitted by: infofarmer@
MFC after: 2 weeks


195502 09-Jul-2009 trasz

Add manual page links to advertise procstat(1) a little better.

Approved by: re (kib)


189637 10-Mar-2009 rwatson

Remove unused v6 macro aliases for inpcb fields:

in6p_ip6_nxt
in6p_vflag
in6p_flags
in6p_socket
in6p_lport
in6p_fport
in6p_ppcb

Remove unused v6 macro aliases for inpcb flags:

IN6P_HIGHPORT
IN6P_LOWPORT
IN6P_ANONPORT
IN6P_RECVIF
IN6P_MTUDISC
IN6P_FAITH
IN6P_CONTROLOPTS

References to in6p_lport and in6_fport in sockstat are also replaced with
normal inp_lport and inp_fport references.

MFC after: 3 days
Reviewed by: bz


187915 30-Jan-2009 des

Make sure the entries don't run into each other when they're longer than
the allotted space.

PR: bin/129318
Submitted by: Ighighi <ighighi@gmail.com>
MFC after: 3 weeks


179116 19-May-2008 bms

Add -L to usage().


179115 19-May-2008 bms

Add an -L option to ignore loopback Internet sockets.

MFC after: 2 weeks


170833 16-Jun-2007 maxim

o Do not warn if the process exits before we get its name.

PR: bin/113777
Submitted by: Dmitrij Tejblum
MFC after: 1 week


167810 22-Mar-2007 emaste

Use proc name (ki_comm) instead of thread name (ki_ocomm) as these may now
be different.


164226 12-Nov-2006 keramida

In revision 1.14 I broke the -4 and -6 options of sockstat(1).
Using either one of the two would result in an empty protos[]
array, and no sockets were actually listed:

% sockstat -4
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
% sockstat -6
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
%

Fix this bug by tweaking appropriately the logic of handling opt_4,
opt_6, opt_u and protos_defined.

Submitted by: des
Pointy hat: keramida


164201 11-Nov-2006 keramida

Add support for filtering sockets by protocol type. The default
behavior of sockstat(1) will still be to show "udp", "tcp" and
"divert" protocols, but we can now provide a (comma-separated)
list of protocols, as in:

% sockstat -P tcp

to list only TCP sockets, or we can filter more than one protocol
by separating the protocol names with a comma:

% sockstat -P tcp,udp

Protocol names are parsed with getprotobyname(3), so any protocol
whose name is listed in `/etc/protocols' should work fine.

Submitted by: Josh Carroll <josh.carroll@psualum.com>
Approved by: des


147227 10-Jun-2005 des

Don't free(sock) before it's even allocated.

Submitted by: Joerg Sonnenberger <joerg@britannica.bec.de>
MFC after: 1 week


140941 28-Jan-2005 ru

Let bsd.prog.mk set SRCS and MAN to their default values.


140055 11-Jan-2005 ru

Scheduled mdoc(7) sweep.


138437 06-Dec-2004 ru

Unbreak sockstat(1) on systems without the divert protocol.


138391 05-Dec-2004 ru

Show divert(4) sockets as well.


134295 25-Aug-2004 roam

Do not display bogus entries for sockets in the TIME_WAIT or similar
states that no longer have a corresponding file descriptor - until now,
sockstat would mostly randomly match null kern.file.*.xf_data fields
with the first mostly-closed socket.

This bugfix is a RELENG_5 candidate.

Approved by: andre


117772 19-Jul-2003 jmg

make sockstat not print wierd addresses on not connected unix domain sockets

Pointed out by: rwatson
Reviewed by: peter


115955 07-Jun-2003 mux

Finish the implementation of the -p switch so that it
actually works. I have no idea why this wasn't finished
and happened to try to use it.


114853 09-May-2003 robert

To reserve space for 65536 bits, allocate
65536 / (sizeof(int) * CHAR_BITS) `int's instead of
65536 / (sizeof(int) * CHAR_BITS) bytes to avoid a possible
segmentation fault if ports above 16383 are specified via the
-p option on a platform with 4 byte wide ints.

Approved by: re (bmah)
Reported by: Marco Wertejuk <wertejuk@mwcis.com>


109153 13-Jan-2003 dillon

Bow to the whining masses and change a union back into void *. Retain
removal of unnecessary casts and throw in some minor cleanups to see if
anyone complains, just for the hell of it.


109123 12-Jan-2003 dillon

Change struct file f_data to un_data, a union of the correct struct
pointer types, and remove a huge number of casts from code using it.

Change struct xfile xf_data to xun_data (ABI is still compatible).

If we need to add a #define for f_data and xf_data we can, but I don't
think it will be necessary. There are no operational changes in this
commit.


107276 26-Nov-2002 ru

mdoc(7) police: markup polishing.

Approved by: re


101220 02-Aug-2002 robert

Use a cast to `void *' before casting to a pointer to a structure
to stop GCC emitting warnings about increased alignment requirements
which broke the build for sparc64.

Approved by: des


101163 01-Aug-2002 des

Don't depend on namespace pollution from <netinet/in_pcb.h>.

Submitted by: bde


101144 01-Aug-2002 des

Implement the -l and -c options, which I'd forgotten.


101043 31-Jul-2002 des

Rewrite sockstat(1) in C.

Sponsored by: DARPA, NAI Labs


95258 22-Apr-2002 des

Usage style sweep: spell "usage" with a small 'u'.
Also change one case of blatant __progname abuse (several more remain)
This commit does not touch anything in src/{contrib,crypto,gnu}/.


94793 15-Apr-2002 des

Drop maintainership of this, it serves no purpose.


81588 13-Aug-2001 ru

Spell "FreeBSD" with "F" and "BSD" in uppercase.


81430 10-Aug-2001 ru

mdoc(7) police: fix markup.


81259 07-Aug-2001 des

Allow the user to specify port ranges against which to match inet sockets.

Suggested by: roam


80355 25-Jul-2001 mjacob

Fix 64 bit issues so that sockstat && fstat work correctly on alpha.

PR: 29231
Submitted by: pherman@frenchfries.net
MFC after: 2 weeks


79535 10-Jul-2001 ru

mdoc(7) police: removed HISTORY info from the .Os call.


75286 07-Apr-2001 ru

beforeinstall -> SCRIPTS.


74848 27-Mar-2001 ru

MAN[1-9] -> MAN.


74312 15-Mar-2001 des

Use the newly introduced -W flag to netstat(1) to avoid truncated addresses.


73880 06-Mar-2001 des

Add (and document) options for showing only listening or connected sockets.


71102 16-Jan-2001 ru

Prepare for mdoc(7)NG.


70022 14-Dec-2000 ru

mdoc(7) police: added missing .Os call.


68718 14-Nov-2000 ru

Spell the des's name correctly.


67079 13-Oct-2000 des

Skip sockets with no SCB


66790 07-Oct-2000 des

Document the fact that sockstat now lists Unix domain sockets, and the new
command-line options for selecting what to display.


66789 07-Oct-2000 des

Total rewrite. This was actually the first non-trivial Perl script I ever
wrote, and as such was not very pretty.

Changes that may cause problems for people who use sockstat in scripts:

- sockstat(8) now displays Unix domain sockets in addition to IPv4 and IPv6
- the last period in local and foreign addresses is changed to a colon to
make the port number easier to spot
- IPv4 and IPv6 sockets are listed separately (IPv4 first, then IPv6, then
Unix)


65259 30-Aug-2000 ru

Restore support for displaying raw IPv4 sockets and
correct the author's name. Were broken in rev 1.6.

Approved by: des


65249 30-Aug-2000 des

Invoke netstat(1) and fstat(1) with full path.


58625 26-Mar-2000 charnier

Do not dot terminate list of references


57905 11-Mar-2000 shin

Prevent sockstat print out some empty entries related to IPv6.

Sockstat use netstat tcp/udp socket print, and fstat tcp/udp
socket print, but it just specify all of IPPROTO_IP and
IPPROTO_IPV6 sockets for fstat.
Now IPv6 socket also use raw socket, but only netstat don't print it,
so now they are printed as empty entries in sockstat output.

Approved by: jkh


57670 01-Mar-2000 sheldonh

Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.


57494 26-Feb-2000 shin

Update sockstat to support INET6 socket printing.

Approved by: jkh

Submitted by: Ben Smithurst <ben@scientia.demon.co.uk>
Reviewed by: des


51015 06-Sep-1999 sheldonh

Add xrefs to the {f,net,sock}stat.1 manpages. While I'm in there, fix
the sockstat.1 document title, which still remembers when sockstat was
called lsock.

Reviewed by: mpp


50477 28-Aug-1999 peter

$Id$ -> $FreeBSD$


48644 06-Jul-1999 des

Use -finet option to netstat(1), and don't discard anything.
Don't truncate the protocol field.
These two changes conspire to make sockstat(1) show divert sockets.

Submitted by: ru


46222 01-May-1999 des

Don't use STDOUT_TOP.

Submitted by: Christopher Masto <chris@netmonger.net>


45699 15-Apr-1999 des

Rename lsock(1) to sockstat(1).

Suggested by: Sheldon Hearn <sheldonh@iafrica.com>
Approved by: Peter Wemm <peter@netplex.com.au>