]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
16 years agoAdd an ability to run man(1) on local files (the argument should
ru [Wed, 14 May 2008 17:08:31 +0000 (17:08 +0000)]
Add an ability to run man(1) on local files (the argument should
contain a `/' character); based on the submission in the PR.

PR: bin/120730
MFC after: 1 week

16 years agoMake -t <tty> optional in server mode. If not specified use stdin/stdout.
emax [Wed, 14 May 2008 16:47:30 +0000 (16:47 +0000)]
Make -t <tty> optional in server mode. If not specified use stdin/stdout.
Document this. Do not require channel number in server mode. If not
specified - bind to ''wildcard'' channel zero. Real channel number will
be obtained automatically and registered with local sdpd(8). While I'm
here fix serial port service registration.

Submitted by: luigi
Tested by: Helge Oldach <freebsd-bluetooth at oldach dot net>
MFC after: 3 days

16 years agoAdd the devctl notifications for the cdev create/destroy events.
kib [Wed, 14 May 2008 14:29:54 +0000 (14:29 +0000)]
Add the devctl notifications for the cdev create/destroy events.

Based on the submission by: Andriy Gapon <avg icyb net ua>
MFC after: 2 weeks

16 years agostyle(9): remove FreeBSD CVS ID from the initial license comment.
rpaulo [Wed, 14 May 2008 10:02:25 +0000 (10:02 +0000)]
style(9): remove FreeBSD CVS ID from the initial license comment.

MFC after: 1 day

16 years agoActually, don't rely on the unsafe MAX() macro. Use imax() as provided
rpaulo [Wed, 14 May 2008 09:57:21 +0000 (09:57 +0000)]
Actually, don't rely on the unsafe MAX() macro. Use imax() as provided
in the PR patch.

Pointed out by: bde
PR: 123542

16 years agoFix pstat behaviour when using coredumps. The reference to tp was
remko [Wed, 14 May 2008 00:22:57 +0000 (00:22 +0000)]
Fix pstat behaviour when using coredumps. The reference to tp was
incorrect and should have been poining to &tty, tp is a virtual
address from the coredump, while we should obtain the address through
the tty struct.

Approved by: imp (mentor, implicit trivial changes)
MFC after: 1 week
Submitted by: Ed Schouten (ed at 80836 dot nl)

16 years agoAdd a -8 switch to syslogd to prevent it from mangling 8-bit data.
brian [Wed, 14 May 2008 00:22:21 +0000 (00:22 +0000)]
Add a -8 switch to syslogd to prevent it from mangling 8-bit data.

16 years agoFix #2.
adrian [Tue, 13 May 2008 23:24:06 +0000 (23:24 +0000)]
Fix #2.

16 years agoFix whitespace bug introduced a couple commits ago.
adrian [Tue, 13 May 2008 23:07:42 +0000 (23:07 +0000)]
Fix whitespace bug introduced a couple commits ago.

16 years agoBSDCan update #2.
adrian [Tue, 13 May 2008 22:46:13 +0000 (22:46 +0000)]
BSDCan update #2.

16 years agoBSDCan calendar file update #1.
adrian [Tue, 13 May 2008 22:27:32 +0000 (22:27 +0000)]
BSDCan calendar file update #1.

16 years agoBump modification date.
remko [Tue, 13 May 2008 21:51:35 +0000 (21:51 +0000)]
Bump modification date.

16 years agoThe first of thirteen patches by Ed that resolves a documentation
remko [Tue, 13 May 2008 21:51:02 +0000 (21:51 +0000)]
The first of thirteen patches by Ed that resolves a documentation
issue in termios.4, ttydefaults.h does not exist in /usr/include
but in /usr/include/sys.

MFC after: 3 days
Submitted by: Ed Schouten (ed at 80386 dot nl)

16 years agoDon't let hacksync() call bus_dmamap_sync(9) on DMA maps which
marius [Tue, 13 May 2008 20:58:08 +0000 (20:58 +0000)]
Don't let hacksync() call bus_dmamap_sync(9) on DMA maps which
are not initialized. This fixes a panic on sparc64 where calling
bus_dmamap_sync(9) on NULL DMA maps is fatal.

Approved by: sam

16 years agoRegen.
rdivacky [Tue, 13 May 2008 20:02:26 +0000 (20:02 +0000)]
Regen.

Approved by: kib (mentor)

16 years agoImplement robust futexes. Most of the code is modelled after
rdivacky [Tue, 13 May 2008 20:01:27 +0000 (20:01 +0000)]
Implement robust futexes. Most of the code is modelled after
what Linux does. This is because robust futexes are mostly
userspace thing which we cannot alter. Two syscalls maintain
pointer to userspace list and when process exits a routine
walks this list waking up processes sleeping on futexes
from that list.

Reviewed by: kib (mentor)
MFC after: 1 month

16 years agoFrom the OpenBSD commit log :
cognet [Tue, 13 May 2008 14:00:09 +0000 (14:00 +0000)]
From the OpenBSD commit log :
Add support for the Apple USB Ethernet adapter.
Work around the "latch in at the first working PHY address hack",
that fails for this adapter because it returns 0xffff when reading
from lower PHY addresses. Also add more debugging printfs

Obtained from: OpenBSD
MFC After: 3 days

16 years agoReplace the ee with the ed to resolve disk overflow.
nyan [Tue, 13 May 2008 11:51:19 +0000 (11:51 +0000)]
Replace the ee with the ed to resolve disk overflow.

16 years agoImprove temporary file handling
kevlo [Tue, 13 May 2008 09:42:03 +0000 (09:42 +0000)]
Improve temporary file handling

Obtained from: OpenBSD

16 years ago- Set sc->dev to the new-bus device_t so all the device_printf()s work.
jhb [Mon, 12 May 2008 21:34:52 +0000 (21:34 +0000)]
- Set sc->dev to the new-bus device_t so all the device_printf()s work.
- Add a missing newline to a printf.

MFC after: 1 week
Submitted by: Andriy Gapon  avg <> icyb.net.ua

16 years agoFor the sake of the log, revision 1.353 was bumped for setfib(2) and
ceri [Mon, 12 May 2008 20:12:34 +0000 (20:12 +0000)]
For the sake of the log, revision 1.353 was bumped for setfib(2) and
multiple routing table support.

16 years agoAdd support for management apps. Work around an apparent firmware bug that
scottl [Mon, 12 May 2008 14:09:19 +0000 (14:09 +0000)]
Add support for management apps.  Work around an apparent firmware bug that
results in hung i/o if more than 128 commands are scheduled for an array.

16 years agoDon't require a configuration file. Ntpd will be perfectly happy if there's
flz [Mon, 12 May 2008 11:49:16 +0000 (11:49 +0000)]
Don't require a configuration file. Ntpd will be perfectly happy if there's
none or if the file doesn't exist (there's no ntp.conf in the base install).

PR: conf/119592
Submitted by: Renaud Waldura <renaud+freebsd@waldura.org>
MFC after: 1 week

16 years agoTypo fixes.
brueffer [Mon, 12 May 2008 08:53:02 +0000 (08:53 +0000)]
Typo fixes.

16 years agofix typo in runz_fuzz
julian [Mon, 12 May 2008 06:42:06 +0000 (06:42 +0000)]
fix typo in runz_fuzz
noticed by:Elijah Buck

16 years agoFix the loopback interface. Cleaning up some code with new macros
gnn [Mon, 12 May 2008 02:44:53 +0000 (02:44 +0000)]
Fix the loopback interface.  Cleaning up some code with new macros
was a tad too aggressive.

PR: kern/123568
Submitted by: Vladimir Ermakov <samflanker at gmail dot com>
Obtained from: antoine

16 years agodeclare ieee80211_phymode_name with an array size
sam [Mon, 12 May 2008 00:34:28 +0000 (00:34 +0000)]
declare ieee80211_phymode_name with an array size

16 years agoUpdate PLCP<->rate mapping support:
sam [Mon, 12 May 2008 00:32:52 +0000 (00:32 +0000)]
Update PLCP<->rate mapping support:
o correct mapping of CCK rates to PLCP; was using nonstandard Ralink
  values which just happened to also be used by Zydas (so went unnoticed)
o change ieee80211_plcp2rate api to take a phy type instead of a flag
  that indicates ofdm/!ofdm
o update drivers to match (restore per-driver code to map rate->PLCP)

Reviewed by: sephe, weongyo, thompsa

16 years agoMinor cleanup of vap create work:
sam [Mon, 12 May 2008 00:15:30 +0000 (00:15 +0000)]
Minor cleanup of vap create work:
o add IEEE80211_C_STA capability to indicate sta mode is supported
  (was previously assumed) and mark drivers as capable
o add ieee80211_opcap array to map an opmode to the equivalent capability bit
o move IEEE80211_C_OPMODE definition to where capabilities are defined so it's
  clear it should be kept in sync (on future additions)
o check device capabilities in clone create before trying to create a vap;
  this makes driver checks unneeded
o make error codes return on failed clone request unique
o temporarily add console printfs on clone request failures to aid in
  debugging; these will move under DIAGNOSTIC or similar before release

16 years agowe have a DFS capability now so enable check
sam [Sun, 11 May 2008 23:36:58 +0000 (23:36 +0000)]
we have a DFS capability now so enable check

16 years agouse c99-style initialization for ieee80211_phymode_name
sam [Sun, 11 May 2008 23:33:56 +0000 (23:33 +0000)]
use c99-style initialization for ieee80211_phymode_name

16 years agoadd DFS capability bit and use it to auto-enable DFS support
sam [Sun, 11 May 2008 23:32:07 +0000 (23:32 +0000)]
add DFS capability bit and use it to auto-enable DFS support

16 years agouse the current left edge of the BA window when forming ADDBA request
sam [Sun, 11 May 2008 23:27:57 +0000 (23:27 +0000)]
use the current left edge of the BA window when forming ADDBA request
so an existing session is re-established with the correct seq#

16 years agoadd PLCP service bit definitions
sam [Sun, 11 May 2008 23:20:26 +0000 (23:20 +0000)]
add PLCP service bit definitions

16 years agomove inline keyword to silence compiler complaints
sam [Sun, 11 May 2008 23:18:11 +0000 (23:18 +0000)]
move inline keyword to silence compiler complaints

16 years agoChange the check for cpu_high to actually match CPUID 0x06.
rpaulo [Sun, 11 May 2008 23:17:57 +0000 (23:17 +0000)]
Change the check for cpu_high to actually match CPUID 0x06.

Submitted by: Arthur Hartwig <arthur.hartwig at nokia.com>
PR: 122878
MFC after: 3 days

16 years agoDon't use libkern's max() function as that's for unsigned numbers only.
rpaulo [Sun, 11 May 2008 23:14:07 +0000 (23:14 +0000)]
Don't use libkern's max() function as that's for unsigned numbers only.
Instead use the worldwide known MAX() function.
This should fix problems with negative values showing up on
dev.cpu.%d.temperature.
This is slightly different from the fix in the PR.

Submitted by: KOIE Hidetaka <hide at koie.org>
PR: 123542

16 years agofix typo's that broke duration calculation on protection frames
sam [Sun, 11 May 2008 22:11:01 +0000 (22:11 +0000)]
fix typo's that broke duration calculation on protection frames

16 years agoCorrect an error in pmap_align_superpage(). Specifically, correctly
alc [Sun, 11 May 2008 20:33:47 +0000 (20:33 +0000)]
Correct an error in pmap_align_superpage().  Specifically, correctly
handle the case where the mapping is greater than a superpage in size
but the alignment of the physical pages spans a superpage boundary.

16 years agoBetter to just statically set the name vs. determine at run time.
obrien [Sun, 11 May 2008 17:23:57 +0000 (17:23 +0000)]
Better to just statically set the name vs. determine at run time.

16 years agoAdd the ed and remove the vi.
nyan [Sun, 11 May 2008 14:25:24 +0000 (14:25 +0000)]
Add the ed and remove the vi.
This fixes a disk-full error.

16 years agoAdd manpage links to krb5_principal.3.
dfr [Sun, 11 May 2008 10:32:37 +0000 (10:32 +0000)]
Add manpage links to krb5_principal.3.

16 years agoDon't try to make links to manpages that no longer exist. Fixes installworld
dfr [Sun, 11 May 2008 08:27:17 +0000 (08:27 +0000)]
Don't try to make links to manpages that no longer exist. Fixes installworld

Submitted by: phk

16 years agoSync program name agnostic changes with SADE.
obrien [Sun, 11 May 2008 07:18:22 +0000 (07:18 +0000)]
Sync program name agnostic changes with SADE.

16 years agoClean up several instances of SADE calling itself sysinstall.
obrien [Sun, 11 May 2008 07:13:08 +0000 (07:13 +0000)]
Clean up several instances of SADE calling itself sysinstall.
(do so generically so the same set of changes can be applied to sysinstall)

16 years agoUpdate HARDWARE section.
joel [Sun, 11 May 2008 06:40:04 +0000 (06:40 +0000)]
Update HARDWARE section.

16 years agoCommit missing mips libthr support that I thought I'd committed earlier
imp [Sun, 11 May 2008 05:54:52 +0000 (05:54 +0000)]
Commit missing mips libthr support that I thought I'd committed earlier

16 years agoProvide the new argument to kmem_suballoc().
alc [Sat, 10 May 2008 23:39:27 +0000 (23:39 +0000)]
Provide the new argument to kmem_suballoc().

16 years agoIntroduce a new parameter "superpage_align" to kmem_suballoc() that is
alc [Sat, 10 May 2008 21:46:20 +0000 (21:46 +0000)]
Introduce a new parameter "superpage_align" to kmem_suballoc() that is
used to request superpage alignment for the submap.

Request superpage alignment for the kmem_map.

Pass VMFS_ANY_SPACE instead of TRUE to vm_map_find().  (They are currently
equivalent but VMFS_ANY_SPACE is the new preferred spelling.)

Remove a stale comment from kmem_malloc().

16 years agoAdd -mno-sse3 for amd64 case too
ache [Sat, 10 May 2008 20:46:07 +0000 (20:46 +0000)]
Add -mno-sse3 for amd64 case too

PR:             123518
Submitted by:   Marc Olzheim <marcolz@stack.nl>

16 years agoOnly start the vaps if the init routine completed.
thompsa [Sat, 10 May 2008 20:25:59 +0000 (20:25 +0000)]
Only start the vaps if the init routine completed.

16 years ago- Associate from a taskq as we can deadlock on the ndis hal and the com lock.
thompsa [Sat, 10 May 2008 20:12:43 +0000 (20:12 +0000)]
- Associate from a taskq as we can deadlock on the ndis hal and the com lock.
- Remove double vap init (ieee80211_start_all)
- Keep ic_curchan in sync with the scan results.

16 years agoPartially revert the last rev. Do call ndis_setstate_80211() when we up the
thompsa [Sat, 10 May 2008 20:07:00 +0000 (20:07 +0000)]
Partially revert the last rev. Do call ndis_setstate_80211() when we up the
interface but break out the associate code into a separate function. This fixes
association with an 11b Apple Airport.

Reported by: Ted Lindgreen

16 years agoGeneralize vm_map_find(9)'s parameter "find_space". Specifically, add
alc [Sat, 10 May 2008 18:55:35 +0000 (18:55 +0000)]
Generalize vm_map_find(9)'s parameter "find_space".  Specifically, add
support for VMFS_ALIGNED_SPACE, which requests the allocation of an
address range best suited to superpages.  The old options TRUE and FALSE
are mapped to VMFS_ANY_SPACE and VMFS_NO_SPACE, so that there is no
immediate need to update all of vm_map_find(9)'s callers.

While I'm here, correct a misstatement about vm_map_find(9)'s return
values in the man page.

16 years agoDocument freebsd extensions to netcat a bit better:
antoine [Sat, 10 May 2008 18:50:45 +0000 (18:50 +0000)]
Document freebsd extensions to netcat a bit better:
- sort the options
- document -o and -O everywhere

Reviewed by: delphij
Approved by: rwatson (mentor)

16 years agoAdd more obsolete files.
antoine [Sat, 10 May 2008 18:43:22 +0000 (18:43 +0000)]
Add more obsolete files.

Approved by: rwatson (mentor)

16 years agoRemove useless call to getdtablesize(2) in fdopen(3) and its useless
antoine [Sat, 10 May 2008 18:39:20 +0000 (18:39 +0000)]
Remove useless call to getdtablesize(2) in fdopen(3) and its useless
variable nofile.

PR: 123109
Submitted by: Christoph Mallon
Approved by: rwatson (mentor)
MFC after: 1 month

16 years agoAdd missing braces in #if 0ed code.
antoine [Sat, 10 May 2008 18:33:38 +0000 (18:33 +0000)]
Add missing braces in #if 0ed code.

Approved by: rwatson (mentor)
MFC after: 1 month

16 years agoChange two variables to size_t to improve portability.
julian [Sat, 10 May 2008 15:02:56 +0000 (15:02 +0000)]
Change two variables to size_t to improve portability.
Submitted by: Xin Li

16 years ago- Fix panic on detach.
simokawa [Sat, 10 May 2008 13:40:42 +0000 (13:40 +0000)]
- Fix panic on detach.
- Fix a comment.

MFC after: 2 weeks

16 years agoKqueue_scan() may sleep when encountered the influx knotes. On the other
kib [Sat, 10 May 2008 11:37:05 +0000 (11:37 +0000)]
Kqueue_scan() may sleep when encountered the influx knotes. On the other
hand, it may cause other threads to sleep since kqueue_scan() may mark
some knotes as infux. This could lead to the deadlock.

Before kqueue_scan() sleeps, wakeup the threads that are waiting for the
influx knotes produced by this thread.

Tested by: pho (previous version)
Reviewed by: jmg
MFC after: 2 weeks

16 years agoThe kqueue_close() encountering the KN_INFLUX knotes on the kq being
kib [Sat, 10 May 2008 11:35:32 +0000 (11:35 +0000)]
The kqueue_close() encountering the KN_INFLUX knotes on the kq being
closed is the legitimate situation. For instance, filedescriptor with
registered events may be closed in parallel with closing the kqueue.
Properly handle the case instead of asserting that this cannot happen.

Reported and tested by: pho
Reviewed by: jmg
MFC after: 2 weeks

16 years agoFix build.
delphij [Sat, 10 May 2008 09:22:17 +0000 (09:22 +0000)]
Fix build.

16 years ago- Disable interrupts on suspend to eliminate excessive
simokawa [Sat, 10 May 2008 09:22:06 +0000 (09:22 +0000)]
- Disable interrupts on suspend to eliminate excessive
  'device physically ejected?' message on resume.
- Fix memory leak on resume reported by kiyohara at netbsd.org.

MFC after: 2 weeks

16 years agoMisc mdoc improvements.
brueffer [Sat, 10 May 2008 07:36:47 +0000 (07:36 +0000)]
Misc mdoc improvements.

16 years agoMisc mdoc improvements and a typo fix.
brueffer [Sat, 10 May 2008 07:31:34 +0000 (07:31 +0000)]
Misc mdoc improvements and a typo fix.

16 years agoRemove extraneous .Ed, correct SEE ALSO section.
brueffer [Sat, 10 May 2008 06:46:58 +0000 (06:46 +0000)]
Remove extraneous .Ed, correct SEE ALSO section.

16 years agomove a #define from a place it shouldn't have been to a place it should
julian [Sat, 10 May 2008 04:32:58 +0000 (04:32 +0000)]
move a #define from a place it shouldn't have been to a place it should
have been.  Basically my testign didn't ocver one case that this broke.
thanks tinderbox!

16 years agoundef MAXFIBS before redefining it
julian [Sat, 10 May 2008 04:15:21 +0000 (04:15 +0000)]
undef MAXFIBS before redefining it

16 years agoAdd support for LSI 1078DE (ServeRAID-AR10is SAS/SATA
delphij [Sat, 10 May 2008 01:27:23 +0000 (01:27 +0000)]
Add support for LSI 1078DE (ServeRAID-AR10is SAS/SATA
Controller)

MFC after: 2 weeks

16 years agoallow setfib to be compiled.
julian [Sat, 10 May 2008 00:43:13 +0000 (00:43 +0000)]
allow setfib to be compiled.

16 years agoMax's changes got left out of the MRT commit.
julian [Fri, 9 May 2008 23:53:01 +0000 (23:53 +0000)]
Max's changes got left out of the MRT commit.

16 years agoAdd a stub for pmap_align_superpage() on machines that don't (yet)
alc [Fri, 9 May 2008 23:31:42 +0000 (23:31 +0000)]
Add a stub for pmap_align_superpage() on machines that don't (yet)
implement pmap-level support for superpages.

16 years agobump __FreeBSD_version
julian [Fri, 9 May 2008 23:15:56 +0000 (23:15 +0000)]
bump __FreeBSD_version

16 years agoAdd a note about multiple routing tables support
julian [Fri, 9 May 2008 23:14:01 +0000 (23:14 +0000)]
Add a note about multiple routing tables support

16 years agoAdd setfib.2 to the list of man pages to add
julian [Fri, 9 May 2008 23:09:56 +0000 (23:09 +0000)]
Add setfib.2 to the list of man pages to add

16 years agosetfib.2 got left out of the last commit
julian [Fri, 9 May 2008 23:08:40 +0000 (23:08 +0000)]
setfib.2 got left out of the last commit

16 years agoAdd code to allow the system to handle multiple routing tables.
julian [Fri, 9 May 2008 23:03:00 +0000 (23:03 +0000)]
Add code to allow the system to handle multiple routing tables.
This particular implementation is designed to be fully backwards compatible
and to be MFC-able to 7.x (and 6.x)

Currently the only protocol that can make use of the multiple tables is IPv4
Similar functionality exists in OpenBSD and Linux.

From my notes:

-----

  One thing where FreeBSD has been falling behind, and which by chance I
  have some time to work on is "policy based routing", which allows
  different
  packet streams to be routed by more than just the destination address.

  Constraints:
  ------------

  I want to make some form of this available in the 6.x tree
  (and by extension 7.x) , but FreeBSD in general needs it so I might as
  well do it in -current and back port the portions I need.

  One of the ways that this can be done is to have the ability to
  instantiate multiple kernel routing tables (which I will now
  refer to as "Forwarding Information Bases" or "FIBs" for political
  correctness reasons). Which FIB a particular packet uses to make
  the next hop decision can be decided by a number of mechanisms.
  The policies these mechanisms implement are the "Policies" referred
  to in "Policy based routing".

  One of the constraints I have if I try to back port this work to
  6.x is that it must be implemented as a EXTENSION to the existing
  ABIs in 6.x so that third party applications do not need to be
  recompiled in timespan of the branch.

  This first version will not have some of the bells and whistles that
  will come with later versions. It will, for example, be limited to 16
  tables in the first commit.
  Implementation method, Compatible version. (part 1)
  -------------------------------
  For this reason I have implemented a "sufficient subset" of a
  multiple routing table solution in Perforce, and back-ported it
  to 6.x. (also in Perforce though not  always caught up with what I
  have done in -current/P4). The subset allows a number of FIBs
  to be defined at compile time (8 is sufficient for my purposes in 6.x)
  and implements the changes needed to allow IPV4 to use them. I have not
  done the changes for ipv6 simply because I do not need it, and I do not
  have enough knowledge of ipv6 (e.g. neighbor discovery) needed to do it.

  Other protocol families are left untouched and should there be
  users with proprietary protocol families, they should continue to work
  and be oblivious to the existence of the extra FIBs.

  To understand how this is done, one must know that the current FIB
  code starts everything off with a single dimensional array of
  pointers to FIB head structures (One per protocol family), each of
  which in turn points to the trie of routes available to that family.

  The basic change in the ABI compatible version of the change is to
  extent that array to be a 2 dimensional array, so that
  instead of protocol family X looking at rt_tables[X] for the
  table it needs, it looks at rt_tables[Y][X] when for all
  protocol families except ipv4 Y is always 0.
  Code that is unaware of the change always just sees the first row
  of the table, which of course looks just like the one dimensional
  array that existed before.

  The entry points rtrequest(), rtalloc(), rtalloc1(), rtalloc_ign()
  are all maintained, but refer only to the first row of the array,
  so that existing callers in proprietary protocols can continue to
  do the "right thing".
  Some new entry points are added, for the exclusive use of ipv4 code
  called in_rtrequest(), in_rtalloc(), in_rtalloc1() and in_rtalloc_ign(),
  which have an extra argument which refers the code to the correct row.

  In addition, there are some new entry points (currently called
  rtalloc_fib() and friends) that check the Address family being
  looked up and call either rtalloc() (and friends) if the protocol
  is not IPv4 forcing the action to row 0 or to the appropriate row
  if it IS IPv4 (and that info is available). These are for calling
  from code that is not specific to any particular protocol. The way
  these are implemented would change in the non ABI preserving code
  to be added later.

  One feature of the first version of the code is that for ipv4,
  the interface routes show up automatically on all the FIBs, so
  that no matter what FIB you select you always have the basic
  direct attached hosts available to you. (rtinit() does this
  automatically).

  You CAN delete an interface route from one FIB should you want
  to but by default it's there. ARP information is also available
  in each FIB. It's assumed that the same machine would have the
  same MAC address, regardless of which FIB you are using to get
  to it.

  This brings us as to how the correct FIB is selected for an outgoing
  IPV4 packet.

  Firstly, all packets have a FIB associated with them. if nothing
  has been done to change it, it will be FIB 0. The FIB is changed
  in the following ways.

  Packets fall into one of a number of classes.

  1/ locally generated packets, coming from a socket/PCB.
     Such packets select a FIB from a number associated with the
     socket/PCB. This in turn is inherited from the process,
     but can be changed by a socket option. The process in turn
     inherits it on fork. I have written a utility call setfib
     that acts a bit like nice..

         setfib -3 ping target.example.com # will use fib 3 for ping.

     It is an obvious extension to make it a property of a jail
     but I have not done so. It can be achieved by combining the setfib and
     jail commands.

  2/ packets received on an interface for forwarding.
     By default these packets would use table 0,
     (or possibly a number settable in a sysctl(not yet)).
     but prior to routing the firewall can inspect them (see below).
     (possibly in the future you may be able to associate a FIB
     with packets received on an interface..  An ifconfig arg, but not yet.)

  3/ packets inspected by a packet classifier, which can arbitrarily
     associate a fib with it on a packet by packet basis.
     A fib assigned to a packet by a packet classifier
     (such as ipfw) would over-ride a fib associated by
     a more default source. (such as cases 1 or 2).

  4/ a tcp listen socket associated with a fib will generate
     accept sockets that are associated with that same fib.

  5/ Packets generated in response to some other packet (e.g. reset
     or icmp packets). These should use the FIB associated with the
     packet being reponded to.

  6/ Packets generated during encapsulation.
     gif, tun and other tunnel interfaces will encapsulate using the FIB
     that was in effect withthe proces that set up the tunnel.
     thus setfib 1 ifconfig gif0 [tunnel instructions]
     will set the fib for the tunnel to use to be fib 1.

  Routing messages would be associated with their
  process, and thus select one FIB or another.
  messages from the kernel would be associated with the fib they
  refer to and would only be received by a routing socket associated
  with that fib. (not yet implemented)

  In addition Netstat has been edited to be able to cope with the
  fact that the array is now 2 dimensional. (It looks in system
  memory using libkvm (!)). Old versions of netstat see only the first FIB.

  In addition two sysctls are added to give:
  a) the number of FIBs compiled in (active)
  b) the default FIB of the calling process.

  Early testing experience:
  -------------------------

  Basically our (IronPort's) appliance does this functionality already
  using ipfw fwd but that method has some drawbacks.

  For example,
  It can't fully simulate a routing table because it can't influence the
  socket's choice of local address when a connect() is done.

  Testing during the generating of these changes has been
  remarkably smooth so far. Multiple tables have co-existed
  with no notable side effects, and packets have been routes
  accordingly.

  ipfw has grown 2 new keywords:

  setfib N ip from anay to any
  count ip from any to any fib N

  In pf there seems to be a requirement to be able to give symbolic names to the
  fibs but I do not have that capacity. I am not sure if it is required.

  SCTP has interestingly enough built in support for this, called VRFs
  in Cisco parlance. it will be interesting to see how that handles it
  when it suddenly actually does something.

  Where to next:
  --------------------

  After committing the ABI compatible version and MFCing it, I'd
  like to proceed in a forward direction in -current. this will
  result in some roto-tilling in the routing code.

  Firstly: the current code's idea of having a separate tree per
  protocol family, all of the same format, and pointed to by the
  1 dimensional array is a bit silly. Especially when one considers that
  there is code that makes assumptions about every protocol having the
  same internal structures there. Some protocols don't WANT that
  sort of structure. (for example the whole idea of a netmask is foreign
  to appletalk). This needs to be made opaque to the external code.

  My suggested first change is to add routing method pointers to the
  'domain' structure, along with information pointing the data.
  instead of having an array of pointers to uniform structures,
  there would be an array pointing to the 'domain' structures
  for each protocol address domain (protocol family),
  and the methods this reached would be called. The methods would have
  an argument that gives FIB number, but the protocol would be free
  to ignore it.

  When the ABI can be changed it raises the possibilty of the
  addition of a fib entry into the "struct route". Currently,
  the structure contains the sockaddr of the desination, and the resulting
  fib entry. To make this work fully, one could add a fib number
  so that given an address and a fib, one can find the third element, the
  fib entry.

  Interaction with the ARP layer/ LL layer would need to be
  revisited as well. Qing Li has been working on this already.

  This work was sponsored by Ironport Systems/Cisco

Reviewed by:    several including rwatson, bz and mlair (parts each)
Obtained from:  Ironport systems/Cisco

16 years agoAdd code to allow the system to handle multiple routing tables.
julian [Fri, 9 May 2008 23:00:22 +0000 (23:00 +0000)]
Add code to allow the system to handle multiple routing tables.
This particular implementation is designed to be fully backwards compatible
and to be MFC-able to 7.x (and 6.x)

Currently the only protocol that can make use of the multiple tables is IPv4
Similar functionality exists in OpenBSD and Linux.

From my notes:

-----

One thing where FreeBSD has been falling behind, and which by chance I
have some time to work on is "policy based routing", which allows
different
packet streams to be routed by more than just the destination address.

Constraints:
------------

I want to make some form of this available in the 6.x tree
(and by extension 7.x) , but FreeBSD in general needs it so I might as
well do it in -current and back port the portions I need.

One of the ways that this can be done is to have the ability to
instantiate multiple kernel routing tables (which I will now
refer to as "Forwarding Information Bases" or "FIBs" for political
correctness reasons). Which FIB a particular packet uses to make
the next hop decision can be decided by a number of mechanisms.
The policies these mechanisms implement are the "Policies" referred
to in "Policy based routing".

One of the constraints I have if I try to back port this work to
6.x is that it must be implemented as a EXTENSION to the existing
ABIs in 6.x so that third party applications do not need to be
recompiled in timespan of the branch.

This first version will not have some of the bells and whistles that
will come with later versions. It will, for example, be limited to 16
tables in the first commit.
Implementation method, Compatible version. (part 1)
-------------------------------
For this reason I have implemented a "sufficient subset" of a
multiple routing table solution in Perforce, and back-ported it
to 6.x. (also in Perforce though not  always caught up with what I
have done in -current/P4). The subset allows a number of FIBs
to be defined at compile time (8 is sufficient for my purposes in 6.x)
and implements the changes needed to allow IPV4 to use them. I have not
done the changes for ipv6 simply because I do not need it, and I do not
have enough knowledge of ipv6 (e.g. neighbor discovery) needed to do it.

Other protocol families are left untouched and should there be
users with proprietary protocol families, they should continue to work
and be oblivious to the existence of the extra FIBs.

To understand how this is done, one must know that the current FIB
code starts everything off with a single dimensional array of
pointers to FIB head structures (One per protocol family), each of
which in turn points to the trie of routes available to that family.

The basic change in the ABI compatible version of the change is to
extent that array to be a 2 dimensional array, so that
instead of protocol family X looking at rt_tables[X] for the
table it needs, it looks at rt_tables[Y][X] when for all
protocol families except ipv4 Y is always 0.
Code that is unaware of the change always just sees the first row
of the table, which of course looks just like the one dimensional
array that existed before.

The entry points rtrequest(), rtalloc(), rtalloc1(), rtalloc_ign()
are all maintained, but refer only to the first row of the array,
so that existing callers in proprietary protocols can continue to
do the "right thing".
Some new entry points are added, for the exclusive use of ipv4 code
called in_rtrequest(), in_rtalloc(), in_rtalloc1() and in_rtalloc_ign(),
which have an extra argument which refers the code to the correct row.

In addition, there are some new entry points (currently called
rtalloc_fib() and friends) that check the Address family being
looked up and call either rtalloc() (and friends) if the protocol
is not IPv4 forcing the action to row 0 or to the appropriate row
if it IS IPv4 (and that info is available). These are for calling
from code that is not specific to any particular protocol. The way
these are implemented would change in the non ABI preserving code
to be added later.

One feature of the first version of the code is that for ipv4,
the interface routes show up automatically on all the FIBs, so
that no matter what FIB you select you always have the basic
direct attached hosts available to you. (rtinit() does this
automatically).

You CAN delete an interface route from one FIB should you want
to but by default it's there. ARP information is also available
in each FIB. It's assumed that the same machine would have the
same MAC address, regardless of which FIB you are using to get
to it.

This brings us as to how the correct FIB is selected for an outgoing
IPV4 packet.

Firstly, all packets have a FIB associated with them. if nothing
has been done to change it, it will be FIB 0. The FIB is changed
in the following ways.

Packets fall into one of a number of classes.

1/ locally generated packets, coming from a socket/PCB.
   Such packets select a FIB from a number associated with the
   socket/PCB. This in turn is inherited from the process,
   but can be changed by a socket option. The process in turn
   inherits it on fork. I have written a utility call setfib
   that acts a bit like nice..

       setfib -3 ping target.example.com # will use fib 3 for ping.

   It is an obvious extension to make it a property of a jail
   but I have not done so. It can be achieved by combining the setfib and
   jail commands.

2/ packets received on an interface for forwarding.
   By default these packets would use table 0,
   (or possibly a number settable in a sysctl(not yet)).
   but prior to routing the firewall can inspect them (see below).
   (possibly in the future you may be able to associate a FIB
   with packets received on an interface..  An ifconfig arg, but not yet.)

3/ packets inspected by a packet classifier, which can arbitrarily
   associate a fib with it on a packet by packet basis.
   A fib assigned to a packet by a packet classifier
   (such as ipfw) would over-ride a fib associated by
   a more default source. (such as cases 1 or 2).

4/ a tcp listen socket associated with a fib will generate
   accept sockets that are associated with that same fib.

5/ Packets generated in response to some other packet (e.g. reset
   or icmp packets). These should use the FIB associated with the
   packet being reponded to.

6/ Packets generated during encapsulation.
   gif, tun and other tunnel interfaces will encapsulate using the FIB
   that was in effect withthe proces that set up the tunnel.
   thus setfib 1 ifconfig gif0 [tunnel instructions]
   will set the fib for the tunnel to use to be fib 1.

Routing messages would be associated with their
process, and thus select one FIB or another.
messages from the kernel would be associated with the fib they
refer to and would only be received by a routing socket associated
with that fib. (not yet implemented)

In addition Netstat has been edited to be able to cope with the
fact that the array is now 2 dimensional. (It looks in system
memory using libkvm (!)). Old versions of netstat see only the first FIB.

In addition two sysctls are added to give:
a) the number of FIBs compiled in (active)
b) the default FIB of the calling process.

Early testing experience:
-------------------------

Basically our (IronPort's) appliance does this functionality already
using ipfw fwd but that method has some drawbacks.

For example,
It can't fully simulate a routing table because it can't influence the
socket's choice of local address when a connect() is done.

Testing during the generating of these changes has been
remarkably smooth so far. Multiple tables have co-existed
with no notable side effects, and packets have been routes
accordingly.

ipfw has grown 2 new keywords:

setfib N ip from anay to any
count ip from any to any fib N

In pf there seems to be a requirement to be able to give symbolic names to the
fibs but I do not have that capacity. I am not sure if it is required.

SCTP has interestingly enough built in support for this, called VRFs
in Cisco parlance. it will be interesting to see how that handles it
when it suddenly actually does something.

Where to next:
--------------------

After committing the ABI compatible version and MFCing it, I'd
like to proceed in a forward direction in -current. this will
result in some roto-tilling in the routing code.

Firstly: the current code's idea of having a separate tree per
protocol family, all of the same format, and pointed to by the
1 dimensional array is a bit silly. Especially when one considers that
there is code that makes assumptions about every protocol having the
same internal structures there. Some protocols don't WANT that
sort of structure. (for example the whole idea of a netmask is foreign
to appletalk). This needs to be made opaque to the external code.

My suggested first change is to add routing method pointers to the
'domain' structure, along with information pointing the data.
instead of having an array of pointers to uniform structures,
there would be an array pointing to the 'domain' structures
for each protocol address domain (protocol family),
and the methods this reached would be called. The methods would have
an argument that gives FIB number, but the protocol would be free
to ignore it.

When the ABI can be changed it raises the possibilty of the
addition of a fib entry into the "struct route". Currently,
the structure contains the sockaddr of the desination, and the resulting
fib entry. To make this work fully, one could add a fib number
so that given an address and a fib, one can find the third element, the
fib entry.

Interaction with the ARP layer/ LL layer would need to be
revisited as well. Qing Li has been working on this already.

This work was sponsored by Ironport Systems/Cisco

PR:
Reviewed by: several including rwatson, bz and mlair (parts each)
Approved by:
Obtained from: Ironport systems/Cisco
MFC after:
Security:

16 years agoAdd code to allow the system to handle multiple routing tables.
julian [Fri, 9 May 2008 23:00:21 +0000 (23:00 +0000)]
Add code to allow the system to handle multiple routing tables.
This particular implementation is designed to be fully backwards compatible
and to be MFC-able to 7.x (and 6.x)

Currently the only protocol that can make use of the multiple tables is IPv4
Similar functionality exists in OpenBSD and Linux.

From my notes:

-----

One thing where FreeBSD has been falling behind, and which by chance I
have some time to work on is "policy based routing", which allows
different
packet streams to be routed by more than just the destination address.

Constraints:
------------

I want to make some form of this available in the 6.x tree
(and by extension 7.x) , but FreeBSD in general needs it so I might as
well do it in -current and back port the portions I need.

One of the ways that this can be done is to have the ability to
instantiate multiple kernel routing tables (which I will now
refer to as "Forwarding Information Bases" or "FIBs" for political
correctness reasons). Which FIB a particular packet uses to make
the next hop decision can be decided by a number of mechanisms.
The policies these mechanisms implement are the "Policies" referred
to in "Policy based routing".

One of the constraints I have if I try to back port this work to
6.x is that it must be implemented as a EXTENSION to the existing
ABIs in 6.x so that third party applications do not need to be
recompiled in timespan of the branch.

This first version will not have some of the bells and whistles that
will come with later versions. It will, for example, be limited to 16
tables in the first commit.
Implementation method, Compatible version. (part 1)
-------------------------------
For this reason I have implemented a "sufficient subset" of a
multiple routing table solution in Perforce, and back-ported it
to 6.x. (also in Perforce though not  always caught up with what I
have done in -current/P4). The subset allows a number of FIBs
to be defined at compile time (8 is sufficient for my purposes in 6.x)
and implements the changes needed to allow IPV4 to use them. I have not
done the changes for ipv6 simply because I do not need it, and I do not
have enough knowledge of ipv6 (e.g. neighbor discovery) needed to do it.

Other protocol families are left untouched and should there be
users with proprietary protocol families, they should continue to work
and be oblivious to the existence of the extra FIBs.

To understand how this is done, one must know that the current FIB
code starts everything off with a single dimensional array of
pointers to FIB head structures (One per protocol family), each of
which in turn points to the trie of routes available to that family.

The basic change in the ABI compatible version of the change is to
extent that array to be a 2 dimensional array, so that
instead of protocol family X looking at rt_tables[X] for the
table it needs, it looks at rt_tables[Y][X] when for all
protocol families except ipv4 Y is always 0.
Code that is unaware of the change always just sees the first row
of the table, which of course looks just like the one dimensional
array that existed before.

The entry points rtrequest(), rtalloc(), rtalloc1(), rtalloc_ign()
are all maintained, but refer only to the first row of the array,
so that existing callers in proprietary protocols can continue to
do the "right thing".
Some new entry points are added, for the exclusive use of ipv4 code
called in_rtrequest(), in_rtalloc(), in_rtalloc1() and in_rtalloc_ign(),
which have an extra argument which refers the code to the correct row.

In addition, there are some new entry points (currently called
rtalloc_fib() and friends) that check the Address family being
looked up and call either rtalloc() (and friends) if the protocol
is not IPv4 forcing the action to row 0 or to the appropriate row
if it IS IPv4 (and that info is available). These are for calling
from code that is not specific to any particular protocol. The way
these are implemented would change in the non ABI preserving code
to be added later.

One feature of the first version of the code is that for ipv4,
the interface routes show up automatically on all the FIBs, so
that no matter what FIB you select you always have the basic
direct attached hosts available to you. (rtinit() does this
automatically).

You CAN delete an interface route from one FIB should you want
to but by default it's there. ARP information is also available
in each FIB. It's assumed that the same machine would have the
same MAC address, regardless of which FIB you are using to get
to it.

This brings us as to how the correct FIB is selected for an outgoing
IPV4 packet.

Firstly, all packets have a FIB associated with them. if nothing
has been done to change it, it will be FIB 0. The FIB is changed
in the following ways.

Packets fall into one of a number of classes.

1/ locally generated packets, coming from a socket/PCB.
   Such packets select a FIB from a number associated with the
   socket/PCB. This in turn is inherited from the process,
   but can be changed by a socket option. The process in turn
   inherits it on fork. I have written a utility call setfib
   that acts a bit like nice..

       setfib -3 ping target.example.com # will use fib 3 for ping.

   It is an obvious extension to make it a property of a jail
   but I have not done so. It can be achieved by combining the setfib and
   jail commands.

2/ packets received on an interface for forwarding.
   By default these packets would use table 0,
   (or possibly a number settable in a sysctl(not yet)).
   but prior to routing the firewall can inspect them (see below).
   (possibly in the future you may be able to associate a FIB
   with packets received on an interface..  An ifconfig arg, but not yet.)

3/ packets inspected by a packet classifier, which can arbitrarily
   associate a fib with it on a packet by packet basis.
   A fib assigned to a packet by a packet classifier
   (such as ipfw) would over-ride a fib associated by
   a more default source. (such as cases 1 or 2).

4/ a tcp listen socket associated with a fib will generate
   accept sockets that are associated with that same fib.

5/ Packets generated in response to some other packet (e.g. reset
   or icmp packets). These should use the FIB associated with the
   packet being reponded to.

6/ Packets generated during encapsulation.
   gif, tun and other tunnel interfaces will encapsulate using the FIB
   that was in effect withthe proces that set up the tunnel.
   thus setfib 1 ifconfig gif0 [tunnel instructions]
   will set the fib for the tunnel to use to be fib 1.

Routing messages would be associated with their
process, and thus select one FIB or another.
messages from the kernel would be associated with the fib they
refer to and would only be received by a routing socket associated
with that fib. (not yet implemented)

In addition Netstat has been edited to be able to cope with the
fact that the array is now 2 dimensional. (It looks in system
memory using libkvm (!)). Old versions of netstat see only the first FIB.

In addition two sysctls are added to give:
a) the number of FIBs compiled in (active)
b) the default FIB of the calling process.

Early testing experience:
-------------------------

Basically our (IronPort's) appliance does this functionality already
using ipfw fwd but that method has some drawbacks.

For example,
It can't fully simulate a routing table because it can't influence the
socket's choice of local address when a connect() is done.

Testing during the generating of these changes has been
remarkably smooth so far. Multiple tables have co-existed
with no notable side effects, and packets have been routes
accordingly.

ipfw has grown 2 new keywords:

setfib N ip from anay to any
count ip from any to any fib N

In pf there seems to be a requirement to be able to give symbolic names to the
fibs but I do not have that capacity. I am not sure if it is required.

SCTP has interestingly enough built in support for this, called VRFs
in Cisco parlance. it will be interesting to see how that handles it
when it suddenly actually does something.

Where to next:
--------------------

After committing the ABI compatible version and MFCing it, I'd
like to proceed in a forward direction in -current. this will
result in some roto-tilling in the routing code.

Firstly: the current code's idea of having a separate tree per
protocol family, all of the same format, and pointed to by the
1 dimensional array is a bit silly. Especially when one considers that
there is code that makes assumptions about every protocol having the
same internal structures there. Some protocols don't WANT that
sort of structure. (for example the whole idea of a netmask is foreign
to appletalk). This needs to be made opaque to the external code.

My suggested first change is to add routing method pointers to the
'domain' structure, along with information pointing the data.
instead of having an array of pointers to uniform structures,
there would be an array pointing to the 'domain' structures
for each protocol address domain (protocol family),
and the methods this reached would be called. The methods would have
an argument that gives FIB number, but the protocol would be free
to ignore it.

When the ABI can be changed it raises the possibilty of the
addition of a fib entry into the "struct route". Currently,
the structure contains the sockaddr of the desination, and the resulting
fib entry. To make this work fully, one could add a fib number
so that given an address and a fib, one can find the third element, the
fib entry.

Interaction with the ARP layer/ LL layer would need to be
revisited as well. Qing Li has been working on this already.

This work was sponsored by Ironport Systems/Cisco

PR:
Reviewed by: several including rwatson, bz and mlair (parts each)
Approved by:
Obtained from: Ironport systems/Cisco
MFC after:
Security:

PR:
Submitted by:
Reviewed by:
Approved by:
Obtained from:
MFC after:
Security:

16 years agoTrim trailing whitespace at ends of lines.
rwatson [Fri, 9 May 2008 20:38:25 +0000 (20:38 +0000)]
Trim trailing whitespace at ends of lines.

16 years agoSet D_TRACKCLOSE to avoid a race in devfs that could lead to orphaned bpf
jhb [Fri, 9 May 2008 19:29:08 +0000 (19:29 +0000)]
Set D_TRACKCLOSE to avoid a race in devfs that could lead to orphaned bpf
devices never getting fully closed.

MFC after: 3 days

16 years agoTrim unneeded header.
jhb [Fri, 9 May 2008 19:00:40 +0000 (19:00 +0000)]
Trim unneeded header.

16 years agoIntroduce pmap_align_superpage(). It increases the starting virtual
alc [Fri, 9 May 2008 16:48:07 +0000 (16:48 +0000)]
Introduce pmap_align_superpage().  It increases the starting virtual
address of the given mapping if a different alignment might result in more
superpage mappings.

16 years agoUpdate magic sed script for heimdal-1.1
dfr [Fri, 9 May 2008 13:27:20 +0000 (13:27 +0000)]
Update magic sed script for heimdal-1.1

16 years agoWhen blocking on an F_FLOCK style lock request which is upgrading a
dfr [Fri, 9 May 2008 10:34:23 +0000 (10:34 +0000)]
When blocking on an F_FLOCK style lock request which is upgrading a
shared lock to exclusive, drop the shared lock before deadlock
detection.

MFC after: 2 days

16 years ago- Export HZ value via kern.hz sysctl (this is the same name as for the
pjd [Fri, 9 May 2008 07:42:02 +0000 (07:42 +0000)]
- Export HZ value via kern.hz sysctl (this is the same name as for the
  loader tunable).
- Document other sysctls in this file and also mark them as loader tunable
  via CTLFLAG_RDTUN flag.

Reviewed by: roberto

16 years ago- Last commit should be "update for 5.6-20080503"
rafan [Fri, 9 May 2008 06:53:03 +0000 (06:53 +0000)]
- Last commit should be "update for 5.6-20080503"

16 years ago- Update for 5.6-20080503
rafan [Fri, 9 May 2008 02:30:24 +0000 (02:30 +0000)]
- Update for 5.6-20080503

16 years ago- Update for ncurses 5.6-20080509
rafan [Fri, 9 May 2008 02:28:52 +0000 (02:28 +0000)]
- Update for ncurses 5.6-20080509

16 years agoThis commit was generated by cvs2svn to compensate for changes in r178866,
rafan [Fri, 9 May 2008 02:28:12 +0000 (02:28 +0000)]
This commit was generated by cvs2svn to compensate for changes in r178866,
which included commits to RCS files with non-trunk default branches.

16 years agoImport ncurses 5.6-20080503 snapshot onto the vender branch
rafan [Fri, 9 May 2008 02:28:12 +0000 (02:28 +0000)]
Import ncurses 5.6-20080503 snapshot onto the vender branch

16 years agoDefine the size_t type since readpassphrase(3) requires it in its
scf [Thu, 8 May 2008 23:57:29 +0000 (23:57 +0000)]
Define the size_t type since readpassphrase(3) requires it in its
definition and sys/types.h is not listed within the synopsis of the man
page.

MFC after: 1 week

16 years agoAlways bump tcpstat.tcps_badrst if we get a RST for a connection in the
jhb [Thu, 8 May 2008 22:21:09 +0000 (22:21 +0000)]
Always bump tcpstat.tcps_badrst if we get a RST for a connection in the
syncache that has an invalid SEQ instead of only doing it when we suceed
in mallocing space for the log message.

MFC after: 1 week
Reviewed by: sam, bz

16 years agoAdd ID for HTC PPC6700 Modem.
delphij [Thu, 8 May 2008 21:22:27 +0000 (21:22 +0000)]
Add ID for HTC PPC6700 Modem.

Submitted by: Kris Moore <kris pcbsd com>
MFC after: 3 days

16 years ago- Remove the BUS_HANDLE_MIN checking in the __BUS_DEBUG_ACCESS macro;
marius [Thu, 8 May 2008 21:10:39 +0000 (21:10 +0000)]
- Remove the BUS_HANDLE_MIN checking in the __BUS_DEBUG_ACCESS macro;
  for UPA it should have fulfilled its purpose by now and Fireplane-
  and JBus-based machines are way to messy in organization to implement
  something equivalent.
- Fix a bunch of style(9) bugs.

16 years agoRemove #if 0'ed code referencing no longer existent ecache_flush().
marius [Thu, 8 May 2008 21:02:07 +0000 (21:02 +0000)]
Remove #if 0'ed code referencing no longer existent ecache_flush().

16 years agoUse <machine/intr_machdep.h> directly instead of depending on header
marius [Thu, 8 May 2008 20:57:08 +0000 (20:57 +0000)]
Use <machine/intr_machdep.h> directly instead of depending on header
pollution in the otherwise unused <sys/pcpu.h>.

16 years agoDon't set the _file member of the FILE when opening a FTP connection.
jhb [Thu, 8 May 2008 20:05:30 +0000 (20:05 +0000)]
Don't set the _file member of the FILE when opening a FTP connection.
Nothing in libftpio uses _file, and the only consumer in the tree
(sysinstall) doesn't invoke fileno() on the FILE.

MFC after: 2 months

16 years agoFix panic and breakage for non-DMA ATA devices e.g. powermac macio cells.
grehan [Thu, 8 May 2008 17:55:44 +0000 (17:55 +0000)]
Fix panic and breakage for non-DMA ATA devices e.g. powermac macio cells.
Handle cases where dma function pointers may be NULL, and where
the max_iosize can't be derived from a DMA data structure. For
the latter, revert to the prior behaviour of using DFLTPHYS for
the max i/o size when there is no other data.

Reviewed by: marcel
No objection by: sos