Commit Graph

9503 Commits

Author SHA1 Message Date
John Baldwin
14d4e1e250 Drop mention of ISA cards. Note that I have no idea what to cull from the
supported hardware list.  Judging by the PCI driver attachment, dpt_pci.c
only supports a single adapter rather than the various PCI adapters listed.
The list of EISA adapters listed somewhat overlaps with the device IDs in
dpt_eisa.c.  It's not clear which devices are ISA-only devices.
2014-11-13 20:09:47 +00:00
Alexander V. Chernikov
670e8b3b8c Kill custom in_matroute() radix mathing function removing one rte mutex lock.
Initially in_matrote() in_clsroute() in their current state was introduced by
r4105 20 years ago. Instead of deleting inactive routes immediately, we kept them
in route table, setting RTPRF_OURS flag and some expire time. After that, either
GC came or RTPRF_OURS got removed on first-packet. It was a good solution
in that days (and probably another decade after that) to keep TCP metrics.
However, after moving metrics to TCP hostcache in r122922, most of in_rmx
functionality became unused. It might had been used for flushing icmp-originated
routes before rte mutexes/refcounting, but I'm not sure about that.

So it looks like this is nearly impossible to make GC do its work nowadays:

in_rtkill() ignores non-RTPRF_OURS routes.
route can only become RTPRF_OURS after dropping last reference via rtfree()
which calls in_clsroute(), which, it turn, ignores UP and non-RTF_DYNAMIC routes.

Dynamic routes can still be installed via received redirect, but they
have default lifetime (no specific rt_expire) and no one has another trie walker
to call RTFREE() on them.

So, the changelist:
* remove custom rnh_match / rnh_close matching function.
* remove all GC functions
* partially revert r256695 (proto3 is no more used inside kernel,
  it is not possible to use rt_expire from user point of view, proto3 support
  is not complete)
* Finish r241884 (similar to this commit) and remove remaining IPv6 parts

MFC after:	1 month
2014-11-11 02:52:40 +00:00
Ed Maste
4de737d349 Add /usr/lib/debug directory to hier(7)
The canonical standalone debug directory established by the GNU
toolchain is /usr/lib/debug, and we use it when WITH_DEBUG_FILES is set.
Mention it in the file system hierarchy page.

Reviewed by:	bcr
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D1134
2014-11-10 18:20:46 +00:00
Alexander V. Chernikov
603eaf792b Renove faith(4) and faithd(8) from base. It looks like industry
have chosen different (and more traditional) stateless/statuful
NAT64 as translation mechanism. Last non-trivial commits to both
faith(4) and faithd(8) happened more than 12 years ago, so I assume
it is time to drop RFC3142 in FreeBSD.

No objections from:	net@
2014-11-09 21:33:01 +00:00
Andrey V. Elsukov
f325335caf Overhaul if_gre(4).
Split it into two modules: if_gre(4) for GRE encapsulation and
if_me(4) for minimal encapsulation within IP.

gre(4) changes:
* convert to if_transmit;
* rework locking: protect access to softc with rmlock,
  protect from concurrent ioctls with sx lock;
* correct interface accounting for outgoing datagramms (count only payload size);
* implement generic support for using IPv6 as delivery header;
* make implementation conform to the RFC 2784 and partially to RFC 2890;
* add support for GRE checksums - calculate for outgoing datagramms and check
  for inconming datagramms;
* add support for sending sequence number in GRE header;
* remove support of cached routes. This fixes problem, when gre(4) doesn't
  work at system startup. But this also removes support for having tunnels with
  the same addresses for inner and outer header.
* deprecate support for various GREXXX ioctls, that doesn't used in FreeBSD.
  Use our standard ioctls for tunnels.

me(4):
* implementation conform to RFC 2004;
* use if_transmit;
* use the same locking model as gre(4);

