glebius [Wed, 6 Jun 2007 16:20:50 +0000 (16:20 +0000)]
Merge 1.47:
Make it possible that carpdetach() unlocks on return. Then, in
carp_clone_destroy() we are on a safe side, we don't need to
unlock the cif, that can me already non-existent at this point.
Reported by: Anton Yuzhaninov <citrin rambler-co.ru>
ambrisko [Wed, 6 Jun 2007 15:59:29 +0000 (15:59 +0000)]
MFC all of the remaining changes. This brings over improved ioctl
support and makes MegaCli work on amd64. Scott supplied patches
to make the ioctl commands not block the controller. MegaCli
still has some issues with our emulation and create some bogus
commands so flashing doesn't work.
This should loosely resolve 113232. We were waiting on some other
fixes to go into -current before migrating this to -stable.
davidch [Tue, 5 Jun 2007 01:56:08 +0000 (01:56 +0000)]
Merged changes from HEAD, including:
- Updated copyright date to 2007.
- Tested with BCM5706 A3.
- Added ID for BCM5708 B2.
- Removed unused driver version string.
- Modified BCE_PRINTF macro to automatically fill-in the sc pointer.
- Fixed a kernel panic when the driver was loaded as a module from the
command-line because the MII bus pointer was null (i.e. the MII bus
hadn't been enumerated yet).
- Added fix proposed by Vladimir Ivanov <wawa@yandex-team.ru> to prevent
driver state corruption when releasing the lock during the ISR in
bce_rx_intr() to send packets up the stack.
- Added new TX chain and register read sysctl interfaces for debugging.
- Cleaned up formatting for various other debug routines.
- Added a new statistic maintained by firmware which tracks the number
of received packets dropped because no receive buffers are available.
philip [Sun, 3 Jun 2007 13:36:04 +0000 (13:36 +0000)]
MFC: moused.c rev 1.77 and rev 1.78
moused.8 rev 1.60 and rev 1.61
Makefile rev 1.9
Add dynamic acceleration to moused(8). This introduces a '-A' flag to
control the acceleration algorithm. It can be used together with the '-a'
flag for regular acceleration. [1]
Convert macros to use C99's syntax for macros with a variable number of
arguments.
Markup fixes to moused(8).
Submitted by: Oliver Fromme <olli -at- lurza.secnetix.de> [1]
Behind on MFCs: philip
yongari [Sun, 3 Jun 2007 07:47:40 +0000 (07:47 +0000)]
MFC if_re.c, 1.84 to RELENG_6
The TCP checksum offload handling in the 8111B/8168B and 8101E PCIe can
apparently be confused by short TCP segments that have been manually
padded to the minimum ethernet frame size. The driver does short frame
padding in software as a workaround for a bug in the 8169 PCI devices
that causes short IP fragments to be corrupted due to an apparent
conflict between the hardware autopadding and hardware IP checksumming.
To fix this, we avoid software padding for short TCP segments, since
the hardware seems to autopad and checksum these correctly (even the
older 8169 NICs get these right). Short UDP packets appear to be
handled correctly in all cases. This should work around the IP header
checksum bug in the 8169 while not tripping the TCP checksum bug in
the 8111B/8168B and 8101E.
yongari [Sun, 3 Jun 2007 07:43:15 +0000 (07:43 +0000)]
MFC if_re.c, 1.81 to RELENG_6
Fix re_setmulti() so that it works correctly for PCIe chips where
the multicast hash table are in reverse order compared to older
devices.
delphij [Thu, 31 May 2007 02:42:37 +0000 (02:42 +0000)]
MFC revision 1.137
date: 2007/05/17 06:08:42; author: delphij; state: Exp; lines: +8 -5
Tighten IP address check, prevent '..' from being passed
from the check.
thompsa [Wed, 30 May 2007 08:47:15 +0000 (08:47 +0000)]
MFC r1.13, 1.14
- Fix a mbuf leak where sc_start fails or the protocol is none.
- packets on the input interface were counted twice
- Use IFQ_HANDOFF instead of rolling our own
kib [Tue, 29 May 2007 10:09:43 +0000 (10:09 +0000)]
MFC rev. 1.309 of sys/kern/kern_descrip.c,
rev. 1.438 of sys/kern/vfs_syscalls.c,
rev. 1.77 of sys/sys/filedesc.h:
Mark the filedescriptor table entries with VOP_OPEN being performed for them
as UF_OPENING. Disable closing of that entries. This should fix the crashes
caused by devfs_open() (and fifo_open()) dereferencing struct file * by
index, while the filedescriptor is closed by parallel thread.
RELENG_6 testing by: Mark Kane <mark at mkproductions org>
AC97 Soft Audio and Soft Modem Master Abort Errata
Issue:
Use of either soft audio or soft modem on an IntelĀ® 82443MX PCISet
based platform running a 100 MHz Processor System Bus and an AC97 codec
may result in failures. The system continues to function normally while
the AC97 hardware may not resume and may require a cold-boot to
recover. As a result of the failure, the Master Abort Status bit will
be set in the audio or modem function PCI header space.
Workaround:
Force uncacheable DMA on both BDL and pcm buffers.
kmacy [Mon, 28 May 2007 06:26:07 +0000 (06:26 +0000)]
- Update to 1.0.0.86 of vendor source
- add some performance improvements for small packet workloads
- Double the number of descriptors that a single call to send can use
- Quadruple the number of descriptors that can be reclaimed per pass
- only run reclaim twice per second
- increase coalesce timer from 3.5us to 5us
- set OACTIVE so interface doesn't stall when the ring fills
keramida [Mon, 28 May 2007 02:00:54 +0000 (02:00 +0000)]
MFC pfsync_syncpeer option for rc.conf(5).
: Add a pfsync_syncpeer option to /etc/defaults/rc.conf and rc.conf(5),
: which can be used to turn off multicast pfsync support, and enable
: the transmission of directed PFSYNC (IP protocol: 240) packets to
: a specific "sync peer" host.
:
: PR: conf/111225
: Submitted by: Bas van Beek <bas@tobin.nl>
: Approved by: mtm, mlaier
: MFC after: 2 weeks
:
: Revision Changes Path
: 1.314 +1 -0 src/etc/defaults/rc.conf
: 1.5 +6 -1 src/etc/rc.d/pfsync
: 1.323 +20 -0 src/share/man/man5/rc.conf.5
jinmei [Fri, 25 May 2007 06:35:46 +0000 (06:35 +0000)]
MFC:
- Disabled responding to NI queries from a global address by default as
specified in RFC4620. A new flag for icmp6_nodeinfo was added to enable the
feature.
- Also cleaned up the code so that the semantics of the icmp6_nodeinfo
flags is clearer (i.e., defined specific macro names instead of using
hard-coded values).
jhb [Wed, 23 May 2007 18:24:43 +0000 (18:24 +0000)]
MFC: Rework the support used by ABIs to override resource limits so that
a 64-bit process exec'd by a 32-bit process doesn't end up with 32-bit
limits.
This doesn't break the ABI as neither of the 32-bit ABIs (COMPAT_LINUX32
and COMPAT_IA32) are buildable as modules on 6.x/amd64 and none of the
other ABIs use this hook.
cperciva [Wed, 23 May 2007 00:31:15 +0000 (00:31 +0000)]
MFC revision 1.6 and part of revision 1.4:
* Add missing '${BASEDIR}/'s, thereby fixing problems when the "-b basedir"
option is used.
* Don't add new kernel modules into a non-existent kernel directory.
* Remove files before the directory which contains them.
mtm [Tue, 22 May 2007 22:07:49 +0000 (22:07 +0000)]
MFC:
sys/sys/socket.h ver. 1.93
lib/libc/net/rthdr.c ver. 1.9
----------------------------
date: 2007/04/19 15:48:16; author: mtm; state: Exp; lines: +4 -2
Make inet6_rth_* family of functions more compliant with RFC3542:
1. CMSG_NXTHDR(mhdr, cmsg) is supposed to dereference cmsg and return
the next header in the chain. If cmsg is NULL it should return
the first header, behaving essentially like CMSG_FIRSTHDR().
2. inet6_rth_(space|init|add) should do basic checking on their input
to verify that the number of headers (segments) is
between 0 and 127 inclusive.
mtm [Tue, 22 May 2007 22:01:44 +0000 (22:01 +0000)]
MFC ver. 1.30:
date: 2007/04/19 15:41:00; author: mtm; state: Exp; lines: +68 -19
o Increase the buffer to hold extra headers to 10240 bytes (the minimum
according to RFC3542 sec. 20.1) and allocate it dynamically.
o In verbose mode, specify a warning if any control data from recvmsg(2)
was truncated because the buffer was too small.
o When printing the extra headers make sure not to overrun the buffer
boundaries.