Commit Graph

195461 Commits

Author SHA1 Message Date
Gleb Smirnoff
c80ea19b38 Merge from projects/sendfile:
Provide pru_ready for AF_LOCAL sockets.  Local sockets sendsdata directly
to the receive buffer of the peer, thus pru_ready also works on the peer
socket.

Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
2014-11-30 13:40:58 +00:00
Hans Petter Selasky
78328f86e2 Fix building of some infiniband utilities by updating some header file
locations and compiler include directives.

MFC after:	3 days
Sponsored by:	Mellanox Technologies
2014-11-30 13:27:58 +00:00
Gleb Smirnoff
651e4e6a30 Merge from projects/sendfile: extend protocols API to support
sending not ready data:
o Add new flag to pru_send() flags - PRUS_NOTREADY.
o Add new protocol method pru_ready().

Sponsored by:	Nginx, Inc.
Sponsored by:	Netflix
2014-11-30 13:24:21 +00:00
Hans Petter Selasky
dcf58f92e2 Add missing libraries when linking.
MFC after:	3 days
Sponsored by:	Mellanox Technologies
2014-11-30 13:13:46 +00:00
Gleb Smirnoff
0f9d0a73a4 Merge from projects/sendfile:
o Introduce a notion of "not ready" mbufs in socket buffers.  These
mbufs are now being populated by some I/O in background and are
referenced outside.  This forces following implications:
- An mbuf which is "not ready" can't be taken out of the buffer.
- An mbuf that is behind a "not ready" in the queue neither.
- If sockbet buffer is flushed, then "not ready" mbufs shouln't be
  freed.

o In struct sockbuf the sb_cc field is split into sb_ccc and sb_acc.
  The sb_ccc stands for ""claimed character count", or "committed
  character count".  And the sb_acc is "available character count".
  Consumers of socket buffer API shouldn't already access them directly,
  but use sbused() and sbavail() respectively.
o Not ready mbufs are marked with M_NOTREADY, and ready but blocked ones
  with M_BLOCKED.
o New field sb_fnrdy points to the first not ready mbuf, to avoid linear
  search.
o New function sbready() is provided to activate certain amount of mbufs
  in a socket buffer.

A special note on SCTP:
  SCTP has its own sockbufs.  Unfortunately, FreeBSD stack doesn't yet
allow protocol specific sockbufs.  Thus, SCTP does some hacks to make
itself compatible with FreeBSD: it manages sockbufs on its own, but keeps
sb_cc updated to inform the stack of amount of data in them.  The new
notion of "not ready" data isn't supported by SCTP.  Instead, only a
mechanical substitute is done: s/sb_cc/sb_ccc/.
  A proper solution would be to take away struct sockbuf from struct
socket and allow protocols to implement their own socket buffers, like
SCTP already does.  This was discussed with rrs@.

Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
2014-11-30 12:52:33 +00:00
Enji Cooper
018ce57c62 MFhead @ r275324 2014-11-30 12:37:20 +00:00
Enji Cooper
abcd412940 Remove duplicate FILESYSTEMS REQUIRE from etc/rc.d/ipmon and etc/rc.d/pflog 2014-11-30 12:34:48 +00:00
Andrew Turner
4c1720fd9a Correctly a few incorrect uses of ENTRY/EENTRY and END/EEND
Sponsored by:	ABT Systems Ltd
2014-11-30 12:25:04 +00:00
Andrew Turner
13fb42aabe Remove extra labels, ENTRY_NP already provides them.
Sponsored by:	ABT Systems Ltd
2014-11-30 12:20:24 +00:00
Gleb Smirnoff
300fa232ee Missed in r274421: use sbavail() instead of bare access to sb_cc. 2014-11-30 12:11:01 +00:00
Enji Cooper
dff826bb01 Honor MK_IPFW with rc.firewall, MK_LOCATE with /var/db/locate.db, and MK_MAN
with creating manpage symlinks
2014-11-30 11:59:20 +00:00
Enji Cooper
1698b15a98 mountd should also be optional based on MK_NFS_SERVER 2014-11-30 11:55:45 +00:00
Enji Cooper
d2383c199c Add dummy providers for DNS/FIREWALL 2014-11-30 11:38:32 +00:00
Gleb Smirnoff
57f43a45a3 - Move sbcheck() declaration under SOCKBUF_DEBUG.
- Improve SOCKBUF_DEBUG macros.
- Improve sbcheck().

Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
2014-11-30 11:22:39 +00:00
Enji Cooper
98b9c9cef1 - Make NETWORKING depend on DNS/FIREWALL
- Make local_unbound provide DNS
- Make ipfs, ipfw, and pf provide FIREWALL
- Make securelevel require FIREWALL
- Remove ipfs/ipfilter requirement from netif to avoid circular dependency
  with those services
