History log of /freebsd-current/lib/libnetgraph/msg.c
Revision Date Author Comments
# a2f733ab 24-Nov-2023 Warner Losh <imp@FreeBSD.org>

lib: Automated cleanup of cdefs and other formatting

Apply the following automated changes to try to eliminate
no-longer-needed sys/cdefs.h includes as well as now-empty
blank lines in a row.

Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/
Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/
Remove /\n+#if.*\n#endif.*\n+/
Remove /^#if.*\n#endif.*\n/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/

Sponsored by: Netflix


# 1d386b48 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 7f75bbd0 10-May-2019 Mark Johnston <markj@FreeBSD.org>

Atomically update the global gMsgId in libnetgraph.

Otherwise concurrently running threads may inadvertently use the same
token for different messages.

Preserve the behaviour of disallowing negative message tokens, but allow
a message token value of zero since this simplifies the code a bit and
tokens are documented to be non-negative.

PR: 234442
Reported and tested by: eugen
MFC after: 1 month
Sponsored by: The FreeBSD Foundation


# 61dbb845 11-Mar-2013 Gleb Smirnoff <glebius@FreeBSD.org>

Fix for quite a special case when userland emulates a netgraph node, and
userland can reply to a message with NGM_HASREPLY bit set. In this case
we should not wait for a response to a responce.

PR: 176771
Submitted by: Keith Reynolds <keith.reynolds tidalscale.com>


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 82a35b73 14-May-2007 Alexander Motin <mav@FreeBSD.org>

Replace select() by poll() to avoid problems with big
descriptor number.

Approved by: glebius (mentor)


# bbf889ed 17-Oct-2006 Gleb Smirnoff <glebius@FreeBSD.org>

Include sys/socket.h to know about sa_family_t.


# 2df050ad 12-Jan-2006 Gleb Smirnoff <glebius@FreeBSD.org>

In the splnet(9) times netgraph(4) was synchronous and if a message
had been replied, the reply was always delivered to the originator
synchronously.

With introduction of netgraph item callbacks and a wait channel with
mutex in ng_socket(4), we have fixed the problem with ngctl(8) returning
earlier than the command has been proceeded by target node. But still
ngctl(8) can return prior to the reply has arrived to its node.

To fix this:
- Introduce a new flag for netgraph(4) messages - NGM_HASREPLY.
This flag is or'ed with message like NGM_READONLY.
- In netgraph userland library if we have sent a message with
NGM_HASREPLY flag, then select(2) until reply comes.
- Mark appropriate generic commands with NGM_HASREPLY flag,
gathering them into one enum {}. Bump generic cookie.


# b9236794 26-Apr-2005 Maxime Henrion <mux@FreeBSD.org>

Make this compile with GCC4 by fixing a few signedness related warnings.

Reviewed by: md5(1)


# e551a1c3 04-Feb-2005 Gleb Smirnoff <glebius@FreeBSD.org>

When we have converted an ASCII message to binary, set its version in
the header. Otherwise we will send a message with zero version.

MFC after: 3 days


# d15ff417 27-Jan-2004 Ruslan Ermilov <ru@FreeBSD.org>

- Added three new interfaces, NgAllocRecvMsg(), NgAllocRecvAsciiMsg(),
and NgAllocRecvData(), that dynamically allocate buffer for a binary
message, an ascii message, and a data packet, respectively. The size
of the allocated buffer is equal to the socket's receive buffer size
to guarantee that a message or a data packet is not truncated.

- Get rid of the static size buffer in NgSendAsciiMsg().

OK'ed by: archie, julian


# 430b8c1b 27-Jan-2004 Ruslan Ermilov <ru@FreeBSD.org>

Fixed memory leak in NgSendAsciiMsg().


# 54e33116 14-Nov-2003 Hartmut Brandt <harti@FreeBSD.org>

Use the new defines that include the trailing '\0' in the code.
Replace occurences of the magic constant 2 with an offsetof macro
call that computes the size of the leading members of the sockaddr.
Use strlcpy instead of sprintf where appropriate. Document the new changes
in the man page.


# 0fb56449 24-Oct-2001 Archie Cobbs <archie@FreeBSD.org>

Fix bugs in NgSendMsg() and NgSendAsciiMsg() where the wrong token
value could be returned when the debug level was non-zero.

Submitted by: Harti Brandt <brandt@fokus.gmd.de>
MFC after: 5 days


# fd0d00c5 30-Sep-2001 Matthew Dillon <dillon@FreeBSD.org>

Add __FBSDID()s to libnetgraph


# 33c22c64 21-Jun-2000 Archie Cobbs <archie@FreeBSD.org>

- Make sure the message token returned by NgSendMsg() is non-negative
- Have NgSendAsciiMsg() return the same token as NgSendMsg()
- Document that NgSendMsg() and NgSendAsciiMsg() return the token
- Add MLINKS for the functions defined in netgraph(3)


# 7273f8bc 02-Jun-2000 Archie Cobbs <archie@FreeBSD.org>

Fix buffer overflow bug in NgSendAsciiMsg().


# f8307e12 29-Nov-1999 Archie Cobbs <archie@FreeBSD.org>

Add two new generic control messages, NGM_ASCII2BINARY and
NGM_BINARY2ASCII, which convert control messages to ASCII and back.
This allows control messages to be sent and received in ASCII form
using ngctl(8), which makes ngctl a lot more useful.

This also allows all the type-specific debugging code in libnetgraph
to go away -- instead, we just ask the node itself to do the ASCII
translation for us.

Currently, all generic control messages are supported, as well as
messages associated with the following node types: async, cisco,
ksocket, and ppp.

See /usr/share/examples/netgraph/ngctl for an example of using this.

Also give ngctl(8) the ability to print out incoming data and
control messages at any time. Eventually nghook(8) may be subsumed.

Several other misc. bug fixes.

Reviewed by: julian


# 4cf49a43 21-Oct-1999 Julian Elischer <julian@FreeBSD.org>

Whistle's Netgraph link-layer (sometimes more) networking infrastructure.
Been in production for 3 years now. Gives Instant Frame relay to if_sr
and if_ar drivers, and PPPOE support soon. See:
ftp://ftp.whistle.com/pub/archie/netgraph/index.html
for on-line manual pages.

Reviewed by: Doug Rabson (dfr@freebsd.org)
Obtained from: Whistle CVS tree