PR:		164475
Differential Revision:	D1023
No objections from:	net@
Relnotes:	yes
Sponsored by:	Yandex LLC
2014-11-07 19:13:19 +00:00
Alexander V. Chernikov
146a181f28 Finish r274118: remove useless fields from struct domain.
Sponsored by:	Yandex LLC
2014-11-06 14:39:04 +00:00
John-Mark Gurney
cea971c122 convert .Nm to proper .Xr's... 2014-11-04 08:22:08 +00:00
Jean-Sébastien Pédron
4261dbcfa6 vt(4): Start new sentences on their own lines
Submitted by:	brueffer@
MFC after:	1 week
2014-11-03 16:01:44 +00:00
Jean-Sébastien Pédron
a95c461233 vt(4): Improve the description of kern.vt.fb.modes.$connector
Differential Revision:	https://reviews.freebsd.org/D1098
Submitted by:	emaste@
MFC after:	1 week
2014-11-03 15:25:48 +00:00
Jean-Sébastien Pédron
79c4bda828 vt(4): Document kern.vt.fb.default_mode and kern.vt.fb.modes.*
Those tunables are used to set a specific mode in vt(4) instead of using
the default mode.

Differential Revision:	https://reviews.freebsd.org/D1098
Reviewed by:	ak@, emaste@, kwm@
MFC after:	1 week
2014-11-03 14:57:41 +00:00
Konstantin Belousov
72ba3c0822 Fix two issues with lockmgr(9) LK_CAN_SHARE() test, which determines
whether the shared request for already shared-locked lock could be
granted.  Both problems result in the exclusive locker starvation.

The concurrent exclusive request is indicated by either
LK_EXCLUSIVE_WAITERS or LK_EXCLUSIVE_SPINNERS flags.  The reverse
condition, i.e. no exclusive waiters, must check that both flags are
cleared.

Add a flag LK_NODDLKTREAT for shared lock request to indicate that
current thread guarantees that it does not own the lock in shared
mode.  This turns back the exclusive lock starvation avoidance code;
see man page update for detailed description.

Use LK_NODDLKTREAT when doing lookup(9).

Reported and tested by:	pho
No objections from:	attilio
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2014-11-02 13:10:31 +00:00
John-Mark Gurney
7bd12696d7 add an rc.d script to automatically grow the specified FS... It has
been tested on both MBR and GPT...  It won't be enabled until you add
growfs_enable="YES" and will only run on first boot..
2014-11-02 00:11:25 +00:00
Julio Merino
0677dfd1c4 MFV: Import atf-0.21. 2014-11-01 11:17:54 +00:00
Konstantin Belousov
2361c6d135 Add type qualifier volatile to the base (userspace) address argument
of fuword(9) and suword(9).  This makes the functions type-compatible
with volatile objects and does not require devolatile force, e.g. in
kern_umtx.c.

Requested by:	bde
Reviewed by:	jhb
Sponsored by:	The FreeBSD Foundation
MFC after:	3 weeks
2014-10-31 17:43:21 +00:00
Jung-uk Kim
1561b87885 Actually install casuword(9) to fix build. 2014-10-28 16:19:02 +00:00
Konstantin Belousov
4f3dc90023 Add fueword(9) and casueword(9) functions. They are like fuword(9)
and casuword(9), but do not mix value read and indication of fault.

I know (or remember) enough assembly to handle x86 and powerpc.  For
arm, mips and sparc64, implement fueword() and casueword() as wrappers
around fuword() and casuword(), which means that the functions cannot
distinguish between -1 and fault.

On architectures where fueword() and casueword() are native, implement
fuword() and casuword() using fueword() and casuword(), to reduce
assembly code duplication.

Sponsored by:	The FreeBSD Foundation
Tested by:	pho
MFC after:	2 weeks (ia64 needs treating)
2014-10-28 15:22:13 +00:00
Xin LI
1545452c54 Remove an extra copy of hv_kvp_daemon(8) [1].
While I'm there also correct typos in OptionalObsoleteFiles and add
information of the command line options for hv_kvp_daemon(8).

Reported by:	jmg [1]
Reviewed by:	jmg
MFC after:	2 weeks
2014-10-27 21:29:42 +00:00
John Baldwin
9ef82a94ab Correct a typo: this is the manpage for pthread_cleanup_pop, not push.
Submitted by:	ian
2014-10-27 15:45:37 +00:00
Edward Tomasz Napierala
9d66b6a5a9 Mention VAAI and ODX in ctl(4).
Reviewed by:	mav@
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2014-10-26 13:30:53 +00:00
John Baldwin
613a9773e5 Clarify that pthread_cleanup_push()/pop() are implemented as macros that
create a new code block and thus must be balanced at the same lexical
scope.  (This is also a requirement in POSIX.)

