Commit Graph

13863 Commits

Author SHA1 Message Date
luigi
b97eb69f80 Bring in support for netmap, a framework for very efficient packet
I/O from userspace, capable of line rate at 10G, see

	http://info.iet.unipi.it/~luigi/netmap/

At this time I am bringing in only the generic code (sys/dev/netmap/
plus two headers under sys/net/), and some sample applications in
tools/tools/netmap. There is also a manpage in share/man/man4 [1]

In order to make use of the framework you need to build a kernel
with "device netmap", and patch individual drivers with the code
that you can find in

	sys/dev/netmap/head.diff

The file will go away as the relevant pieces are committed to
the various device drivers, which should happen in a few days
after talking to the driver maintainers.

Netmap support is available at the moment for Intel 10G and 1G
cards (ixgbe, em/lem/igb), and for the Realtek 1G card ("re").
I have partial patches for "bge" and am starting to work on "cxgbe".
Hopefully changes are trivial enough so interested third parties
can submit their patches. Interested people can contact me
for advice on how to add netmap support to specific devices.

CREDITS:
    Netmap has been developed by Luigi Rizzo and other collaborators
    at the Universita` di Pisa, and supported by EU project CHANGE
    (http://www.change-project.eu/)
    The code is distributed under a BSD Copyright.

[1] In my opinion is a bad idea to have all manpage in one directory.
  We should place kernel documentation in the same dir that contains
  the code, which would make it much simpler to keep doc and code
  in sync, reduce the clutter in share/man/ and incidentally is
  the policy used for all of userspace code.
  Makefiles and doc tools can be trivially adjusted to find the
  manpages in the relevant subdirs.
2011-11-17 12:17:39 +00:00
pjd
a3e664d830 Constify arguments for locking KPIs where possible.
This enables locking consumers to pass their own structures around as const and
be able to assert locks embedded into those structures.

Reviewed by:	ed, kib, jhb
2011-11-16 21:51:17 +00:00
pjd
f01187d1ea Constify stack argument for functions that don't modify it.
Reviewed by:	ed, kib, jhb
2011-11-16 19:06:55 +00:00
philip
d8198c572a Add the sfxge(4) device driver, providing support for 10Gb Ethernet adapters
based on Solarflare SFC9000 family controllers.  The driver supports jumbo
frames, transmit/receive checksum offload, TCP Segmentation Offload (TSO),
Large Receive Offload (LRO), VLAN checksum offload, VLAN TSO, and Receive Side
Scaling (RSS) using MSI-X interrupts.

This work was sponsored by Solarflare Communications, Inc.

My sincere thanks to Ben Hutchings for doing a lot of the hard work!

Sponsored by:	Solarflare Communications, Inc.
MFC after:	3 weeks
2011-11-16 17:11:13 +00:00
marius
4b6458192f As it turns out, r186347 actually is insufficient to avoid the use of the
curthread-accessing part of mtx_{,un}lock(9) when using a r210623-style
curthread implementation on sparc64, crashing the kernel in its early
cycles as PCPU isn't set up, yet (and can't be set up as OFW is one of the
things we need for that, which leads to a chicken-and-egg problem). What
happens is that due to the fact that the idea of r210623 actually is to
allow the compiler to cache invocations of curthread, it factors out
obtaining curthread needed for both mtx_lock(9) and mtx_unlock(9) to
before the branch based on kobj_mutex_inited when compiling the kernel
without the debugging options. So change kobj_class_compile_static(9)
to just never acquire kobj_mtx, effectively restricting it to its
documented use, and add a kobj_init_static(9) for initializing objects
using a class compiled with the former and that also avoids using mutex(9)
(and malloc(9)). Also assert in both of these functions that they are
used in their intended way only.
While at it, inline kobj_register_method() and kobj_unregister_method()
as there wasn't much point for factoring them out in the first place
and so that a reader of the code has to figure out the locking for
fewer functions missing a KOBJ_ASSERT.
Tested on powerpc{,64} by andreast.

Reviewed by:	nwhitehorn (earlier version), jhb
MFC after:	3 days
2011-11-15 20:11:03 +00:00
nwhitehorn
1db8769eb7 Further automate production release generation by naming files the right
things and generating checksums.

MFC after:	1 week
2011-11-15 18:49:27 +00:00
brueffer
f110f19836 Remove list nesting in the hardware notes section, thus making it compatible with
the hardware notes generation script.

MFC after:	3 days
2011-11-14 22:57:47 +00:00
yongari
effdb2f02f Clarify hw.ti.%d.dac tunable. 2011-11-14 22:16:12 +00:00
yongari
81c8906c6b Document newly introduced a loader tunable and sysctl variables. 2011-11-14 21:59:49 +00:00
rm
698932b695 - add my co-mentors
Approved by:	novel (mentor)
2011-11-14 20:32:39 +00:00
andre
6521dad4b6 mdoc fix for r227499.
Reported by:	brueffer
2011-11-14 15:57:03 +00:00
andre
e974c1d18b Remove mention of ss_fltsz and ss_fltsz_local which were retired in r226447. 2011-11-14 15:14:42 +00:00
andre
f43f28646d Note the ip_len bug fixed in r226105 in the BUGS section. 2011-11-14 15:10:42 +00:00
theraven
c5ef7a7205 Fix the number of decimal digits used for Swiss Francs (0 -> 2). Found by the libc++ test suite. If there is some locale test suite somewhere, it might be worth running it...
Approved by:	dim (mentor)
2011-11-12 14:39:20 +00:00
brueffer
ff3a96fee1 Grammar and mdoc cleanup.
MFC after:	3 days
2011-11-12 10:17:23 +00:00
theraven
1e05ea8cdd Added myself to committers-src.dot
Approved by:	dim (mentor)
2011-11-11 20:13:24 +00:00
brueffer
e4b966f3b7 Reword a sentence in the HARDWARE section a little to make it more suitable
for automatic hardware notes generation.

MFC after:	3 days
2011-11-11 12:06:09 +00:00
pluknet
63c8a789c1 Sync definitions with <sys/mtio.h> header. 2011-11-10 11:17:40 +00:00
rm
bfe863c922 Fix date of commit bit proposing (s/2010/2011/)
Spotted by:    pluknet
Approved by:   novel (mentor)
2011-11-10 08:03:31 +00:00
rm
9d2ce6cea8 Add myself.
Approved by:	novel (mentor)
2011-11-10 06:19:18 +00:00
jpaetzel
97385fb7fa Add myself.
Approved by:	kib (mentor)
2011-11-09 15:21:48 +00:00
yongari
38c2b29e64 Document TI_SF_BUF_JUMBO and Xr altq. 2011-11-08 18:36:59 +00:00
yongari
680bf11700 ti(4) supports altq(4). 2011-11-08 18:35:11 +00:00
marius
dcec53dee9 Add missing comma.
Submitted by:	brueffer
2011-11-06 21:54:27 +00:00
marius
cbbd957faf Commit man page update missed in r227006. 2011-11-06 21:33:50 +00:00
brueffer
744cbe301c Add qlxgb(4).
MFC after:	3 days
2011-11-06 20:59:07 +00:00
brueffer
1e26c5740e Write QLogic consistently.
MFC after:	3 days
2011-11-06 20:37:17 +00:00
jmg
4f47980127 group functions together by function...
document knlist_delete, and better document what knlist_clear does...  Note
that both of these functions may sleep, and also unlock/relock the list
lock...

document knlist_init_mtx (forgotten by kib)...

other minor improvements

Reviewed by:	ru (previous rev)
MFC after:	1 week
2011-11-05 17:55:49 +00:00
bz
fd2aad9556 Add QLogic 10 Gigabit Ethernet & CNA Adapter Driver version 1.30
for 3200 and 8200 series cards.

Submitted by:	David C Somayajulu (david.somayajulu@qlogic.com),
		Qlogic Corporation
MFC After:	3 days
2011-11-03 21:20:22 +00:00
maxim
953d552ca4 OpenBSD 5.0 added. 2011-11-02 14:28:36 +00:00
yongari
332e83efa6 axe(4) got VLAN over-sized frame support.
Add axe(4) to the list of interfaces that support VLAN over-sized frame.
2011-10-25 19:10:10 +00:00
yongari
4b38738773 AX88178/AX88772A/AX88772B supports VLAN over-sized frame.
Xr vlan.
2011-10-25 19:04:56 +00:00
yongari
036925291e All dc(4) controllers support VLAN over-sized frame.
Xr vlan
2011-10-24 21:01:20 +00:00
yongari
e62913d090 Add ALi/ULi M5261/M5263 to supported hardware chipets. 2011-10-24 20:57:50 +00:00
mm
87ac018dc5 Add information about static_ndp_pairs to rc.conf(5) manual page
Submitted by:	Sergey Kandaurov <pluknet@FreeBSD.org>
MFC after:	3 days
2011-10-23 10:20:31 +00:00
hrs
6989630abd Fix typos. 2011-10-23 07:38:55 +00:00
hrs
01ff83332e - Add description that IPv6 configuration will be ignored if $ifconfig_IF_ipv6
is empty.
- Move a configuration example "inet6 accept_rtadv" to just after the manual
  GUA configuration.
- Add an example of $ipv6_prefix_IF.
2011-10-23 06:34:52 +00:00
nwhitehorn
9181ea7a73 Fix missing space in SEE ALSO section.
Submitted by:	novel
2011-10-23 02:52:20 +00:00
glebius
ceb3756810 Spelling.
Submitted by:	dougb
2011-10-21 20:23:40 +00:00
glebius
885aceb259 Note that it is still not possible to guard special kind of allocations, those
that have special relationships with uma(9). Currently only mbuf clusters.
2011-10-21 13:54:17 +00:00
jchandra
7277eaaa56 Build 'dtc' by default for MIPS.
The device tree compiler is needed during the kernel build to compile
DTS files to DTB.

Reviewed by:	stas
2011-10-20 13:41:37 +00:00
nwhitehorn
2cd40fe2b6 Add support for special keys (volume/brightness/eject) on Apple laptops with
ADB keyboards.

Submitted by:	Justin Hibbits <jrh29 at alumni dot cwru dot edu>
MFC after:	9.0-RELEASE
2011-10-16 21:01:42 +00:00
eadler
9d7884364e - change "is is" to "is" or "it is"
- change "the the" to "the"

Approved by:	lstewart
Approved by:	sahil (mentor)
MFC after:	3 days
2011-10-16 14:30:28 +00:00
wblock
e4b40dc1f5 Add mentors and myself to committers-doc.dot.
Approved by:	gjb (mentor)
2011-10-14 00:34:45 +00:00
rakuco
c4fe3bac8a Add myself to committers-ports.dot and calendar.freebsd.
Approved by:	avilla (mentor)
2011-10-13 20:36:43 +00:00
gleb
71169bb7fd Add myself
Approved by:	mdf (mentor)
2011-10-12 20:18:13 +00:00
glebius
e999aa7f37 Document that memguard(9) now can guard uma(9) allocations. 2011-10-12 18:46:48 +00:00
edwin
839efd604e Updates from Newsletter VI-9 and VI-10:
Newsletter VI-9 2011-06-12
    Name changes for Fiji and Myanmar as well as other minor corrections

    Newsletter VI-10 2011-08-09
    Code elements for South Sudan.

Reviewed by:	http://www.iso.org/iso/country_codes.html
2011-10-12 07:00:50 +00:00
glebius
4b0faaa8bc Fix date in last commit.
Noticed by:	Larry Rosenman <ler lerctr.org>
2011-10-11 18:26:31 +00:00
glebius
3047071308 Properly document default number of rx/tx descriptors for Intel cards. 2011-10-11 15:41:07 +00:00