2014-11-30 11:14:49 +00:00
Enji Cooper
270847f1b2 Make quota come before ypset so ypset can be decoupled from the build 2014-11-30 11:07:54 +00:00
Gleb Smirnoff
8967b220a3 Make sballoc() and sbfree() functions. Ideally, they could be marked
as static, but unfortunately Infiniband (ab)uses them.

Sponsored by:	Nginx, Inc.
2014-11-30 11:02:07 +00:00
Enji Cooper
d0082ce560 Remove duplicate FILESYSTEMS REQUIRE 2014-11-30 10:55:01 +00:00
Enji Cooper
7027385504 Remove duplicate FILESYSTEMS REQUIRE 2014-11-30 10:01:47 +00:00
Enji Cooper
9779edfbd3 Remove the unnecessary glob 2014-11-30 09:04:24 +00:00
Enji Cooper
d370dc47a1 Fix CFLAGS+=-DDEBUG by using the right header for libutil (libutil.h, not
util.h)
2014-11-30 09:03:34 +00:00
Roman Divacky
6e52f863ee Unbreak the code for non-digits below '0' by casting the expression
to unsigned int.

Pointed out by: bde
2014-11-30 08:43:55 +00:00
Enji Cooper
317fdbc621 Build spppcontrol if MK_PPP != no 2014-11-30 08:34:46 +00:00
Enji Cooper
162789296e MFhead @ r275302 2014-11-30 06:48:37 +00:00
Enji Cooper
3c4ee9781a Followup to r275299: add an ObsoleteFiles.inc entry for etc/rc.d/mrouted 2014-11-30 06:46:30 +00:00
Enji Cooper
ebffb67085 Fill in items to remove with relevant knobs, per r275300 2014-11-30 06:44:24 +00:00
Enji Cooper
2b0cb1247a Fill in MK_ACPI, (MK_ACPI && MK_APM), MK_INET6, MK_PPP, and MK_ROUTED
Rework script dependencies to allow everything made optional to more optional
2014-11-30 06:08:22 +00:00
Enji Cooper
b76f9cb7bc Remove etc/rc.d/mrouted
mrouted has been available in ports for the last 8 years as net/mrouted . An
equivalent rc.d script has been present in the port.

Remove all corresponding variables from etc/defaults/rc.conf

Relnotes: yes
2014-11-30 06:03:59 +00:00
Peter Jeremy
b6e5ca4a88 Cross reference tap(4) and tun(4) and include a short explanation as
to how they differ.  This will assist users in selecting which interface
is more appropriate for their purposes.