PR:		194280
Submitted by:	dr2867.business@pacbell.net
MFC after:	1 week
2014-10-25 19:31:34 +00:00
Kevin Lo
66fef59616 Add D-Link DWA-123 rev D1 and Elecom WDC-150SU2M. 2014-10-24 15:36:30 +00:00
John-Mark Gurney
dbb91b1415 minor updates to make it more explicit that when using fpu_kern_thread,
you don't need to use fpu_kern_enter/_leave...

Reviewed by:	kib
2014-10-23 17:24:50 +00:00
Bryan Venteicher
6f744ddee4 Add VirtIO console driver
Support for the multiport feature is mostly implemented, but currently
disabled due to some potential races in the hot plug code paths.

Requested by:	marcel
MFC after:	1 month
Relnotes:	yes
2014-10-23 04:47:32 +00:00
Alexander Motin
4f8244bbf7 Document sort_io_queue sysctls/tunables.
MFC after:	1 week
2014-10-22 08:54:10 +00:00
Ed Maste
a0f6423b3d Regenerate after r273418 2014-10-21 20:41:19 +00:00
John-Mark Gurney
d31a976084 it is not cast to a pointer of the specified type, it is cast to the
specified type...

mtod(m, uint8_t) does not work, mtod(m, uint8_t *) does work..
2014-10-21 17:59:27 +00:00
John-Mark Gurney
e0912e08e4 spell out the arguments..
the + *offsetp does not belong w/ the type, move it outside the .Fn
macro...
2014-10-21 17:17:40 +00:00
Hans Petter Selasky
f0188618f2 Fix multiple incorrect SYSCTL arguments in the kernel:
- Wrong integer type was specified.

- Wrong or missing "access" specifier. The "access" specifier
sometimes included the SYSCTL type, which it should not, except for
procedural SYSCTL nodes.

- Logical OR where binary OR was expected.

- Properly assert the "access" argument passed to all SYSCTL macros,
using the CTASSERT macro. This applies to both static- and dynamically
created SYSCTLs.

- Properly assert the the data type for both static and dynamic
SYSCTLs. In the case of static SYSCTLs we only assert that the data
pointed to by the SYSCTL data pointer has the correct size, hence
there is no easy way to assert types in the C language outside a
C-function.

- Rewrote some code which doesn't pass a constant "access" specifier
when creating dynamic SYSCTL nodes, which is now a requirement.

- Updated "EXAMPLES" section in SYSCTL manual page.

MFC after:	3 days
Sponsored by:	Mellanox Technologies
2014-10-21 07:31:21 +00:00
Ed Maste
5e81927466 Add vtfontcvt(8) cross-reference to vt(4) man page
Reported by:	beeessdee@ruggedinbox.com
MFC after:	3 days
2014-10-20 14:48:20 +00:00
Bryan Venteicher
007054f070 Add vxlan interface
vxlan creates a virtual LAN by encapsulating the inner Ethernet frame in
a UDP packet. This implementation is based on RFC7348.

Currently, the IPv6 support is not fully compliant with the specification:
we should be able to receive UPDv6 packets with a zero checksum, but we
need to support RFC6935 first. Patches for this should come soon.

Encapsulation protocols such as vxlan emphasize the need for the FreeBSD
network stack to support batching, GRO, and GSO. Each frame has to make
two trips through the network stack, and each frame will be at most MTU
sized. Performance suffers accordingly.

Some latest generation NICs have begun to support vxlan HW offloads that
we should also take advantage of. VIMAGE support should also be added soon.

Differential Revision:	https://reviews.freebsd.org/D384
Reviewed by:	gnn
Relnotes:	yes
2014-10-20 14:42:42 +00:00
Dag-Erling Smørgrav
99e9de871a Add a complete implementation of MurmurHash3. Tweak both implementations
so they match the established idiom.  Document them in hash(9).

MFC after:	1 month
MFC with:	r272906
2014-10-18 22:15:11 +00:00
Ed Maste
a0dcb24dcd Fix UEFI manpage whitespace and minor issues
Submitted by:	wblock
MFC after:	4 days
Differential Revision: https://reviews.freebsd.org/D959
2014-10-17 18:16:40 +00:00
Ed Maste
4bf111c32a Add basic UEFI boot procedure manpage
Reviewed by:	brueffer
MFC after:	4 days
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D959
2014-10-17 13:50:37 +00:00
Gavin Atkinson
0b43817eac The igb(4) driver supports 82580, i350, i354, i210 and i211 chipsets too,
document them.

