Commit Graph

9523 Commits

Author SHA1 Message Date
Enji Cooper
3547290f1d Document STRIP_CMD in build(7) and note its importance with LOCAL_ITOOLS
MFC after: 1 week
Phabric: D1335
Reviewed by: brueffer
Sponsored by: EMC / Isilon Storage Division
2014-12-18 18:20:33 +00:00
Bryan Venteicher
c6e32006e1 Prefix all the vxlan ifconfig commands so they are unique
And rehook ifvxlan back into the build.
2014-12-17 05:36:34 +00:00
Dmitry Chagin
9972df7d13 Properly sort Xr to silence mandoc warnings.
Differential Revision:	https://reviews.freebsd.org/D1314
Reviewed by:	wblock
MFC after:	1 Month
2014-12-15 20:48:06 +00:00
Dmitry Chagin
fd07ddcf6f Add _NEW flag to mtx(9), sx(9), rmlock(9) and rwlock(9).
A _NEW flag passed to _init_flags() to avoid check for double-init.

Differential Revision:	https://reviews.freebsd.org/D1208
Reviewed by:	jhb, wblock
MFC after:	1 Month
2014-12-13 21:00:10 +00:00
John-Mark Gurney
08fca7a56b Add some new modes to OpenCrypto. These modes are AES-ICM (can be used
for counter mode), and AES-GCM.  Both of these modes have been added to
the aesni module.

Included is a set of tests to validate that the software and aesni
module calculate the correct values.  These use the NIST KAT test
vectors.  To run the test, you will need to install a soon to be
committed port, nist-kat that will install the vectors.  Using a port
is necessary as the test vectors are around 25MB.

All the man pages were updated.  I have added a new man page, crypto.7,
which includes a description of how to use each mode.  All the new modes
and some other AES modes are present.  It would be good for someone
else to go through and document the other modes.

A new ioctl was added to support AEAD modes which AES-GCM is one of them.
Without this ioctl, it is not possible to test AEAD modes from userland.

Add a timing safe bcmp for use to compare MACs.  Previously we were using
bcmp which could leak timing info and result in the ability to forge
messages.

Add a minor optimization to the aesni module so that single segment
mbufs don't get copied and instead are updated in place.  The aesni
module needs to be updated to support blocked IO so segmented mbufs
don't have to be copied.

We require that the IV be specified for all calls for both GCM and ICM.
This is to ensure proper use of these functions.

Obtained from:	p4: //depot/projects/opencrypto
Relnotes:	yes
Sponsored by:	FreeBSD Foundation
Sponsored by:	NetGate
2014-12-12 19:56:36 +00:00
Mark Peek
0ad435f321 Document support for Netgear WG111v1 (rev2) 2014-12-08 04:06:03 +00:00
Ed Maste
9a2a384623 Regenerate src.conf(5) after r275373 2014-12-02 02:16:30 +00:00
Alexander Motin
238e75e505 Document ISP 2532 support and hint.isp.0.vports tunable.
MFC after:	1 week
2014-12-01 17:51:16 +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
Glen Barber
c5d09a87d4 Regen src.conf(5) after r275138.
Sponsored by:	The FreeBSD Foundation
2014-11-26 20:44:54 +00:00
Andriy Gapon
088b124ba7 callout(9): add sbt flavors of callout_schedule
Differential Revision:	https://reviews.freebsd.org/D1161 (partial)
Reviewed by:	jhb, markj
MFC after:	1 week
2014-11-25 15:21:21 +00:00
Joel Dahl
d4d112e34a Misc mdoc fixes:
- Remove superfluous paragraph macros.
- Remove/fix empty or incorrect macros.
- Sort sections into conventional order.
- Terminate quoted strings properly.
- Remove EOL whitespace.
2014-11-23 21:00:00 +00:00
Ian Lepore
233024d933 Document the recent enhancements for configuring bus speed in iicbus(4).
Differential Revision:        https://reviews.freebsd.org/D1182
PR:		195009
2014-11-21 21:30:08 +00:00
Craig Rodrigues
abf832a879 Create a vimage.9 link to vnet.9
Requested by: glebius
2014-11-21 17:57:37 +00:00
Ed Maste
224914b7da Spell out "Windows" - no need to censor it in a man page 2014-11-20 14:18:07 +00:00
Craig Rodrigues
9ca24f65c5 MFp4: @179066
Add page which describes VNET network stack virtualization infrastructure.

Submitted by: bz
Sponsored by: The FreeBSD Foundation
Sponsored by: CK Software GmbH
2014-11-20 09:56:34 +00:00
Kevin Lo
fa20eb98a8 Add Trendnet TEW-646UBH.
Submitted by:	bolshakov_1 at yahoo dot com
2014-11-19 05:38:45 +00:00
Alexander Motin
9f4fae3950 Remove mostly obsolete hint to disable LAPIC timers.
It is partially covered by new code and partially by new CPUs.

PR:		195016
Submitted by:	tobias.rehbein@web.de
MFC after:	1 week
2014-11-14 22:01:14 +00:00
Edward Tomasz Napierala
be609cace2 Fix mdoc warning.
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2014-11-14 11:47:27 +00:00
Edward Tomasz Napierala
7fe2e170e4 Fix mdoc warning by removing empty lines.
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2014-11-14 08:58:55 +00:00
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