Approved by:	grog (co-mentor)
MFC after:	2 week
2014-11-30 04:50:13 +00:00
Enji Cooper
c696ccf200 Followup to r275296: add an ObsoleteFiles.inc entry 2014-11-30 03:02:20 +00:00
Enji Cooper
17441aa848 Remove etc/rc.d/mrouted
The rc.d script has been incorporated into net/mrouted for some time
2014-11-30 03:00:40 +00:00
Enji Cooper
e7d836f78d Make nfs server components conditional according to MK_NFS_SERVER 2014-11-30 02:31:37 +00:00
Enji Cooper
04267db69b Move nfsd requirement in lockd/statd to BEFORE: stanza in nfsd so the nfs
server can be made optional
2014-11-30 02:27:37 +00:00
Enji Cooper
4724dcbfa1 Honor MK_AUDIT with respect to etc/security 2014-11-30 01:42:55 +00:00
Enji Cooper
75ff9cf253 - Fill in MK_FILE, MK_PMC, MK_SQLITE3, and MK_ZONEINFO
- Fill in etc/pam.d entries per r275291
- Fill in lib/libaudit entries
- Fill in more MK_NTP entries
2014-11-30 00:55:50 +00:00
Enji Cooper
ba9cbbdb5a Honor MK_AT, MK_FTP, MK_MAIL, and MK_OPENSSH 2014-11-30 00:51:00 +00:00
Enji Cooper
b4f9f0de1d Install bsm headers if MK_AUDIT != no 2014-11-30 00:49:57 +00:00
Enji Cooper
de93d1a1f5 Honor MK_FILE 2014-11-30 00:49:24 +00:00
Enji Cooper
2ca503d328 Honor MK_AUDIT, MK_FILE, MK_GPIO, and MK_SQLITE3
lib/libgpio is a standalone library, but it seems logical to conditionalize
it with MK_GPIO
2014-11-30 00:49:06 +00:00
Enji Cooper
65ea08621f Add MK_FILE and MK_SQLITE3
- MK_FILE will conditionalize building lib/libmagic and usr.bin/file
- MK_SQLITE3 will conditionalize building lib/libsqlite3, and will disable
  MK_SVN/MK_SVNLITE by proxy
2014-11-30 00:45:33 +00:00
Enji Cooper
010546ec14 Add MK_NTP block to etc/rc.d/Makefile 2014-11-30 00:26:50 +00:00
Enji Cooper
d485a56107 Honor MK_GSSAPI and MK_PKGBOOTSTRAP a bit better in etc/Makefile 2014-11-30 00:25:47 +00:00
Enji Cooper
e052c69ab2 Better honor the following MK_ flags in etc/Makefile and etc/rc.d/Makefile:
- MK_AMD
- MK_ATM
- MK_AUDIT
- MK_BOOT
- MK_GSSAPI
- MK_JAIL
- MK_LPR
- MK_SENDMAIL
- MK_VI
- MK_WIRELESS
- MK_ZFS
2014-11-30 00:23:34 +00:00
Enji Cooper
53ffd84c4d Rework rc.d requirements so zfs and zvol come before relevant services so they
can be decoupled from the build
2014-11-30 00:21:06 +00:00
Enji Cooper
4ea83362cb Make kdc run before SERVERS so kdc can be decoupled from the build 2014-11-30 00:03:27 +00:00
Enji Cooper
59d4588ff5 Make ntpdate run before rpcbind to allow ntpdate to be decoupled from the build 2014-11-29 23:59:51 +00:00
Enji Cooper
5e2b531868 Make gssd come before nfsd so gssd can be decoupled from etc/rc.d/Makefile 2014-11-29 23:57:08 +00:00
Enji Cooper
dd939ba0dd Make local_unbound come before NETWORKING instead of having NETWORKING depend
on local_unbound

This should be reworked with a dummy DNS provider
2014-11-29 23:49:00 +00:00
Enji Cooper
61d93429e0 atm1 already sets "BEFORE: netif", so remove "REQUIRE: atm1" from netif to
allow atm* to be decoupled from rc.d
2014-11-29 22:42:53 +00:00
Enji Cooper
dfdf74ea7e Revert r275270
MK_MAIL applies to MK_SENDMAIL and a number of other knobs. r275270 incorrectly
applied it to only MK_SENDMAIL
2014-11-29 22:31:19 +00:00