summaryrefslogtreecommitdiffstats
path: root/usr.sbin/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Import work done under project/nand (@235533) into head.gber2012-05-171-0/+5
| | | | | | | | | | | | | | The NAND Flash environment consists of several distinct components: - NAND framework (drivers harness for NAND controllers and NAND chips) - NAND simulator (NANDsim) - NAND file system (NAND FS) - Companion tools and utilities - Documentation (manual pages) This work is still experimental. Please use with caution. Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks
* add usr.sbin/pkg which is a bootstrap tool for pkgng.bapt2012-04-151-0/+1
| | | | | | | | | it respects PACKAGESITE, PACKAGEROOT, and a new environment variable ABI (if a user want to use a different API from the base one for its packages) it has no man page on purpose to avoid hidding the pkg(8) man page from the pkgng package. for now uses pkgbeta.FreeBSD.org as default mirror to find its package it respects MK_PKGTOOLS Approved by: des (mentor)
* Replace utxrm(8) by utx(8).ed2012-02-111-1/+1
| | | | | | | | | | At first, I added a utility called utxrm(8) to remove stale entries from the user accounting database. It seems there are cases in which we need to perform different operations on the database as well. Simply rename utxrm(8) to utx(8) and place the old code under the "rm" command. In addition to "rm", this tool supports "boot" and "shutdown", which are going to be used by an rc-script which I am going to commit separately.
* Add the CAM Target Layer (CTL).ken2012-01-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CTL is a disk and processor device emulation subsystem originally written for Copan Systems under Linux starting in 2003. It has been shipping in Copan (now SGI) products since 2005. It was ported to FreeBSD in 2008, and thanks to an agreement between SGI (who acquired Copan's assets in 2010) and Spectra Logic in 2010, CTL is available under a BSD-style license. The intent behind the agreement was that Spectra would work to get CTL into the FreeBSD tree. Some CTL features: - Disk and processor device emulation. - Tagged queueing - SCSI task attribute support (ordered, head of queue, simple tags) - SCSI implicit command ordering support. (e.g. if a read follows a mode select, the read will be blocked until the mode select completes.) - Full task management support (abort, LUN reset, target reset, etc.) - Support for multiple ports - Support for multiple simultaneous initiators - Support for multiple simultaneous backing stores - Persistent reservation support - Mode sense/select support - Error injection support - High Availability support (1) - All I/O handled in-kernel, no userland context switch overhead. (1) HA Support is just an API stub, and needs much more to be fully functional. ctl.c: The core of CTL. Command handlers and processing, character driver, and HA support are here. ctl.h: Basic function declarations and data structures. ctl_backend.c, ctl_backend.h: The basic CTL backend API. ctl_backend_block.c, ctl_backend_block.h: The block and file backend. This allows for using a disk or a file as the backing store for a LUN. Multiple threads are started to do I/O to the backing device, primarily because the VFS API requires that to get any concurrency. ctl_backend_ramdisk.c: A "fake" ramdisk backend. It only allocates a small amount of memory to act as a source and sink for reads and writes from an initiator. Therefore it cannot be used for any real data, but it can be used to test for throughput. It can also be used to test initiators' support for extremely large LUNs. ctl_cmd_table.c: This is a table with all 256 possible SCSI opcodes, and command handler functions defined for supported opcodes. ctl_debug.h: Debugging support. ctl_error.c, ctl_error.h: CTL-specific wrappers around the CAM sense building functions. ctl_frontend.c, ctl_frontend.h: These files define the basic CTL frontend port API. ctl_frontend_cam_sim.c: This is a CTL frontend port that is also a CAM SIM. This frontend allows for using CTL without any target-capable hardware. So any LUNs you create in CTL are visible in CAM via this port. ctl_frontend_internal.c, ctl_frontend_internal.h: This is a frontend port written for Copan to do some system-specific tasks that required sending commands into CTL from inside the kernel. This isn't entirely relevant to FreeBSD in general, but can perhaps be repurposed. ctl_ha.h: This is a stubbed-out High Availability API. Much more is needed for full HA support. See the comments in the header and the description of what is needed in the README.ctl.txt file for more details. ctl_io.h: This defines most of the core CTL I/O structures. union ctl_io is conceptually very similar to CAM's union ccb. ctl_ioctl.h: This defines all ioctls available through the CTL character device, and the data structures needed for those ioctls. ctl_mem_pool.c, ctl_mem_pool.h: Generic memory pool implementation used by the internal frontend. ctl_private.h: Private data structres (e.g. CTL softc) and function prototypes. This also includes the SCSI vendor and product names used by CTL. ctl_scsi_all.c, ctl_scsi_all.h: CTL wrappers around CAM sense printing functions. ctl_ser_table.c: Command serialization table. This defines what happens when one type of command is followed by another type of command. ctl_util.c, ctl_util.h: CTL utility functions, primarily designed to be used from userland. See ctladm for the primary consumer of these functions. These include CDB building functions. scsi_ctl.c: CAM target peripheral driver and CTL frontend port. This is the path into CTL for commands from target-capable hardware/SIMs. README.ctl.txt: CTL code features, roadmap, to-do list. usr.sbin/Makefile: Add ctladm. ctladm/Makefile, ctladm/ctladm.8, ctladm/ctladm.c, ctladm/ctladm.h, ctladm/util.c: ctladm(8) is the CTL management utility. It fills a role similar to camcontrol(8). It allow configuring LUNs, issuing commands, injecting errors and various other control functions. usr.bin/Makefile: Add ctlstat. ctlstat/Makefile ctlstat/ctlstat.8, ctlstat/ctlstat.c: ctlstat(8) fills a role similar to iostat(8). It reports I/O statistics for CTL. sys/conf/files: Add CTL files. sys/conf/NOTES: Add device ctl. sys/cam/scsi_all.h: To conform to more recent specs, the inquiry CDB length field is now 2 bytes long. Add several mode page definitions for CTL. sys/cam/scsi_all.c: Handle the new 2 byte inquiry length. sys/dev/ciss/ciss.c, sys/dev/ata/atapi-cam.c, sys/cam/scsi/scsi_targ_bh.c, scsi_target/scsi_cmds.c, mlxcontrol/interface.c: Update for 2 byte inquiry length field. scsi_da.h: Add versions of the format and rigid disk pages that are in a more reasonable format for CTL. amd64/conf/GENERIC, i386/conf/GENERIC, ia64/conf/GENERIC, sparc64/conf/GENERIC: Add device ctl. i386/conf/PAE: The CTL frontend SIM at least does not compile cleanly on PAE. Sponsored by: Copan Systems, SGI and Spectra Logic MFC after: 1 month
* Farewall, sysinstall! You served us well for many years, but 10.0 is onenwhitehorn2011-10-031-2/+0
| | | | | | | | digit beyond your time. Various sysinstall dependencies (e.g. libftpio, libdisk, libodialog, etc.) will be cleaned up in coming days. Some will take longer than others due to a few other consumers (tzsetup and sade).
* The named.reload script is no longer useful in the age of rc.ddougb2011-07-181-1/+0
|
* - Improve interface list handling. The rtadvd(8) now supports dynamically-hrs2011-07-171-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | added/removed interfaces in a more consistent manner and reloading the configuration file. - Implement burst unsolicited RA sending into the internal RA timer framework when AdvSendAdvertisements and/or configuration entries are changed as described in RFC 4861 6.2.4. This fixes issues that make termination of the rtadvd(8) daemon take very long time. An interface now has three internal states, UNCONFIGURED, TRANSITIVE, or CONFIGURED, and the burst unsolicited sending happens in TRANSITIVE. See rtadvd.h for the details. - rtadvd(8) now accepts non-existent interfaces as well in the command line. - Add control socket support and rtadvctl(8) utility to show the RA information in rtadvd(8). Dumping by SIGUSR1 has been removed in favor of it.
| * - Refactoring the interface list. It now supports dynamicallyhrs2011-07-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | added/removed interfaces in a more consistent manner and reloading the configuration file. - Add initial support for control socket. RA information in the daemon can be obtained by rtadvctl(8) instead of SIGUSR1 in a similar manner to ifconfig(8). The information dump has been removed in favor of it. (reload the configuration file) # rtadvctl reload (show RA messages being sent on each interfaces) # rtadvctl show em0: flags=<UP,CONFIGURED,PERSIST> status=<RA_SEND> mtu 1280 DefaultLifetime: 30m MinAdvInterval/MaxAdvInterval: 3m20s/3m20s AdvLinkMTU: <none>, Flags: O, Preference: medium ReachableTime: 0s, RetransTimer: 0s, CurHopLimit: 64 AdvIfPrefixes: yes (show RA messages being sent only on em0) # rtadvctl show em0 (rtadvctl -v show provides additional information) # rtadvctl -v show em0 em0: flags=<UP,CONFIGURED,PERSIST> status=<RA_SEND> mtu 1280 DefaultLifetime: 30m MinAdvInterval/MaxAdvInterval: 3m20s/3m20s AdvLinkMTU: <none>, Flags: O, Preference: medium ReachableTime: 0s, RetransTimer: 0s, CurHopLimit: 64 AdvIfPrefixes: yes Prefixes (1): 2001:db8:1::/64 (CONFIG, vltime=30d, pltime=7d, flags=LA) RDNSS entries: 2001:db8:1::128 (ltime=2m40s) (stop rtadvd) # rtadvctl shutdown A remaining issue when reloading the configuration file is that during that period rtadvd cannot communicate with rtadvctl due to some additional RA sending for graceful shutdown. This will be fixed later.
* | bmake and other updates necessary for the BIND 9.8.x upgrade.dougb2011-07-161-0/+8
| | | | | | | | | | | | | | | | | | This includes a structural change regarding atomic ops. Previously they were enabled on all platforms unless we had knowledge that they did not work. However both work performed by marius@ on sparc64 and the fact that the 9.8.x branch is fussier in this area has demonstrated that this is not a safe approach. So I've modified a patch provided by marius to enable them for i386, amd64, and ia64 only.
* | Add WITHOUT_UTMPX switch to the build system.ed2011-06-171-4/+7
| | | | | | | | | | | | | | | | | | This knob removes the tools that are exclusively used to view and maintain the databases maintained by utmpx, namely last, users, who, wtmpcvt, ac, lastlogin and utxrm. The tool w is not in this list, because it has some other functionality which is unrelated to utmpx; it is hardlinked to the uptime tool.
* | Don't omit ac(8) as part of WITHOUT_ACCT.ed2011-06-171-2/+2
|/ | | | | | | The WITHOUT_ACCT switch is supposed to omit tools related to process accounting, namely accton and sa. ac(8) is just a simple tool that prints statistics based on data in the utx.log database. It has nothing to do with the former.
* - Include usbdump into default build.hselasky2011-04-031-0/+1
| | | | | MFC after: 7 days Approved by: thompsa (mentor)
* Add a utility, utxrm(8).ed2011-02-191-0/+1
| | | | | | | | | | Most of the ports I broke when I imported utmpx, were simple management utilities for the utmp database, allowing you to add/remove entries manually. Add a small tool called utxrm(8), which allows you to remove an entry from the utmpx database by hand. This is useful when a login daemon crashes or fails to remove the entry during shutdown.
* Import bsdinstall. This is meant to be (eventually in conjunction withnwhitehorn2011-02-181-0/+1
| | | | | | | | | | | | | | pc-sysinstall) a replacement for sysinstall in the 9.0 release and beyond. Currently supported platforms are sparc64, pc98, i386, amd64, powerpc, and powerpc64. Integration into the build system will occur in the coming weeks. Merging with pc-sysinstall will use this code as a frontend, while temporarily retaining the interactive partition editor here. This work will be done in parallel with improvements on this code and release integration. Thanks to all who have provided testing and comments!
* Put string in quotes, like is done everywhere.uqs2010-11-061-1/+1
|
* - Introduce WITH_GPIO knob and disable building gpioctlgonzo2010-10-051-1/+4
| | | | by default. Most systems do not need it.
* Reconnect uathload to the build.antoine2010-10-031-0/+1
|
* Add gpioctl(8). Utility for configuring/accessing GPIO pinsgonzo2010-09-281-0/+1
|
* Merge from tbemd: use Makefile.arch to control building.imp2010-09-131-319/+95
| | | | Reviewed by: arch@ (many times, no objection)
* Make sure TARGET_ABI is defined. TARGET_ABI will die a horrible deathimp2010-08-261-1/+1
| | | | | | after we get all of TBEMD merged back into head, and make mips64 imply n64, so don't bother to make this 100% pretty. You'll have to settle for only 64% pretty.
* Ugly kludge to paper over some kind of ld bug and/or misuse: don'timp2010-08-261-1/+2
| | | | build uathload on mips n64 either.
* Build some powerpc-specific utilities on powerpc64 as well.nwhitehorn2010-07-201-1/+1
| | | | Submitted by: Andreas Tobler
* Bring in Kris Moore's pc-sysinstall shell script from PC-BSD. Thisimp2010-06-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | shell script is the back end logic necessary for an installer. It contains both query routines to allow a front-end installer to present reasonable choices to the user and also action routines which allow the front end installer to put a FreeBSD distribution onto a disk. It supports installing onto the usual suspects, as well as advanced features like Mirroring, ZFS, Encryprion and GPT labels. While this is only the back-end of the installer, it can do unattended scripted installations. In PC-BSD's world view, all installations are scripted and all the front-end does is write the script. As such, it is useful in its own right. This has been extensively tested over the past several releases of PC-BSD. However, differences between that environment and FreeBSD suggest there will be a period of shake-out while those differences are discovered and corrected. A text-based front-end is in the works. For the GUI-based front-end, you can use the PC-BSD distribution. Kris' BSDcan paper on pc-sysinstall is linked off his talk on the BSDcan site: http://www.bsdcan.org/2010/schedule/events/173.en.html The man page is written by Josh Paetzel, and I wrote the Makefiles for the FreeBSD integration. Kris wrote the rest. This represents version r7010 in the PC-BSD repo. http://svn.pcbsd.org/pcbsd/current/pc-sysinstall Submitted by: kris@ Sponsored by: iX Systems
* Enable ofwdump(8) on ARM as this is a useful tool to inspect a flattenedraj2010-06-131-0/+4
| | | | device tree.
* Add a new build option, MAN_UTILS. This option lets you control buildingjkim2010-05-191-1/+5
| | | | | | | | | utilities and related support files for manual pages, which were previously controlled by MAN. For POLA, the default depends on MAN, i.e., WITHOUT_MAN implies WITHOUT_MAN_UTILS and WITH_MAN implies WITH_MAN_UTILS. This patch is slightly improved by me from: PR: misc/145212
* services_mkdb; generate db file from services(5) to increaseume2010-04-041-0/+1
| | | | | | | speed of getserv*() Obtained from: NetBSD MFC after: 2 weeks
* We don't need to note that mkproto is missing anymore. It isimp2010-04-011-1/+0
| | | | | definitely OBE in a number of ways, and likely should have been removed in 2000, not 2010.
* moused is useful even without usb, so remove comment asking if it is.imp2010-03-041-1/+0
|
* Connect smbfs related libraries and tool on sparc64.yongari2010-01-251-0/+1
| | | | Reviewed by: marius
* Add a driver by Fredrik Lindberg for Option HSDPA USB devices. These differthompsa2010-01-131-0/+2
| | | | | | | | from standard 3G wireless units by supplying a raw IP/IPv6 endpoint rather than using PPP over serial. uhsoctl(1) is used to initiate and close the WAN connection. Obtained from: Fredrik Lindberg <fli@shapeshifter.se>
* The service command is an easy interface to the rc.d system.dougb2009-12-201-0/+1
| | | | | | Its primary purpose is to start and stop services provided by the rc.d scripts, however it can also be used to list the scripts using various criteria.
* Copy apm(4) emulation from sys/i386/acpica/acpi_machdep.c andjkim2009-09-271-0/+3
| | | | install apm(8) and apm_bios.h on amd64.
* Add mptutil, a basic utility for managing MPT SCSI/SATA/SAS controllers.scottl2009-08-141-0/+1
| | | | | | | | Drive and controller status can be reported, basic attributes changed, and arrays and spares can be created and deleted. Approved by: re Obtained from: Yahoo! Inc.
* ntroduce mfiutil, a basic utility for managing LSI SAS-RAID & Dell PERC5/6scottl2009-08-131-0/+1
| | | | | | | | | | | | | | controllers. Controller, array, and drive status can be checked, basic attributes can be changed, and arrays and spares can be created and deleted. Controller firmware can also be flashed. This does not replace MegaCLI, found in ports, as that is officially sanctioned and supported by LSI and includes vastly more functionality. However, mfiutil is open source and guaranteed to provide basic functionality, which can be especially useful if you have a problem and can't get MegaCLI to work. Approved by: re Obtained from: Yahoo! Inc.
* Add wake, a tool to send Wake on LAN frames to hosts on a local Ethernet networkmbr2009-06-301-0/+1
| | | | | | | | | | | | Submitted by: Marc Balmer <marc@msys.ch> Reviewed by: rwatson Approved by: re M usr.sbin/Makefile A usr.sbin/wake AM usr.sbin/wake/wake.c AM usr.sbin/wake/Makefile AM usr.sbin/wake/wake.8
* Update BIND to version 9.6.1rc1. This version has better performance anddougb2009-05-311-0/+4
| | | | | | | | | | | | | lots of new features compared to 9.4.x, including: Full NSEC3 support Automatic zone re-signing New update-policy methods tcp-self and 6to4-self DHCID support. More detailed statistics counters including those supported in BIND 8. Faster ACL processing. Efficient LRU cache-cleaning mechanism. NSID support.
* Add two new utilities and two new daemons to /usr/src/usr.sbin thatrmacklem2009-05-261-0/+4
| | | | | | | | | | | | are specifically used by the experimental nfsv4 subsystem. nfscbd - The NFSv4 client callback daemon. nfsuserd - The NFSv4 daemon that maps between user and group name and their corresponding uid/gid numbers. nfsdumpstate - A utility that dumps out the NFSv4 Open/Lock state. nfsrevoke - Administratively revokes an NFSv4 client, releasing all NFSv4 Open/Lock state it holds on the server. Approved by: kib (mentor)
* Garbage collect raycontrol(8), as ray(4) has been removed.rwatson2009-04-161-2/+0
| | | | Pointed out by: pluknet at gmail.com
* Removed more vestiges of if_sl(4).ru2009-04-091-1/+0
|
* block build of uathload on ia64 temporarily because binutils expectsweongyo2009-04-081-0/+2
| | | | | | machine-specific flags to match but ar5523.bin doesn't have. Pointed by: marcel
* Hook uathload up to the build. It's used for loading the firmware forweongyo2009-04-071-0/+2
| | | | uath(4).
* Remove if_ppp(4) and if_sl(4).ed2009-04-051-10/+0
| | | | | | | | | | | | | Not only did these two drivers depend on IFF_NEEDSGIANT, they were broken 7 months ago during the MPSAFE TTY import. if_ppp(4) has been replaced by ppp(8). There is no replacement for if_sl(4). If we see regressions in for example the ports tree, we should just use __FreeBSD_version 800045 to check whether if_ppp(4) and if_sl(4) are present. Version 800045 is used to denote the import of MPSAFE TTY. Discussed with: rwatson, but also rwatson's IFF_NEEDSGIANT emails on the lists.
* Move usb to a graveyard location under sys/legacy/dev, it is intended that thethompsa2009-02-231-1/+1
| | | | | | | new USB2 stack will fully replace this for 8.0. Remove kernel modules, a subsequent commit will update conf/files. Unhook usbdevs from the build.
* Introduce the I2C diagnostic utility. It let's discover and inspect slaveraj2009-01-261-0/+1
| | | | | | | devices on the bus. Reviewed by: bms, stas Obtained from: Semihalf
* add makefs to the base system; FreeBSD_version bumped just in casesam2008-12-191-0/+1
| | | | Reviewed by: imp
* Import an initial revision of the pmcannotate tool.attilio2008-11-261-0/+2
| | | | | | | | For further explanations please check this e-mail on freebsd-arch@: http://lists.freebsd.org/pipermail/freebsd-arch/2008-November/008698.html Tested by: gnn Sponsored by: Nokia
* src/sys/dev/usb2/controller/uss820dci_pccard.calfred2008-11-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/sys/dev/usb2/core/usbdevs src/sys/dev/usb2/include/urio2_ioctl.h src/sys/dev/usb2/storage/ustorage2_fs.h These files are not used any more. src/usr.sbin/Makefile src/etc/mtree/BSD.include.dist src/include/Makefile src/lib/Makefile src/share/man/man7/hier.7 src/share/mk/bsd.libnames.mk src/etc/mtree/BSD.include.dist Make "usbconfig" and "libusb20" a part of the default build. src/sys/dev/usb/rio500_usb.h src/sys/dev/usb2/storage/urio2.c Use common include file. src/sys/dev/usb2/bluetooth/ng_ubt2.c Make USB bluetooth depend on "ng_hci" module. src/sys/dev/usb2/controller/ehci2.c src/sys/dev/usb2/controller/ehci2.h Patches for Marvell EHCI. src/sys/dev/usb2/core/usb2_busdma.c Bugfix for 64-bit platforms. Need to unload the previously loaded DMA map and some cleanup regarding some corner cases. src/sys/dev/usb2/core/usb2_core.h src/sys/dev/usb2/core/usb2_dev.c src/sys/dev/usb2/core/usb2_dev.h Bugfix for libusb filesystem interface. New feature: Add support for filtering device data at the expense of the userland process. Add some more comments. Some minor code styling. Remove unused function, usb2_fifo_get_data_next(). Fix an issue about "fifo_index" being used instead of "ep_index". src/sys/dev/usb2/core/usb2_device.c src/sys/dev/usb2/core/usb2_generic.c Bugfix for Linux USB compat layer. Do not free non-generic FIFOs when doing an alternate setting. Cleanup USB IOCTL and USB reference handling. Fix a corner case where USB-FS was left initialised after setting a new configuration or alternate setting. src/sys/dev/usb2/core/usb2_hub.c Improvement: Check all USB HUB ports by default at least one time. src/sys/dev/usb2/core/usb2_request.c Bugfix: Make sure destination ASCII string is properly zero terminated in all cases. Improvement: Skip invalid characters instead of replacing with a dot. src/sys/dev/usb2/core/usb2_util.c src/sys/dev/usb2/image/uscanner2.c Spelling. src/sys/dev/usb2/include/Makefile Share "usbdevs" with the old USB stack. src/sys/dev/usb2/include/usb2_devid.h src/sys/dev/usb2/include/usb2_devtable.h Regenerate files. Alfred: Please fix the RCS tag at the top. src/sys/dev/usb2/include/usb2_ioctl.h Fix compilation of "kdump". src/sys/dev/usb2/serial/ubsa2.c src/sys/dev/usb2/serial/ugensa2.c Remove device ID's which will end up in a new 3G driver. src/sys/dev/usb2/sound/uaudio2.c Correct a debug printout. src/sys/dev/usb2/storage/umass2.c Sync with old USB stack. src/lib/libusb20/libusb20.3 Add more documentation. src/lib/libusb20/libusb20.c Various bugfixes and improvements. src/usr.sbin/usbconfig/dump.c src/usr.sbin/usbconfig/usbconfig.c New commands for dumping strings and doing custom USB requests from the command line. Remove keyword requirements from generated files: "head/sys/dev/usb2/include/usb2_devid.h" "head/sys/dev/usb2/include/usb2_devtable.h"
* Move dumpcis to its own directory, start to decouple from theimp2008-11-171-1/+1
| | | | pccardc/pccardd history.
* Implement support for RPCSEC_GSS authentication to both the NFS clientdfr2008-11-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and server. This replaces the RPC implementation of the NFS client and server with the newer RPC implementation originally developed (actually ported from the userland sunrpc code) to support the NFS Lock Manager. I have tested this code extensively and I believe it is stable and that performance is at least equal to the legacy RPC implementation. The NFS code currently contains support for both the new RPC implementation and the older legacy implementation inherited from the original NFS codebase. The default is to use the new implementation - add the NFS_LEGACYRPC option to fall back to the old code. When I merge this support back to RELENG_7, I will probably change this so that users have to 'opt in' to get the new code. To use RPCSEC_GSS on either client or server, you must build a kernel which includes the KGSSAPI option and the crypto device. On the userland side, you must build at least a new libc, mountd, mount_nfs and gssd. You must install new versions of /etc/rc.d/gssd and /etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf. As long as gssd is running, you should be able to mount an NFS filesystem from a server that requires RPCSEC_GSS authentication. The mount itself can happen without any kerberos credentials but all access to the filesystem will be denied unless the accessing user has a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There is currently no support for situations where the ticket file is in a different place, such as when the user logged in via SSH and has delegated credentials from that login. This restriction is also present in Solaris and Linux. In theory, we could improve this in future, possibly using Brooks Davis' implementation of variant symlinks. Supporting RPCSEC_GSS on a server is nearly as simple. You must create service creds for the server in the form 'nfs/<fqdn>@<REALM>' and install them in /etc/krb5.keytab. The standard heimdal utility ktutil makes this fairly easy. After the service creds have been created, you can add a '-sec=krb5' option to /etc/exports and restart both mountd and nfsd. The only other difference an administrator should notice is that nfsd doesn't fork to create service threads any more. In normal operation, there will be two nfsd processes, one in userland waiting for TCP connections and one in the kernel handling requests. The latter process will create as many kthreads as required - these should be visible via 'top -H'. The code has some support for varying the number of service threads according to load but initially at least, nfsd uses a fixed number of threads according to the value supplied to its '-n' option. Sponsored by: Isilon Systems MFC after: 1 month
* We do not have a libkse anymore and Mk/bsd.* does not knowbz2008-10-271-1/+1
| | | | about LIBKSE anymore, so s,MK_LIBKSE,MK_LIBPTHREAD,.
OpenPOWER on IntegriCloud