PR:		192301
MFC after:	1 week
2014-10-16 23:07:09 +00:00
Ed Maste
d98ae07545 Update vt(4) for UEFI defaults and special keys
vt(4) is the default console for UEFI boot [1], and the bitmapped
kern.vt.spclkeys sysctl has been replaced with individual kern.vt.kbd_*
enable sysctls.

PR:		193710
Submitted by:	wblock [1]
Reviewed by:	wblock
MFC after:	3 days
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D953
2014-10-16 18:49:50 +00:00
Brooks Davis
148bdd15d5 Regenerate src.conf.5 after:
r273170:
  MK_ARB_EABI was removed in r272350 so remove the documentation.
r273171:
  Per r273155, HYPERV is built by default on platforms where it makes
  sense and ignored on others.
r273172:
  Document that WITHOUT_TOOLCHAIN causes headers to not be installed, not
  just programs.
2014-10-16 15:59:00 +00:00
Andrey V. Elsukov
0b9f5f8a5f Overhaul if_gif(4):
o convert to if_transmit;
 o use rmlock to protect access to gif_softc;
 o use sx lock to protect from concurrent ioctls;
 o remove a lot of unneeded and duplicated code;
 o remove cached route support (it won't work with concurrent io);
 o style fixes.

Reviewed by:	melifaro
Obtained from:	Yandex LLC
MFC after:	1 month
Sponsored by:	Yandex LLC
2014-10-14 13:31:47 +00:00
Christian Brueffer
d1e159345b New sentence -> new line; use macros where appropriate. 2014-10-14 12:29:24 +00:00
Sean Bruno
d6f180ad78 Bump .Dd
Submitted by:	gjb
MFC after:	2 weeks
Relnotes:	yes
2014-10-13 21:08:27 +00:00
Sean Bruno
33b8f2518c Update tcp(4) with plpmtud blackhole sysctls
Submitted by:	Mikhail <mp@lenta.ru>
MFC after:	2 weeks
Relnotes:	yes
2014-10-13 21:04:14 +00:00
Hiroki Sato
61a8e84918 Add ${name}_env and ${name}_prepend. ${name}_env is an argument list which
will be passed to env(1).  ${name}_prepend is simply prepended to the command
line for $command.
2014-10-11 23:49:27 +00:00
Edward Tomasz Napierala
d32789d95c Mark iscontrol(8) and iscsi_initiator(4) obsolete.
Differential Revision:	https://reviews.freebsd.org/D931
Reviewed by:	wblock@
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2014-10-11 05:18:22 +00:00
John Baldwin
3ec056ef7d Forgot to bump Dd.
Pointy hat to:	jhb
2014-10-08 21:56:00 +00:00
John Baldwin
958e30b890 Rewrite timeout(9) to be callout(9)-centric instead. Move the description
of timeout(9) to the end and mark it prominently as deprecated.  Document
somewhat how times are specified for the 'sbt' variants.  Better explain
how using callout_init_*() to associate a lock with a callout resolves
common races.

Differential Revision:	https://reviews.freebsd.org/D847
Reviewed by:	wblock, bjk
MFC after:	1 week
2014-10-08 21:53:24 +00:00
Pyun YongHyeon
e27bcffd9b Document newly added controller AR816x/AR817x. 2014-10-08 05:49:10 +00:00
Bryan Drewery
1769d465c8 Bump .Dd missed in r271424 2014-10-06 00:25:10 +00:00
Li-Wen Hsu
f6ce1d1969 Bump .Dd
Approved by:	kevlo
2014-10-03 15:03:44 +00:00
Kevin Lo
34ad8c7be4 bump .Dd
Reported by:	gjb
2014-10-03 01:39:33 +00:00
Kevin Lo
7fb94ea5c3 Mention umoscom(4) and uslcom(4). 2014-10-03 01:20:49 +00:00
Gavin Atkinson
35fe94304b Add HARDWARE section of urnis(4) driver to try to gain more visibility.
MFC after:	3 days
2014-10-02 22:22:34 +00:00