summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Teach the MAC policies which utilize mbuf labeling the new syncachecsjp2006-12-133-0/+75
| | | | | | entry points. Properly initialize the mbuf label based on the label we copy from the PCB. This fixes an LOR between the PCB and syncache code.
* Fix LOR between the syncache and inpcb locks when MAC is present in thecsjp2006-12-135-43/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kernel. This LOR snuck in with some of the recent syncache changes. To fix this, the inpcb handling was changed: - Hang a MAC label off the syncache object - When the syncache entry is initially created, we pickup the PCB lock is held because we extract information from it while initializing the syncache entry. While we do this, copy the MAC label associated with the PCB and use it for the syncache entry. - When the packet is transmitted, copy the label from the syncache entry to the mbuf so it can be processed by security policies which analyze mbuf labels. This change required that the MAC framework be extended to support the label copy operations from the PCB to the syncache entry, and then from the syncache entry to the mbuf. These functions really should be referencing the syncache structure instead of the label. However, due to some of the complexities associated with exposing this syncache structure we operate directly on it's label pointer. This should be OK since we aren't making any access control decisions within this code directly, we are merely allocating and copying label storage so we can properly initialize mbuf labels for any packets the syncache code might create. This also has a nice side effect of caching. Prior to this change, the PCB would be looked up/locked for each packet transmitted. Now the label is cached at the time the syncache entry is initialized. Submitted by: andre [1] Discussed with: rwatson [1] andre submitted the tcp_syncache.c changes
* Add msk(4) to the list of drivers supported by GENERIC kernel.yongari2006-12-132-0/+2
|
* Implement bus_space_map().marcel2006-12-131-1/+2
|
* Add msk(4) to the list of supported network interface.yongari2006-12-131-0/+1
|
* Add an entry for the msk(4) module.yongari2006-12-131-0/+1
|
* Add msk(4) to the list of device drivers use the miibus interface.yongari2006-12-131-1/+3
|
* Add msk(4) to the list of devices supporting full VLAN processingyongari2006-12-131-1/+2
| | | | in the hardware.
* Add msk(4) to the list of drivers supporting ALTQ.yongari2006-12-131-1/+2
|
* Hook up msk(4) to the build.yongari2006-12-135-0/+16
|
* Add a man page for msk(4).yongari2006-12-131-0/+238
|
* Add msk(4), a driver for Marvell/SysKonnect Yukon II Gigabit Ethernetyongari2006-12-132-0/+6444
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | controller. Due to lack of documentation, this driver is based on the code from sk(4) and Marvell's myk(4) driver for FreeBSD. I've also adopted the OpenBSD interface name, msk(4) in order to reduce naming differences between BSDs. The msk(4) driver supports the following Gigabit Ethernet adapters. o SysKonnect SK-9Sxx Gigabit Ethernet o SysKonnect SK-9Exx Gigabit Ethernet o Marvell Yukon 88E8021CU Gigabit Ethernet o Marvell Yukon 88E8021 SX/LX Gigabit Ethernet o Marvell Yukon 88E8022CU Gigabit Ethernet o Marvell Yukon 88E8022 SX/LX Gigabit Ethernet o Marvell Yukon 88E8061CU Gigabit Ethernet o Marvell Yukon 88E8061 SX/LX Gigabit Ethernet o Marvell Yukon 88E8062CU Gigabit Ethernet o Marvell Yukon 88E8062 SX/LX Gigabit Ethernet o Marvell Yukon 88E8035 Gigabit Ethernet o Marvell Yukon 88E8036 Gigabit Ethernet o Marvell Yukon 88E8038 Gigabit Ethernet o Marvell Yukon 88E8050 Gigabit Ethernet o Marvell Yukon 88E8052 Gigabit Ethernet o Marvell Yukon 88E8053 Gigabit Ethernet o Marvell Yukon 88E8055 Gigabit Ethernet o Marvell Yukon 88E8056 Gigabit Ethernet o D-Link 550SX Gigabit Ethernet o D-Link 560T Gigabit Ethernet Unlike OpenBSD/NetBSD msk(4), the msk(4) driver supports all hardware features including TCP/UDP checksum offload for transmit, MSI, TCP segmentation offload(TSO), hardware VLAN tag stripping/insertion, and jumbo frames(up to 9022 bytes). The only unsupported hardware feature except RLMT is Rx checksum offload which I don't know how to make it work reliably. Known Issues: It seems msk(4) does not work on the second port of dual port NIC. (The first port works without problems.) Thanks to Marvell for releasing the BSD licensed myk(4) driver and thanks to all users helped fixing bugs. Tested by: bz, philip, bms, YAMAMOTO Shigeru < shigeru AT iij DOT ad DOT jp >, Dmitry Pryanishnikov < dmitry AT atlantis DOT dp DOT ua >, Jia-Shiun Li < jiashiun AT gmail DOT com >, David Duchscher < daved AT tamu DOT edu >, Arno J. Klaassen < arno AT heho DOT snv DOT jussieu DOT fr>, Nicolae Namolovan < adrenalinup AT gmail DOT com>, Andre Guibert de Bruet < andy AT siliconlandmark DOT com > current ML Tested on: i386, amd64
* Wisdom of Chinggis (Genghis) Khan.grog2006-12-131-1/+60
| | | | Submitted by: Ganbold <ganbold@micom.mng.net>
* Be more specific when ELOOP can be returned.pjd2006-12-121-1/+3
|
* symlink(2) return EACCES if a component of the name2 path prefix deniespjd2006-12-121-0/+4
| | | | write permission.
* Correct ENOENT description.pjd2006-12-121-2/+4
|
* The 'name1' argument to symlink(2) is only limited to 1023 characters,pjd2006-12-121-1/+3
| | | | its components are not checked.
* - Add constants for HT PCI capability registers including the variousjhb2006-12-122-0/+51
| | | | | | | subtypes of HT capabilities. - Add constants for the MSI mapping window HT PCI capability. - On i386 and amd64, enable the MSI mapping window on any HT bridges we encounter and report any non-standard mapping window addresses.
* Give the WREG() macro the same lifetime as the REG() macro.jhb2006-12-121-3/+3
|
* Add some bootverbose printf's to detail how many MSI messages are allocatedjhb2006-12-121-0/+92
| | | | | | and to which IRQs. Requested by: scottl
* Give Host-PCI bridge drivers their own pcib_alloc_msi() andjhb2006-12-125-12/+120
| | | | | | pcib_alloc_msix() methods instead of using the method from the generic PCI-PCI bridge driver as the PCI-PCI methods will be gaining some PCI-PCI specific logic soon.
* Sort function prototypes.jhb2006-12-122-2/+2
|
* Replace a few magic numbers.jhb2006-12-121-2/+2
|
* Add a function to return the MD interrupt source cookie associated withjhb2006-12-124-6/+27
| | | | | an interrupt event. Use this in the x86 code to fixup the intrcnt names when an interrupt handler is removed.
* Add a comment and fix a whitespace nit.jhb2006-12-121-1/+2
|
* In ip6_sprintf no longer use and return one of eight static buffersbz2006-12-121-1/+3
| | | | | | | | | | | for printing/logging ipv6 addresses. The caller now has to hand in a sufficiently large buffer as first argument. This is the "+ one more change" missed in the original commit. Noticed by: tinderbox Pointy hat to: me (#1)
* - Document -u, -i, and the difference between them better.ru2006-12-121-15/+13
| | | | - Remove some historical notes about "future" decisions.
* mkdir(2) creates directory, not file.pjd2006-12-121-1/+2
|
* Correctly calculate length of IP header.glebius2006-12-121-1/+2
| | | | Submitted by: Eugene Hartmann <eugene tpsb.com.ru>
* MFp4: 92972, 98913 + one more changebz2006-12-1224-181/+297
| | | | | | | In ip6_sprintf no longer use and return one of eight static buffers for printing/logging ipv6 addresses. The caller now has to hand in a sufficiently large buffer as first argument.
* Remove reference to confusing behaviour just removed fromjulian2006-12-121-6/+3
| | | | the kse_exit() syscall. Describe the correct behaviour.
* Fix a potential point of confusion. Art Ironport we've seen this end upjulian2006-12-121-3/+6
| | | | with an infinite loop in and out of the kernel during process shutdown.
* Correctly check failed syscall.davidxu2006-12-121-10/+10
|
* Fix support for certain 575x/578x chips. This consists of the following:scottl2006-12-122-35/+274
| | | | | | | | | | | - Use the appropriate register writing method when reseting the chip - Program the descriptor DMA engine correctly. - More reliably detect certain chips and their features. Also add some low-level debugging tools to help future work on this driver. Submitted by: David Christenson (proof of concept changes) Sponsored by: www.UIA.net
* workaround kernel malloc's brittlenesskmacy2006-12-121-1/+8
| | | | | - don't shuffle phys_avail following kernel to the beginning if the range is less than what would remain in a 256MB page (248MB)
* Add the '-n' option which is the opposite of '-N', "Do not list tags."obrien2006-12-121-1/+4
| | | | | The '-n' option is needed when one has "log -N" in their ~/.cvsrc, but wishes to see tags for a particular invocation.
* Move checking for c_has_waiters into low level _thr_ucond_signal anddavidxu2006-12-122-16/+12
| | | | | | | _thr_ucond_broadcast, clear condition variable pointer in cancellation info after returing from _thr_ucond_wait, since kernel has already dropped the internal lock, so we don't need to unlock it in cancellation handler again.
* In FreeBSD, we don't need sc_power callbackkevlo2006-12-121-1/+1
| | | | Approved by: cognet and imp
* - provide a more informative panic if mdesc_update() failskmacy2006-12-121-7/+10
| | | | | - handle some cases where the return value of mdesc_update() is not zero when it should be
* - remove vestigial reference to mra[i]kmacy2006-12-121-17/+33
| | | | | - partition phys_avail along 4GB boundaries as possible workaround for hardware problems causing watchdog panics
* Add MODULE_DEPENDS for cam, pci, mca, eisa and isa where needed.mjacob2006-12-111-0/+2
| | | | | | PR: 106543 Reviewed by: Adam Radford MFC after: 3 days
* These days P2P means peer-2-peer (also well known from serveral filesharingthompsa2006-12-116-41/+41
| | | | | | | protocols) while PointToPoint has been PtP links. Change the variables accordingly while the code is still fresh and undocumented. Requested by: bz
* NetApp filers return corrupt post op attrs in the wcc on NFS error responses.mohans2006-12-111-1/+8
| | | | | | | This is easy to reproduce for EROFS. I am not sure if the attrs can be corrupt for other NFS error responses. For now, disabling wcc pre-op attr checks and post-op attr loads on NFS errors (sysctl'ed). Reported by: Kris Kennaway
* Fix distorted sound on ASUS P1-AH2 caused by accumulated input / output.ariff2006-12-111-0/+10
| | | | Reported/Tested by: Hiroharu Tamaru <tamaru@myn.rcast.u-tokyo.ac.jp>
* Add MODULE_DEPENDS for cam, pci, mca, eisa and isa where needed.mjacob2006-12-1129-2/+50
| | | | | PR: 106543 MFC after: 3 days
* - Correct collision counter for BCM5705+. This register is read/clear.jkim2006-12-111-10/+13
| | | | | | | | | | | | | | | | - Correct RX packet drop counter for BCM5705+. This register is read/clear and it wraps very quickly under heavy packet drops because only the lower ten bits are valid according to the documentation. However, it seems few more bits are actually valid and the rest bits are always zeros[1]. Therefore, we don't mask them off here. To get accurate packet drop count, we need to check the register from bge_rxeof(). It is commented out for now, not to penalize normal operation. Actual performance impact should be measured later. - Correct integer casting from u_long to uint32_t. Casting is not really needed for all supported platforms but we better do this correctly[2]. Tested by: bde[1] Suggested by: bde[2]
* Add missing markup bits.ru2006-12-111-3/+2
|
* o Add support code for newer Marvell PHYs.yongari2006-12-111-127/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Remove unused static global variable e1000phy_debug. o Take advantage of mii_phy_dev_probe(). o Use MII_ANEGTICKS/MII_ANEGTICKS_GIGE instead of magic number 5. o Add IFM_NONE as e1000phy(4) supports it without issues. o Nuke magic PHY programming sequence in PHY reset and follow correct reset sequence. [1] o Make manual media selection work for all supported media types. o Don't set MIIF_NOISOLATE so e1000phy(4) can be used in configurations with multiple PHYs. o In 1000baseT, when setting the link manually, one side must be the master and the other the slave. If LINK0 is set, program the PHY to be a master, otherwise it's a slave. o When we lost a link, reset mii_ticks immediately so it correctly check number of seconds elapsed in autonegotiation phase. o Announce link loss right after it happens. o After kicking autonegotiation, report PHY status instead of returning immediatly. o When link state check is in progress, check auto negotiation completion bit only when auto negotiation is enbaled. o When PHY is resolved to a master, show it with IFM_FLAG2. Special thanks to marius who fixed several nits in original patch. In half-duplex mode, nfe(4) fails to send packets. I think it's a bug in nfe(4) as the same PHY works without problems on msk(4). Obtained from: em(4) [1] Reviewed by: marius Tested by: bz
* Fix a typo ceri found while reviewing and I forgot to commiterwin2006-12-111-1/+1
| | | | | | | | | | in the previous version. Submitted by: ceri, matteo Reviewed by: cperciva Also note that the last revision was: Reviewed by: ceri, simon
* Add additional Marvell PHY registers.yongari2006-12-111-0/+10
|
OpenPOWER on IntegriCloud