ļ230819 137 480 217 271 180 369 177 166 264 165 136 135 194 639 170 148 139 175 170 125 107 531 161 138 135 760 136 1012 167 694 302 3396 3396 246 245 254 314 152 258 772 314 178 146 233 290 436 242 589 212 235 2445 250 126 175 454 544 562 454 161 592 148 149 248 248 528 528 226 226 378 378 160 160 894 894 374 374 1022 1022 607 545 213 313 138 138 221 179 154 179 134 139 119 179 889 196 332 215 199 151 392 947 539 224 1110 431 1110 149 274 158 115 203 998 201 960 125 274 295 221 343 193 377 271 225 727 192 1248 239 447 187 302 302 197 197 375 438 397 397 146 757 K 10 svn:author V 4 gber K 8 svn:date V 27 2012-01-31T15:46:29.830431Z K 7 svn:log V 386 mpic: Fix IPI sending - Change Target List Filter to All And Self from All No Self (val = 0x00000000), sending interrupt to core causing it should not be disabled by default - CPUISSET return 1 if core is present in cpuset structure, so should not be negated - Remove setting all cores as signal receivers (ipi | 0xf00) Submitted by: Lukasz Plachno Obtained from: Marvell, Semihalf END K 10 svn:author V 4 gber K 8 svn:date V 27 2012-01-31T15:47:15.847877Z K 7 svn:log V 123 Initialize cpuset structure with zero value before using it Submitted by: Lukasz Plachno Obtained from: Marvell, Semihalf END K 10 svn:author V 4 gber K 8 svn:date V 27 2012-01-31T15:48:33.479023Z K 7 svn:log V 177 Refactor infinitive loops If additional cores won't signal startup, notification will be sent instead of hangup. Submitted by: Lukasz Plachno Obtained from: Marvell, Semihalf END K 10 svn:author V 3 jhb K 8 svn:date V 27 2012-01-31T15:48:40.008961Z K 7 svn:log V 88 Fix a spelling mistake in the surprise link down error constant. Submitted by: glebius END K 10 svn:author V 4 gber K 8 svn:date V 27 2012-01-31T15:50:18.351608Z K 7 svn:log V 275 Remove pj4b_sleep function WFI instruction requires snoop filter and coherency fabric disabled before entering low power mode. This fix is temporary workaround over problems when SMP with WBWA cache is enabled. Submitted by: Lukasz Plachno Obtained from: Marvell, Semihalf END K 10 svn:author V 4 gber K 8 svn:date V 27 2012-01-31T15:51:34.138678Z K 7 svn:log V 84 Correct building world with/without CPUTYPE=armv6 Obtained from: Marvell, Semihalf END K 10 svn:author V 4 gber K 8 svn:date V 27 2012-01-31T15:52:17.084560Z K 7 svn:log V 73 Split pmap settings between arm archs. Obtained from: Marvell, Semihalf END K 10 svn:author V 4 gber K 8 svn:date V 27 2012-01-31T15:53:11.656940Z K 7 svn:log V 170 Fix set/get pcpu for pre-armv6 cores. - bring back old pcpu function for pre-armv6 cores - move pcpu related functions to common file. Obtained from: Marvell, Semihalf END K 10 svn:author V 4 gber K 8 svn:date V 27 2012-01-31T15:53:54.723593Z K 7 svn:log V 72 Properly update mp_naps and smp_cpus. Obtained from: Marvell, Semihalf END K 10 svn:author V 3 gnn K 8 svn:date V 27 2012-01-31T17:22:07.335290Z K 7 svn:log V 44 Update sources to 1.2.1 Submitted by: wxs@ END K 10 svn:author V 3 gnn K 8 svn:date V 27 2012-01-31T17:24:08.856455Z K 7 svn:log V 43 Create a tag for version 1.2.1 of libpcap. END K 10 svn:author V 4 jkim K 8 svn:date V 27 2012-01-31T17:51:30.398402Z K 7 svn:log V 100 - Restore XCR0 before restoring extended FPU states. - Update my copyright dates. Reviewed by: kib END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2012-01-31T18:13:49.826975Z K 7 svn:log V 544 MFC r225708 into stable/8: Modify the netfront driver so it can successfully attach to PV devices with the ioemu attribute set. sys/dev/xen/netfront/netfront.c: o If a mac address for the interface cannot be found in the front-side XenStore tree, look for an entry in the back-side tree. With ioemu devices, the emulator does not populate the front side tree and neither does Xend. o Return an error rather than panic when an attach attempt fails. Reported by: Janne Snabb (fix inspired by patch provided) PR: kern/154302 END K 10 svn:author V 3 gnn K 8 svn:date V 27 2012-01-31T18:24:25.901570Z K 7 svn:log V 78 Add, remove and move files for the 1.2.1 import of libpcap Submitted by: wxs END K 10 svn:author V 3 gnn K 8 svn:date V 27 2012-01-31T18:24:51.645591Z K 7 svn:log V 56 Retag the 1.2.1 import to get the adds/removes correct. END K 10 svn:author V 3 gnn K 8 svn:date V 27 2012-01-31T18:36:42.590342Z K 7 svn:log V 47 Remove a broken import/tag so we can re do it. END K 10 svn:author V 3 gnn K 8 svn:date V 27 2012-01-31T18:37:26.751709Z K 7 svn:log V 83 Create a new tag for 1.2.1 to clear up the issues with the previously botched tag. END K 10 svn:author V 3 kib K 8 svn:date V 27 2012-01-31T18:42:22.057934Z K 7 svn:log V 78 MFC r228133: Hide the internals of vm_page_lock(9) from the loadable modules. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2012-01-31T18:43:19.198023Z K 7 svn:log V 29 Vendor import of zlib 1.2.6. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2012-01-31T18:44:01.835824Z K 7 svn:log V 11 Tag 1.2.6. END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2012-01-31T18:48:54.086998Z K 7 svn:log V 430 Properly handle the multi-domain interrupt system found on pSeries hardware by providing aliases for the XICP on all XICS nodes. This should all the cross-routing working. Note that this involves the creation of multiple interrupt domains with 24-bit ranges, meaning that some devices will get extraordinarily high IRQs (in the 100000000 range) assigned to them. Should MAP_IRQ start just returning vector numbers, like on Linux? END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-01-31T19:00:01.745498Z K 7 svn:log V 65 Merge r228499: Update this page to describe modern interfaces. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-01-31T19:02:33.678807Z K 7 svn:log V 42 Merge 228500: More MLINKS for rtalloc.9 END K 10 svn:author V 3 jhb K 8 svn:date V 27 2012-01-31T19:07:08.907770Z K 7 svn:log V 43 MFC 226828: Fix a memory leak in tzload(). END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2012-01-31T19:38:18.958948Z K 7 svn:log V 661 Add isci(4) driver for amd64 and i386 targets. The isci driver is for the integrated SAS controller in the Intel C600 (Patsburg) chipset. Source files in sys/dev/isci directory are FreeBSD-specific, and sys/dev/isci/scil subdirectory contains an OS-agnostic library (SCIL) published by Intel to control the SAS controller. This library is used primarily as-is in this driver, with some post-processing to better integrate into the kernel build environment. isci.4 and a README in the sys/dev/isci directory contain a few additional details. This driver is only built for amd64 and i386 targets. Sponsored by: Intel Reviewed by: scottl Approved by: scottl END K 10 svn:author V 5 jamie K 8 svn:date V 27 2012-01-31T19:45:32.905024Z K 7 svn:log V 42 Better communicate the purpose of "-r *". END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-01-31T21:46:28.101998Z K 7 svn:log V 919 Make sound(4) more flexible in setting soft buffer and block sizes when hardware imposes strict limitations on hard buffer and block sizes. Previous code set soft buffer to be no smaller then hard buffer. On some cards with fixed 64K physical buffer that caused up to 800ms play latency. New code allows to set soft buffer size down to just two blocks of the hard buffer and to not write more then that size ahead to the hardware buffer. As result of that change I was able to reduce full practically measured record-playback loop delay in those conditions down to only about 115ms with theoretical playback latency of only about 50ms. New code works fine for both vchans and direct cases. In both cases sound(4) tries to follow hw.snd.latency_profile and hw.snd.latency values and application-requested buffer and block sizes as much as limitation of two hardware blocks allows. Reviewed by: silence on multimedia@ END K 10 svn:author V 6 adrian K 8 svn:date V 27 2012-01-31T22:27:35.704781Z K 7 svn:log V 72 Correctly fetch the TX/RX stream count from the HAL. Pointy hat to: me END K 10 svn:author V 6 adrian K 8 svn:date V 27 2012-01-31T22:31:16.916283Z K 7 svn:log V 598 Support AR9281/AR5B91 - a 1x2 stream device based on the AR9280. * Override the TX/RX stream count if the EEPROM reports a single RX or TX stream, rather than assuming the device will always be a 2x2 strea device. * For AR9280 devices, don't hard-code 2x2 stream. Instead, allow the ar5416FillCapabilityInfo() routine to correctly determine things. The latter should be done for all 11n chips now that ar5416FillCapabilityInfo() will set the TX/RX stream count based on the active TX/RX chainmask in the EEPROM. Thanks to Maciej Milewski for donating some AR9281 NICs to me for testing. END K 10 svn:author V 3 jfv K 8 svn:date V 27 2012-01-31T22:47:10.749424Z K 7 svn:log V 209 MFC of e1000 drivers The following revs are merged: 212303,212304,213234,214363,214441,217556,219902,221505, 223676,226436,227309,228386,228387,228405,228415,228788, 228803,229606,229767,230023,230024,230742 END K 10 svn:author V 3 ken K 8 svn:date V 27 2012-01-31T23:04:58.358475Z K 7 svn:log V 3302 MFC: 230000, 230544 Fix a race condition in CAM peripheral free handling, locking in the CAM XPT bus traversal code, and a number of other periph level issues. r230544 | ken | 2012-01-25 10:58:47 -0700 (Wed, 25 Jan 2012) | 9 lines Fix a bug introduced in r230000. We were eliminating all LUNs on a target in response to CAM_DEV_NOT_THERE, instead of just the LUN in question. This will now just eliminate the specified LUN in response to CAM_DEV_NOT_THERE. Reported by: Richard Todd r230000 | ken | 2012-01-11 17:41:48 -0700 (Wed, 11 Jan 2012) | 72 lines Fix a race condition in CAM peripheral free handling, locking in the CAM XPT bus traversal code, and a number of other periph level issues. cam_periph.h, cam_periph.c: Modify cam_periph_acquire() to test the CAM_PERIPH_INVALID flag prior to allowing a reference count to be gained on a peripheral. Callers of this function will receive CAM_REQ_CMP_ERR status in the situation of attempting to reference an invalidated periph. This guarantees that a peripheral scheduled for a deferred free will not be accessed during its wait for destruction. Panic during attempts to drop a reference count on a peripheral that already has a zero reference count. In cam_periph_list(), use a local sbuf with SBUF_FIXEDLEN set so that mallocs do not occur while the xpt topology lock is held, regardless of the allocation policy of the passed in sbuf. Add a new routine, cam_periph_release_locked_buses(), that can be called when the caller already holds the CAM topology lock. Add some extra debugging for duplicate peripheral allocations in cam_periph_alloc(). Treat CAM_DEV_NOT_THERE much the same as a selection timeout (AC_LOST_DEVICE is emitted), but forgo retries. cam_xpt.c: Revamp the way the EDT traversal code does locking and reference counting. This was broken, since it assumed that the EDT would not change during traversal, but that assumption is no longer valid. So, to prevent devices from going away while we traverse the EDT, make sure we properly lock everything and hold references on devices that we are using. The two peripheral driver traversal routines should be examined. xptpdperiphtraverse() holds the topology lock for the entire time it runs. xptperiphtraverse() is now locked properly, but only holds the topology lock while it is traversing the list, and not while the traversal function is running. The bus locking code in xptbustraverse() should also be revisited at a later time, since it is complex and should probably be simplified. scsi_da.c: Pay attention to the return value from cam_periph_acquire(). Return 0 always from daclose() even if the disk is now gone. Add some rudimentary error injection support. scsi_sg.c: Fix reference counting in the sg(4) driver. The sg driver was calling cam_periph_release() on close, but never called cam_periph_acquire() (which increments the reference count) on open. The periph code correctly complained that the sg(4) driver was trying to decrement the refcount when it was already 0. Sponsored by: Spectra Logic END K 10 svn:author V 3 ken K 8 svn:date V 27 2012-01-31T23:09:27.431321Z K 7 svn:log V 3302 MFC: 230000, 230544 Fix a race condition in CAM peripheral free handling, locking in the CAM XPT bus traversal code, and a number of other periph level issues. r230544 | ken | 2012-01-25 10:58:47 -0700 (Wed, 25 Jan 2012) | 9 lines Fix a bug introduced in r230000. We were eliminating all LUNs on a target in response to CAM_DEV_NOT_THERE, instead of just the LUN in question. This will now just eliminate the specified LUN in response to CAM_DEV_NOT_THERE. Reported by: Richard Todd r230000 | ken | 2012-01-11 17:41:48 -0700 (Wed, 11 Jan 2012) | 72 lines Fix a race condition in CAM peripheral free handling, locking in the CAM XPT bus traversal code, and a number of other periph level issues. cam_periph.h, cam_periph.c: Modify cam_periph_acquire() to test the CAM_PERIPH_INVALID flag prior to allowing a reference count to be gained on a peripheral. Callers of this function will receive CAM_REQ_CMP_ERR status in the situation of attempting to reference an invalidated periph. This guarantees that a peripheral scheduled for a deferred free will not be accessed during its wait for destruction. Panic during attempts to drop a reference count on a peripheral that already has a zero reference count. In cam_periph_list(), use a local sbuf with SBUF_FIXEDLEN set so that mallocs do not occur while the xpt topology lock is held, regardless of the allocation policy of the passed in sbuf. Add a new routine, cam_periph_release_locked_buses(), that can be called when the caller already holds the CAM topology lock. Add some extra debugging for duplicate peripheral allocations in cam_periph_alloc(). Treat CAM_DEV_NOT_THERE much the same as a selection timeout (AC_LOST_DEVICE is emitted), but forgo retries. cam_xpt.c: Revamp the way the EDT traversal code does locking and reference counting. This was broken, since it assumed that the EDT would not change during traversal, but that assumption is no longer valid. So, to prevent devices from going away while we traverse the EDT, make sure we properly lock everything and hold references on devices that we are using. The two peripheral driver traversal routines should be examined. xptpdperiphtraverse() holds the topology lock for the entire time it runs. xptperiphtraverse() is now locked properly, but only holds the topology lock while it is traversing the list, and not while the traversal function is running. The bus locking code in xptbustraverse() should also be revisited at a later time, since it is complex and should probably be simplified. scsi_da.c: Pay attention to the return value from cam_periph_acquire(). Return 0 always from daclose() even if the disk is now gone. Add some rudimentary error injection support. scsi_sg.c: Fix reference counting in the sg(4) driver. The sg driver was calling cam_periph_release() on close, but never called cam_periph_acquire() (which increments the reference count) on open. The periph code correctly complained that the sg(4) driver was trying to decrement the refcount when it was already 0. Sponsored by: Spectra Logic END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-01-31T23:20:14.049797Z K 7 svn:log V 150 Add more sparc64 compatibility macros for the shared loader. This is a direct commit to stable/8 in order to unbreak the build with r224370 in place. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-01-31T23:20:17.224663Z K 7 svn:log V 149 Add more sparc64 compatibility macros for the shared loader. This is a direct commit to stable/7 in order to unbreak the build with 224371 in place. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-01-31T23:24:46.622627Z K 7 svn:log V 158 - Hook up VTOC8 geometry adjustments. - Remove some unused externs. This is a direct commit to stable/8 in order to unbreak the build with r230666 in place. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2012-02-01T01:28:35.829321Z K 7 svn:log V 218 MFC r230293: Add missing line continuation \. It did not cause any issue because the same path is already being included in ../Makefile.inc. PR: 164192 Submitted by: Devin Teske END K 10 svn:author V 6 emaste K 8 svn:date V 27 2012-02-01T01:36:46.459850Z K 7 svn:log V 57 Revert r230854 as the change does not apply to stable/8. END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2012-02-01T02:16:15.786097Z K 7 svn:log V 163 Change directory layout: use manufacturer as a top-level directory, not SoC family. The plan is to get more TI products on board. Suggested by: Damjan Marion END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2012-02-01T02:53:06.033038Z K 7 svn:log V 675 If multiple threads call kevent() to get AIO events on same kqueue fd, it is possible that a single AIO event will be reported to multiple threads, it is not threading friendly, and the existing API can not control this behavior. Allocate a kevent flags field sigev_notify_kevent_flags for AIO event notification in sigevent, and allow user to pass EV_CLEAR, EV_DISPATCH or EV_ONESHOT to AIO kernel code, user can control whether the event should be cleared once it is retrieved by a thread. This change should be comptaible with existing application, because the field should have already been zero-filled, and no additional action will be taken by kernel. PR: kern/156567 END K 10 svn:author V 6 emaste K 8 svn:date V 27 2012-02-01T03:28:19.300737Z K 7 svn:log V 218 MFC r230293: Add missing line continuation \. It did not cause any issue because the same path is already being included in ../Makefile.inc. PR: 164192 Submitted by: Devin Teske END K 10 svn:author V 8 jhibbits K 8 svn:date V 27 2012-02-01T03:42:14.869120Z K 7 svn:log V 81 Enable the pccard/cardbus modules for powerpc. Approved by: nwhitehorn (mentor) END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2012-02-01T03:49:56.085846Z K 7 svn:log V 52 Use pcpu0_init in order to initialize pcpu properly END K 10 svn:author V 2 ae K 8 svn:date V 27 2012-02-01T09:28:16.876645Z K 7 svn:log V 141 The scheme code may not know about some inconsistency in the metadata. So, add an integrity check after recovery attempt. MFC after: 1 week END K 10 svn:author V 8 netchild K 8 svn:date V 27 2012-02-01T10:59:19.539180Z K 7 svn:log V 192 - remove non-existent input directories from the configs - add the target-arch to the project name where applicable (arch dependend code) - fix comment for __FreeBSD__ [1] Noticed by: bz [1] END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-02-01T11:07:41.433707Z K 7 svn:log V 339 o Provide functions carp_ifa_addroute()/carp_ifa_delroute() to cleanup routes from a single ifa. o Implement carp_addroute()/carp_delroute() via above functions. o Call carp_ifa_delroute() in the carp_detach() to avoid junk routes left in routing table, in case if user removes an address in a MASTER state. [1] Reported by: az [1] END K 10 svn:author V 3 kib K 8 svn:date V 27 2012-02-01T13:33:53.403699Z K 7 svn:log V 149 Make the sys/ucontext.h self-contained by changing the return type of __getcontextx_size(3) from size_t to int. PR: ports/164654 MFC after: 1 month END K 10 svn:author V 3 raj K 8 svn:date V 27 2012-02-01T13:39:52.815026Z K 7 svn:log V 496 Adjust mvs(4) to handle interrupt cause reg depending on the actual number of channels available - current code treats bits 4:7 in 'SATAHC interrupt mask' and 'SATAHC interrupt cause' as flags for SATA channels 2 and 3 - for embedded SATA controllers (SoC) these bits have been marked as reserved in datasheets so far, but for some new and upcoming chips they are used for purposes other than SATA Submitted by: Lukasz Plachno Reviewed by: mav Obtained from: Semihalf MFC after: 2 weeks END K 10 svn:author V 3 kib K 8 svn:date V 27 2012-02-01T14:34:52.760749Z K 7 svn:log V 119 Add kqueue support to /dev/klog. Submitted by: Mateusz Guzik PR: kern/156423 MFC after: 1 weeks END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2012-02-01T15:04:27.592484Z K 7 svn:log V 138 MFC r230545: Clarify and improve the boot menu with some small changes. PR: misc/160818 Submitted by: Warren Block END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-02-01T15:57:49.801278Z K 7 svn:log V 2347 Merge some cleanups and bugfixes to pfsync(4) and pf(4) from head. Merged revisions: r229773,229777,229849-229853,229857,229959,229961-229964,229976. r229777: Merge from OpenBSD: revision 1.170 date: 2011/10/30 23:04:38; author: mikeb; state: Exp; lines: +6 -7 Allow setting big MTU values on the pfsync interface but not larger than the syncdev MTU. Prompted by the discussion with and tested by Maxim Bourmistrov; ok dlg, mpf Consistently use sc_ifp->if_mtu in the MTU check throughout the module. This backs out r228813. r229849: o Fix panic on module unload, that happened due to mutex being destroyed prior to pfsync_uninit(). To do this, move all the initialization to the module_t method, instead of SYSINIT(9). o Fix another panic after module unload, due to not clearing the m_addr_chg_pf_p pointer. o Refuse to unload module, unless being unloaded forcibly. o Revert the sub argument to MODULE_DECLARE, to the stable/8 value. r229850: Bunch of fixes to pfsync(4) module load/unload: o Make the pfsync.ko actually usable. Before this change loading it didn't register protosw, so was a nop. However, a module /boot/kernel did confused users. o Rewrite the way we are joining multicast group: - Move multicast initialization/destruction to separate functions. - Don't allocate memory if we aren't going to join a multicast group. - Use modern API for joining/leaving multicast group. - Now the utterly wrong pfsync_ifdetach() isn't needed. o Move module initialization from SYSINIT(9) to moduledata_t method. o Refuse to unload module, unless asked forcibly. o Improve a bit some FreeBSD porting code: - Use separate malloc type. - Simplify swi sheduling. r229857: Can't pass MSIZE to m_cljget(), an mbuf can't be attached as external storage to another mbuf. r229963: Add necessary locking in pfsync_in_ureq(). r229976: Redo r226660: - Define schednetisr() to swi_sched. - In the swi handler check if there is some data prepared, and if true, then call pfsync_sendout(), however tell it not to schedule swi again. - Since now we don't obtain the pfsync lock in the swi handler, don't use ifqueue mutex to synchronize queue access. r229773, r229851, r229959, r229961, r229962, r229964 - minor cleanups. END K 10 svn:author V 7 ghelmer K 8 svn:date V 27 2012-02-01T16:40:59.719370Z K 7 svn:log V 153 Change the notes about the pidfile to include Doug's preference for pre-creating the pidfile with appropriate owner and permissions. Requested by dougb END K 10 svn:author V 2 jh K 8 svn:date V 27 2012-02-01T17:04:14.831873Z K 7 svn:log V 35 Partially MFC r228358: Fix markup. END K 10 svn:author V 2 jh K 8 svn:date V 27 2012-02-01T17:07:29.286648Z K 7 svn:log V 84 MFC r228359: sbuf_data() hasn't returned NULL for overflowed buffers since r71721. END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-02-01T17:56:38.891284Z K 7 svn:log V 361 MFC r228820, r228851: Merge to da driver quirks hinting 4K physical sector sizes for SATA disks connected via SAS or USB. Unluckily I've found that SAS (mps) and USB-SATA I have translate models in different ways, requiring twice more quirks. Unluckily for Hitachi, their model names are trimmed on SAS, making impossible to identify 4K sector drives that way. END K 10 svn:author V 7 trociny K 8 svn:date V 27 2012-02-01T18:02:13.649591Z K 7 svn:log V 447 Try to avoid ambiguity when sysctl returns ENOMEM additionally checking the returned oldlen: when ENOMEM is due to the supplied buffer being too short the return oldlen is equal to buffer size. Without this additional check kvm_getprocs() gets stuck in loop if the returned ENOMEM was due the exceeded memorylocked limit. This is easily can be observed running `limits -l 1k top'. Submitted by: Andrey Zonov MFC after: 1 week END K 10 svn:author V 7 trociny K 8 svn:date V 27 2012-02-01T18:03:21.784938Z K 7 svn:log V 465 Try to avoid ambiguity when sysctl returns ENOMEM additionally checking the returned oldlen: when ENOMEM is due to the supplied buffer being too short the return oldlen is equal to buffer size. Without this additional check sockstat gets stuck in loop leaking the memory if the returned ENOMEM was due the exceeded memorylocked limit. This is easily can be observed running `limits -l 1k sockstat'. Submitted by: Andrey Zonov MFC after: 1 week END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-02-01T18:05:54.942442Z K 7 svn:log V 361 MFC r228820, r228851: Merge to da driver quirks hinting 4K physical sector sizes for SATA disks connected via SAS or USB. Unluckily I've found that SAS (mps) and USB-SATA I have translate models in different ways, requiring twice more quirks. Unluckily for Hitachi, their model names are trimmed on SAS, making impossible to identify 4K sector drives that way. END K 10 svn:author V 6 davide K 8 svn:date V 27 2012-02-01T19:46:12.054701Z K 7 svn:log V 66 Add myself to the relevant docs. Approved by: alc, gnn (mentors) END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-02-01T20:12:44.271221Z K 7 svn:log V 499 Fix NULL dereference panic on attempt to turn off (on system shutdown) disconnected swap device. This is quick and imperfect solution, as swap device will still be opened and GEOM will not be able to destroy it. Proper solution would be to automatically turn off and close disconnected swap device, but with existing code it will cause panic if there is at least one page on device, even if it is unimportant page of the user-level process. It needs some work. Reviewed by: kib@ MFC after: 1 week END K 10 svn:author V 3 ken K 8 svn:date V 27 2012-02-01T20:18:57.066118Z K 7 svn:log V 56 Add the netback driver to the build. MFC after: 3 days END K 10 svn:author V 3 ken K 8 svn:date V 27 2012-02-01T20:19:33.683662Z K 7 svn:log V 57 Add the GSO prefix descriptor define. MFC after: 3 days END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:08:33.648417Z K 7 svn:log V 152 MFC: r230627 Using ATA_CAM along with ATAPI DMA causes data corruption with ALI_NEW and CMD controllers for reasons unknown so disable it. PR: 164226 END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:08:35.916864Z K 7 svn:log V 152 MFC: r230627 Using ATA_CAM along with ATAPI DMA causes data corruption with ALI_NEW and CMD controllers for reasons unknown so disable it. PR: 164226 END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:09:59.827909Z K 7 svn:log V 432 MFC: r230630 For machines where the kernel address space is unrestricted increase VM_KMEM_SIZE_SCALE to 2, awaiting more insight from alc@. As it turns out, the VM apparently has problems with machines that have large holes in the physical address space, causing the kmem_suballoc() call in kmeminit() to fail with a VM_KMEM_SIZE_SCALE of 1. Using a value of 2 allows these, namely Blade 1500 with 2GB of RAM, to boot. PR: 164227 END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:10:00.451807Z K 7 svn:log V 432 MFC: r230630 For machines where the kernel address space is unrestricted increase VM_KMEM_SIZE_SCALE to 2, awaiting more insight from alc@. As it turns out, the VM apparently has problems with machines that have large holes in the physical address space, causing the kmem_suballoc() call in kmeminit() to fail with a VM_KMEM_SIZE_SCALE of 1. Using a value of 2 allows these, namely Blade 1500 with 2GB of RAM, to boot. PR: 164227 END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:11:06.649735Z K 7 svn:log V 130 MFC: r230631 Implement OF_printf() using kvprintf() directly, avoiding to use a buffer and allowing to handle newlines properly. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:11:09.538974Z K 7 svn:log V 130 MFC: r230631 Implement OF_printf() using kvprintf() directly, avoiding to use a buffer and allowing to handle newlines properly. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:14:04.657851Z K 7 svn:log V 282 MFC: r230632 - Now that we have a working OF_printf() since r230631 (MFC'ed to stable/9 in r230884), use it for implementing a simple OF_panic() that may be used during the early cycles when panic() isn't available, yet. - Mark cpu_{exit,shutdown}() as __dead2 as appropriate. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:14:07.137786Z K 7 svn:log V 282 MFC: r230632 - Now that we have a working OF_printf() since r230631 (MFC'ed to stable/8 in r230885), use it for implementing a simple OF_panic() that may be used during the early cycles when panic() isn't available, yet. - Mark cpu_{exit,shutdown}() as __dead2 as appropriate. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:15:24.348600Z K 7 svn:log V 65 MFC: r230628 Mark cpu_{halt,reset}() as __dead2 as appropriate. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:15:27.357757Z K 7 svn:log V 65 MFC: r230628 Mark cpu_{halt,reset}() as __dead2 as appropriate. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:19:52.866354Z K 7 svn:log V 798 MFC: r230633, r230634 Now that we have a working OF_printf() since r230631 and a OF_panic() helper since r230632 (MFC'ed to stable/9 in r230884 and r230886 respectively), use these for output and panicing during the early cycles and move cninit() until after the static per-CPU data has been set up. This solves a couple of issue regarding the non- availability of the static per-CPU data: - panic() not working and only making things worse when called, - having to supply a special DELAY() implementation to the low-level console drivers, - curthread accesses of mutex(9) usage in low-level console drivers that aren't conditional due to compiler optimizations (basically, this is the problem described in r227537 but in this case for keyboards attached via uart(4)). [1] PR: 164123 [1] END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:19:54.321687Z K 7 svn:log V 798 MFC: r230633, r230634 Now that we have a working OF_printf() since r230631 and a OF_panic() helper since r230632 (MFC'ed to stable/8 in r230885 and r230887 respectively), use these for output and panicing during the early cycles and move cninit() until after the static per-CPU data has been set up. This solves a couple of issue regarding the non- availability of the static per-CPU data: - panic() not working and only making things worse when called, - having to supply a special DELAY() implementation to the low-level console drivers, - curthread accesses of mutex(9) usage in low-level console drivers that aren't conditional due to compiler optimizations (basically, this is the problem described in r227537 but in this case for keyboards attached via uart(4)). [1] PR: 164123 [1] END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:24:03.650158Z K 7 svn:log V 278 MFC: r230662 Fully disable interrupts while we fiddle with the FP context in the VIS-based block copy/zero implementations. While with 4BSD it's sufficient to just disable the tick interrupts, with ULE+PREEMPTION it's otherwise also possible that these are preempted via IPIs. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:24:06.129212Z K 7 svn:log V 278 MFC: r230662 Fully disable interrupts while we fiddle with the FP context in the VIS-based block copy/zero implementations. While with 4BSD it's sufficient to just disable the tick interrupts, with ULE+PREEMPTION it's otherwise also possible that these are preempted via IPIs. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:28:13.664421Z K 7 svn:log V 926 MFC: r230664 As it turns out r227960 (MFC'ed to stable/9 in r228126) may still be insufficient with PREEMPTION so try harder to get the CDMA sync interrupt delivered and also in a more efficient way: - wrap the whole process of sending and receiving the CDMA sync interrupt in a critical section so we don't get preempted, - send the CDMA sync interrupt to the CPU that is actually waiting for it to happen so we don't take a detour via another CPU, - instead of waiting for up to 15 seconds for the interrupt to trigger try the whole process for up to 15 times using a one second timeout (the code was also changed to just ignore belated interrupts of a previous tries should they appear). According to testing done by Peter Jeremy with the debugging also added as part of this commit the first two changes apparently are sufficient to now properly get the CDMA sync interrupts delivered at the first try though. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:28:16.489908Z K 7 svn:log V 926 MFC: r230664 As it turns out r227960 (MFC'ed to stable/8 in r228145) may still be insufficient with PREEMPTION so try harder to get the CDMA sync interrupt delivered and also in a more efficient way: - wrap the whole process of sending and receiving the CDMA sync interrupt in a critical section so we don't get preempted, - send the CDMA sync interrupt to the CPU that is actually waiting for it to happen so we don't take a detour via another CPU, - instead of waiting for up to 15 seconds for the interrupt to trigger try the whole process for up to 15 times using a one second timeout (the code was also changed to just ignore belated interrupts of a previous tries should they appear). According to testing done by Peter Jeremy with the debugging also added as part of this commit the first two changes apparently are sufficient to now properly get the CDMA sync interrupts delivered at the first try though. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-02-01T21:31:46.253886Z K 7 svn:log V 511 MFC: r227980 Move to SCHED_ULE by default. Since r226057 SCHED_ULE and sparc64 are compatible with each other and since r227539 the last issue seen when using SCHED_ULE is fixed (MFC'ed to stable/9 in r230691 and r227714 respectively). At least on UP and 2-way machines SCHED_4BSD still performs better than SCHED_ULE, however, the optimizations done in r225889 (MFC'ed to stable/9 in r230673) pretty much compensate that so there's at least no net regression. Thanks go to Peter Jeremy for extensive testing. END K 10 svn:author V 3 pfg K 8 svn:date V 27 2012-02-01T21:38:01.265184Z K 7 svn:log V 452 Use new OSS-based BSD-licensed header for cs sound driver. The cs driver requires a table with firmware values. An alternative firmware is available in a similar Open Sound System driver. This is actually a partial revert of Revision 77504. Special thanks to joel@ for patiently testing several replacement attempts. The csa driver and the complete sound system are now free of the GPL. Tested by: joel Approved by: jhb (mentor) MFC after: 3 weeks END K 10 svn:author V 3 pfg K 8 svn:date V 27 2012-02-02T00:10:20.940056Z K 7 svn:log V 120 Cleanup some sound headers that don't need to be in the modules makefiles. Approved by: jhb (mentor) MFC after: 1 week END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2012-02-02T04:20:33.144477Z K 7 svn:log V 215 Add a flag to nfsm_stateidtom() so that it will put the stateid on the wire with a seqid == 0. This is needed for NFSv4.1, where stateid.seqid == 0 defines the stateid as the most recent incarnation of the stateid. END K 10 svn:author V 3 kib K 8 svn:date V 27 2012-02-02T06:18:41.366230Z K 7 svn:log V 46 MFC r230783: Add definition for PT_GNU_RELRO. END K 10 svn:author V 3 kib K 8 svn:date V 27 2012-02-02T06:39:33.303775Z K 7 svn:log V 46 MFC r230783: Add definition for PT_GNU_RELRO. END K 10 svn:author V 3 ken K 8 svn:date V 27 2012-02-02T07:38:40.439111Z K 7 svn:log V 128 Unbreak the i386 full PV (XEN kernel) build by reverting rev 230878 and taking the netback driver out of the build temporarily. END K 10 svn:author V 8 netchild K 8 svn:date V 27 2012-02-02T10:31:49.102372Z K 7 svn:log V 82 Overwrite my 3 year outdated linuxulator-dtrace branch with a full sys from HEAD. END K 10 svn:author V 8 netchild K 8 svn:date V 27 2012-02-02T10:33:17.330270Z K 7 svn:log V 57 Ooops, missing subdirectory in server side copy, remove. END K 10 svn:author V 8 netchild K 8 svn:date V 27 2012-02-02T10:34:04.481752Z K 7 svn:log V 82 Overwrite my 3 year outdated linuxulator-dtrace branch with a full sys from HEAD. END K 10 svn:author V 8 netchild K 8 svn:date V 27 2012-02-02T10:35:39.221080Z K 7 svn:log V 37 Filehqndling in SVN sucks... remove. END K 10 svn:author V 8 netchild K 8 svn:date V 27 2012-02-02T10:37:35.678442Z K 7 svn:log V 42 Remove all sources to have a clean state. END K 10 svn:author V 8 netchild K 8 svn:date V 27 2012-02-02T10:39:59.144518Z K 7 svn:log V 22 Create src directory. END K 10 svn:author V 8 netchild K 8 svn:date V 27 2012-02-02T10:40:24.938849Z K 7 svn:log V 82 Overwrite my 3 year outdated linuxulator-dtrace branch with a full sys from HEAD. END K 10 svn:author V 8 netchild K 8 svn:date V 27 2012-02-02T11:18:34.227983Z K 7 svn:log V 791 Preliminary patch for DTracifying the linuxulator: - internal locks - linux_dummy.c - linux_futex.c - linux_emul.c - linux_mib.c - linux_sysctl.c - linux_util.c - linux_uid16.c - linux_time.c - D script to check internal locks - D script to trace futexes - D script to generate stats for DTracified linuxulator parts - D script to check for errors: + emulation errors (unsupportet stuff, unknown stuff, ...) + kernel errors (resource shortage, ...) + programming errors (errors which can happen, but should not happen) Not to be included in a MTC: - enabled DTRACE hooks and CTF compile in GENERIC Make sure the linuxulator is compiled in or loaded as a module before sdt.ko. You will get a panic if this is not respected (bug in dtrace-sdt to be fixed before MTC). END K 10 svn:author V 4 gber K 8 svn:date V 27 2012-02-02T12:22:22.165144Z K 7 svn:log V 102 Fix getting cache level of coherency and remove Marvell specific code. Submitted by: Damjan Marion END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-02-02T14:17:58.704368Z K 7 svn:log V 239 Make CAM ATA honor old hw.ata.ata_dma and hw.ata.atapi_dma tunables. Even having more specific hint.ata.X.mode controls, global ones are still could be useful from some points, including compatibility. PR: kern/164651 MFC after: 1 week END K 10 svn:author V 2 mm K 8 svn:date V 27 2012-02-02T16:18:40.986401Z K 7 svn:log V 123 Fix out of bounds write causing random panics, uncovered by the change in r230256 Reviewed by: pluknet@ MFC after: 3 days END K 10 svn:author V 2 mm K 8 svn:date V 27 2012-02-02T16:33:58.937596Z K 7 svn:log V 107 Add copyright information on last commits to comply with CDDL. Discussed with: pluknet@ MFC after: 3 days END K 10 svn:author V 4 joel K 8 svn:date V 27 2012-02-02T17:25:39.487226Z K 7 svn:log V 58 Remove leftovers from previous commits. Approved by: jhb END K 10 svn:author V 3 ken K 8 svn:date V 27 2012-02-02T17:54:35.200327Z K 7 svn:log V 299 Fix the netback driver build for i386. netback.c: Add missing VM includes. xen/xenvar.h, xen/xenpmap.h: Move some XENHVM macros from to on i386 to match the amd64 headers. conf/files: Add netback to the build. Submitted by: jhb MFC after: 3 days END K 10 svn:author V 7 trociny K 8 svn:date V 27 2012-02-02T18:17:49.817418Z K 7 svn:log V 850 MFC r227838, r227873, r228025, r228049, r228289, r228447, r230753: r227838, r227873: Add new options, -e and -x, to display process environment variables and ELF auxiliary vectors. r228025, r228049: Make proctstat -x output more readable. This also fixes the issue, spotted by mdf, with values that were printed as decimal and had hex prefixes. Discussed with: kib, rwatson r228289: Don't output a warning if kern.proc.auxv sysctl has returned EPERM. After r228288 this is rather a normal situation. r228447: Make 64-bit procstat output ELF auxiliary vectors for 32-bit processes. Reviewed by: kib r230753: Always return 0 if the sysctl failed. This fixes the bug: when procstat -xa was run and the sysctl for a process returned ESRCH or EPERM, for this process procstat output the result collected for the previous successful process. END K 10 svn:author V 7 trociny K 8 svn:date V 27 2012-02-02T18:22:25.490958Z K 7 svn:log V 442 MFC r227956, r228090, r228446, r230471, r230548: r227956: Add -l flag to display resource limits. PR: bin/161257 Reviewed by: kib r228090: Update SYNOPSIS to include the flags added recently. Spotted by: jhb r228446: Make procstat -l output similar to the output of limits(1). Suggested by: jhb r230471, r230548: Make procstat -l to work with the new version of kern.proc.rlimit. Submitted by: Andrey Zonov END K 10 svn:author V 7 trociny K 8 svn:date V 27 2012-02-02T18:25:12.155097Z K 7 svn:log V 127 MFC r230549: Add -P option to allow get and set limits for other processes. Submitted by: Andrey Zonov END K 10 svn:author V 3 ken K 8 svn:date V 27 2012-02-02T19:01:41.693289Z K 7 svn:log V 1016 MFC 230592: Bring in the LSI-supported version of the mps(4) driver. This involves significant changes to the mps(4) driver, but is not a complete rewrite. Some of the changes in this version of the driver: - Integrated RAID (IR) support. - Support for WarpDrive controllers. - Support for SCSI protection information (EEDP). - Support for TLR (Transport Level Retries), needed for tape drives. - Improved error recovery code. - ioctl interface compatible with LSI utilities. mps.4: Update the mps(4) driver man page somewhat for the driver changes. The list of supported hardware still needs to be updated to reflect the full list of supported cards. conf/files: Add the new driver files. mps/mpi/*: Updated version of the MPI header files, with a BSD style copyright. mps/*: See above for a description of the new driver features. modules/mps/Makefile: Add the new mps(4) driver files. Submitted by: Kashyap Desai Sponsored by: LSI, Spectra Logic Reviewed by: ken END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-02-02T19:02:15.991648Z K 7 svn:log V 338 Insert ordered command every 1/4 of the current command timeout, not 1/4 of the default one. Without this change setting kern.cam.ada.default_timeout to 1 instead of 30 allowed me to trigger several false positive command timeouts under heavy ZFS load on a SiI3132 siis(4) controller with 5 HDDs on a port multiplier. MFC after: 1 week END K 10 svn:author V 3 ken K 8 svn:date V 27 2012-02-02T19:03:29.366349Z K 7 svn:log V 1016 MFC 230592: Bring in the LSI-supported version of the mps(4) driver. This involves significant changes to the mps(4) driver, but is not a complete rewrite. Some of the changes in this version of the driver: - Integrated RAID (IR) support. - Support for WarpDrive controllers. - Support for SCSI protection information (EEDP). - Support for TLR (Transport Level Retries), needed for tape drives. - Improved error recovery code. - ioctl interface compatible with LSI utilities. mps.4: Update the mps(4) driver man page somewhat for the driver changes. The list of supported hardware still needs to be updated to reflect the full list of supported cards. conf/files: Add the new driver files. mps/mpi/*: Updated version of the MPI header files, with a BSD style copyright. mps/*: See above for a description of the new driver features. modules/mps/Makefile: Add the new mps(4) driver files. Submitted by: Kashyap Desai Sponsored by: LSI, Spectra Logic Reviewed by: ken END K 10 svn:author V 6 adrian K 8 svn:date V 27 2012-02-02T21:04:24.168027Z K 7 svn:log V 54 Add some missing radar config parameters to athradar. END K 10 svn:author V 3 jfv K 8 svn:date V 27 2012-02-03T01:36:02.854106Z K 7 svn:log V 181 MFC of the latest ixgbe driver. Revisions included: 209602,209603,209607,209609,209622,215911, 215913,215914,215924,217129,217556,222588, 222592,225405,229767,230329,230775,230790 END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2012-02-03T01:59:16.410079Z K 7 svn:log V 61 Fix a couple of "if (error)" cases for the new NFSv4.1 code. END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2012-02-03T02:06:14.471961Z K 7 svn:log V 20 Whitespace removal. END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2012-02-03T02:15:59.262904Z K 7 svn:log V 105 Add the macro that does mtx_destroy() to the code that frees up Date Server (DS) information structures. END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2012-02-03T03:05:41.410817Z K 7 svn:log V 900 MFC: r230345 Martin Cracauer reported a problem to freebsd-current@ under the subject "Data corruption over NFS in -current". During investigation of this, I came across an ugly bogusity in the new NFS client where it replaced the cr_uid with the one used for the mount. This was done so that "system operations" like the NFSv4 Renew would be performed as the user that did the mount. However, if any other thread shares the credential with the one doing this operation, it could do an RPC (or just about anything else) as the wrong cr_uid. This patch fixes the above, by using the mount credentials instead of the one provided as an argument for this case. It appears to have fixed Martin's problem. This patch is needed for NFSv4 mounts and NFSv3 mounts against some non-FreeBSD servers that do not put post operation attributes in the NFSv3 Statfs RPC reply. Tested by: cracauer at cons.org, dim END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T03:11:08.317301Z K 7 svn:log V 109 Create a working branch for the implementation of multi-FIB IPv6 support. Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2012-02-03T03:41:43.641220Z K 7 svn:log V 862 MFC: r230345 Martin Cracauer reported a problem to freebsd-current@ under the subject "Data corruption over NFS in -current". During investigation of this, I came across an ugly bogusity in the new NFS client where it replaced the cr_uid with the one used for the mount. This was done so that "system operations" like the NFSv4 Renew would be performed as the user that did the mount. However, if any other thread shares the credential with the one doing this operation, it could do an RPC (or just about anything else) as the wrong cr_uid. This patch fixes the above, by using the mount credentials instead of the one provided as an argument for this case. It appears to have fixed Martin's problem. This patch is needed for NFSv4 mounts and NFSv3 mounts against some non-FreeBSD servers that do not put post operation attributes in the NFSv3 Statfs RPC reply. END K 10 svn:author V 3 jfv K 8 svn:date V 27 2012-02-03T05:00:43.330277Z K 7 svn:log V 33 MFC did not get the new files... END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T08:50:19.575382Z K 7 svn:log V 182 In preparation for multi-FIB IPv6 support, factor the code for joining and leaving multicast groups out from in6_update_ifa() and in6_purgeaddr(). Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T09:06:24.859085Z K 7 svn:log V 203 Rather than putting magic 0s as FIB argument into the rt* calls, provide a macro RT_DEFAULT_FIB defined to 0 to more easily identify the cases tied to the default FIB. Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2012-02-03T09:07:53.697166Z K 7 svn:log V 124 Print the owner process for unix domain sockets when restricted to the specified files. PR: bin/143962 MFC after: 2 weeks END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T09:23:55.583054Z K 7 svn:log V 251 Allow for IPv6 to allocate (and in the VIMAGE case free) as many routing tables (FIBs) as IPv4. Prepare various general rt* functions for multi-FIB IPv6 handling in addition to already existing multi-FIB IPv4 cases. Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T09:33:58.429999Z K 7 svn:log V 101 Provide the IPv6 counterpart to the extended IPv4 rtalloc(9) KPI. Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T10:17:34.949285Z K 7 svn:log V 285 Fix FLOWTABLE IPv6 handling in route.c missed in r205066. While doing so, for consistency with the rtalloc_ign_fib(9) interface called, remove the "in_" prefix from rtalloc_ign_wrapper() no longer indicating that it would only handle the INET case. Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T11:00:53.698544Z K 7 svn:log V 179 Add SO_SETFIB option support on PF_INET6 sockets and allow inheriting the FIB number from the process, as set by setfib(2), on socket creation. Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T11:20:11.193176Z K 7 svn:log V 133 Minor optimization doing input validation with a possible early return before doing further work. Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T12:25:14.129687Z K 7 svn:log V 635 Move a comment from rtinit1() to the top of the file where dealing with the (maximum) number of FIBs trying to clarify that evetually FIBs should probably attached to domain(9) specific storage. [1] Add a comment on a limitimation on the rt_add_addr_allfibs option. Use RT_DEFAULT_FIB instead of 0 where applicable. Add empty line to functions without local variables per style. Put public yet unused in-tree function rtinit_fib() under BURN_BRIDGES to indicate that it might go away in the future. No functional change. Discussed with: julian [1] (clarification on what the original one meant) Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 5 gabor K 8 svn:date V 27 2012-02-03T12:39:04.719356Z K 7 svn:log V 98 - Add some work-in-progress code for the multiple pattern interface and the Wu-Manber algorithm END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T13:08:44.491356Z K 7 svn:log V 1155 Add multi-FIB IPv6 support to the core network stack supplementing the original IPv4 implementation from r178888: - Use RT_DEFAULT_FIB in the IPv4 implementation where noticed. - Use rt*fib() KPI with explicit RT_DEFAULT_FIB where applicable in the NFS code. - Use the new in6_rt* KPI in TCP, gif(4), and the IPv6 network stack where applicable. - Split in6_rtqtimo() and in6_mtutimo() as done in IPv4 and equally prevent multiple initializations of callouts in in6_inithead(). - Use wrapper functions where needed to preserve the current KPI to ease MFCs. Use BURN_BRIDGES to indicate expected future cleanup. - Fix (related) comments (both technical or style). - Convert to rtinit() where applicable and only use custom loops where currently not possible otherwise. - Multicast group, most neighbor discovery address actions and faith(4) are locked to the default FIB. Individual IPv6 addresses will only appear in the default FIB, however redirect information and prefixes of connected subnets are automatically propagated to all FIBs by default (mimicking IPv4 behavior as closely as possible). Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T13:12:42.354180Z K 7 svn:log V 147 Make ipfw verify_path6() multi-FIB aware. The "fib" and "setfib" keywords implementations need no adjustments. Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T13:20:48.894655Z K 7 svn:log V 355 Extend IPv6 routing lookups in pf(4) to use the new multi-FIB KPI. Try to make the "rtable" handling work but the current version of pf(4) does not fully support it yet as especially callers of PF_MISMATCHAW() are not fully FIB-aware. OpenBSD seems to have fixed this in a later version. Prepare as much as possible. Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 mm K 8 svn:date V 27 2012-02-03T13:40:51.546438Z K 7 svn:log V 96 Revert r230913 and r230914. The initialization was correct, the problem needs deeper analysis. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T13:54:25.532128Z K 7 svn:log V 210 Fix the upper limit bounds checking for the "rtables" keyword wrapping it in a function to dynamically query the currently supported number of FIBs by the kernel for FreeBSD. Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T15:26:55.485745Z K 7 svn:log V 210 Teach netstat -r (display contents of routing tables) about multi-FIB for IPv6 in addition to IPv4. While here harmonize naming of variables a bit with what we use in kernel. Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T15:31:47.280616Z K 7 svn:log V 105 Install the IPv6 reject routes we do for the default FIB to all FIBs. Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T15:33:55.383346Z K 7 svn:log V 105 Document the fact that faith(4) is only available on the default FIB. Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-02-03T15:39:13.706182Z K 7 svn:log V 283 Document the fact that multi-FIB support for SCTP had been backed out in r179783 as (ab)using the concept of VRFs for this had not worked. At this point SCTP in FreeBSD does not support multi-FIB, neither for IPv4 nor for IPv6. Discussed with: rrs Sponsored by: Cisco Systems, Inc. END K 10 svn:author V 2 ed K 8 svn:date V 27 2012-02-03T17:36:32.170735Z K 7 svn:log V 346 MFC r226785: Attempt to fix build logic for gensnmptree. There are two problems with the existing logic. It builds gensnmptree on <700018, even if WITHOUT_BSNMP is set, but more importantly, we must not forget to build gensnmptree on systems that have originally been built without. This causes a buildworld on those systems to fail. END K 10 svn:author V 2 ed K 8 svn:date V 27 2012-02-03T17:50:39.507650Z K 7 svn:log V 305 MFC r227314: Ensure pam_lastlog removes the /dev/ component of the TTY name. Some consumers of PAM remove the /dev/ component (i.e. login), while others don't (i.e. su). We must ensure that the /dev/ component is removed to ensure that the utmpx entries properly work with tools such as w(1). END K 10 svn:author V 2 ed K 8 svn:date V 27 2012-02-03T18:48:40.075896Z K 7 svn:log V 305 MFC r226610: Add missing #includes. According to POSIX, these two header files should be able to be included by themselves, not depending on other headers. The header uses struct sockaddr when __BSD_VISIBLE=1, while uses integer datatypes (u_int32_t, u_short, etc). END K 10 svn:author V 3 kib K 8 svn:date V 27 2012-02-03T20:20:30.138776Z K 7 svn:log V 54 tijl is on his own now. Approved by: core (implicit) END K 10 svn:author V 6 jilles K 8 svn:date V 27 2012-02-03T20:24:18.597038Z K 7 svn:log V 661 MFC r228510: Fix select/poll/kqueue for write on reverse direction before first write. The reverse direction of a pipe is lazily allocated on the first write in that direction (because pipes are usually used in one direction only). A special case is needed to ensure the pipe appears writable before the first write because there are 0 bytes of pending data in 0 bytes of buffer space at that point, leaving 0 bytes of data that can be written with the normal code. Note that the first write returns [ENOMEM] if kern.ipc.maxpipekva is exceeded and does not block or return [EAGAIN], so selecting true for write is correct even in that case. PR: kern/93685 END