Commit Graph

155592 Commits

Author SHA1 Message Date
piso
a36990c3db Plug two bugs introduced with modules conversion:
-UdpAliasIn(): correctly check return code after modules ran.
-alias_nbt: in case of malformed packets (or some other unrecoverable
 error), toss the packet.
2009-04-11 15:19:09 +00:00
ed
abe2fea9ee Style fixes to the newfs_msdos manpage.
Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 15:07:27 +00:00
piso
e605b01ef4 Remove stale comments. 2009-04-11 15:05:19 +00:00
ed
ef9b21ff5a Update documentation (forgotten in r190929).
Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 15:03:44 +00:00
ed
9f29dae198 Do not prepend /dev/ when -C is used.
Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:56:29 +00:00
ed
ac65054d3a When using -C, do not warn when the file is not a character device, but warn when it is not a regular file.
Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:53:32 +00:00
ed
98e7a432a7 Fix a bug in r185587.
fstat(fd, &sb) was not executed unconditionally anymore so sb was read
uninitialised when -C is used.

Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:43:22 +00:00
ed
9f361d5f3e Use ftruncate() instead of lseek()+write()+lseek() to set the created
file (-C) to the requested size.

Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:33:10 +00:00
nyan
9b05913c11 MFi386: revision 190919
Simplify in/out functions.

  Remove a hack to generate more efficient code for port numbers below
  0x100, which has been obsolete for at least ten years, because GCC has
  an asm constraint to specify that.
2009-04-11 14:25:47 +00:00
ed
b4488507fc De-static local variables in main() (which is not recursive) and const-ify
others.

Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:24:54 +00:00
ed
95f93b12dc Show -@ and -C in usage, which were added in r185587.
Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:20:45 +00:00
ed
60badb5739 Clean up the usage() function to use a single fprintf().
Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:15:56 +00:00
ed
a0f5dad6a9 Simplify in/out functions (for i386 and AMD64).
Remove a hack to generate more efficient code for port numbers below
0x100, which has been obsolete for at least ten years, because GCC has
an asm constraint to specify that.

Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:01:01 +00:00
trasz
3287d737bd Remove 'IMPLEMENTATION NOTES' section from acl(9); it was just a copy/paste
from <sys/acl.h> and it would get out-of-date pretty soon.
2009-04-11 10:37:04 +00:00
rwatson
58b426ffb4 Bump __FreeBSD_version to 800077 for the removal of VOP_LEASE -- this
changes the size of the vop_vector array and therefore requires file
system modules to be rebuilt.
2009-04-11 10:10:45 +00:00
rrs
acb28274ec Fix broken case where caused by last patch where
a user uses 0.0.0.0/0 as an alias for default.
Obtained from:	Mykola Dzham (freebsd@levsha.org.ua)
2009-04-11 10:08:26 +00:00
alc
7ba2ea0371 Previously, when vm_page_free_toq() was performed on a page belonging to
a reservation, unless all of the reservation's pages were free, the
reservation was moved to the head of the partially-populated reservations
queue, where it would be the next reservation to be broken in case the
free page queues were emptied.  Now, instead, I am moving it to the tail.
Very likely this reservation is in the process of being freed in its
entirety, so placing it at the tail of the queue makes it more likely that
the underlying physical memory will be returned to the free page queues as
one contiguous chunk.  If a reservation must be broken, it will, instead,
be the longest unchanged reservation, which is arguably the reservation
that is least likely to ever achieve promotion or be freed in its entirety.

MFC after:	6 weeks
2009-04-11 09:09:00 +00:00
trhodes
c9f2c65c9f Kill hard sentence break added in the previous revision. 2009-04-11 08:52:02 +00:00
trhodes
bd2f895f38 Bump doc date for previous changes. 2009-04-11 08:49:15 +00:00
zec
b39b54e6de Introduce vnet module registration / initialization framework with
dependency tracking and ordering enforcement.

With this change, per-vnet initialization functions introduced with
r190787 are no longer directly called from traditional initialization
functions (which cc in most cases inlined to pre-r190787 code), but are
instead registered via the vnet framework first, and are invoked only
after all prerequisite modules have been initialized.  In the long run,
this framework should allow us to both initialize and dismantle
multiple vnet instances in a correct order.

The problem this change aims to solve is how to replay the
initialization sequence of various network stack components, which
have been traditionally triggered via different mechanisms (SYSINIT,
protosw).  Note that this initialization sequence was and still can be
subtly different depending on whether certain pieces of code have been
statically compiled into the kernel, loaded as modules by boot
loader, or kldloaded at run time.

The approach is simple - we record the initialization sequence
established by the traditional mechanisms whenever vnet_mod_register()
is called for a particular vnet module.  The vnet_mod_register_multi()
variant allows a single initializer function to be registered multiple
times but with different arguments - currently this is only used in
kern/uipc_domain.c by net_add_domain() with different struct domain *
as arguments, which allows for protosw-registered initialization
routines to be invoked in a correct order by the new vnet
initialization framework.

For the purpose of identifying vnet modules, each vnet module has to
have a unique ID, which is statically assigned in sys/vimage.h.
Dynamic assignment of vnet module IDs is not supported yet.

A vnet module may specify a single prerequisite module at registration
time by filling in the vmi_dependson field of its vnet_modinfo struct
with the ID of the module it depends on.  Unless specified otherwise,
all vnet modules depend on VNET_MOD_NET (container for ifnet list head,
rt_tables etc.), which thus has to and will always be initialized
first.  The framework will panic if it detects any unresolved
dependencies before completing system initialization.  Detection of
unresolved dependencies for vnet modules registered after boot
(kldloaded modules) is not provided.

Note that the fact that each module can specify only a single
prerequisite may become problematic in the long run.  In particular,
INET6 depends on INET being already instantiated, due to TCP / UDP
structures residing in INET container.  IPSEC also depends on INET,
which will in turn additionally complicate making INET6-only kernel
configs a reality.

The entire registration framework can be compiled out by turning on the
VIMAGE_GLOBALS kernel config option.

Reviewed by:	bz
Approved by:	julian (mentor)
2009-04-11 05:58:58 +00:00
imp
66be48ef8d Two refinements to the 3c1 support:
1) Flag it and only access that command on the 3c1
2) The TX PLL appears to power down when not in use, so we have to power
   it back up when we've been idle.  Do this at the start of ifstart.
   Otherwise we fall off the net.
2009-04-11 04:30:38 +00:00
imp
9cde3e4074 o Report ethernet status for at least 10BaseT media. Since I don't
have other media to test against, I've left that media reporting
  unchanged.
o Enable the TX_PLL when we enable TX.  This is harmless on most
  cards, but required to get the 3c1 CF card working.  Power savings
  could be had by managing this better, but for now it gets my card
  working.
2009-04-11 02:47:03 +00:00
danger
4c9797d742 - fix my previous commit (added missing .gz)
Submitted by:	brueffer
2009-04-10 22:15:01 +00:00
kaiw
68464b10c8 Added DT_GNU_HASH entry for GNU-style hash table. 2009-04-10 21:24:18 +00:00
mlaier
f2cc9938bf Follow up for r190895 It's not only the "all" group that is affected, but
all groups on the given interface.

PR:		kern/130977, kern/131310
MFC after:	3 days (%vnet)
2009-04-10 19:16:14 +00:00
imp
6dc80f8815 Don't specify a hint, since it isn't needed. 2009-04-10 18:46:46 +00:00
imp
96241b5a9b Fix comment
Submitted by:	danfe@
2009-04-10 17:34:30 +00:00
imp
0bbc614d94 Improvements for TC5299J MII support. 2009-04-10 16:12:00 +00:00
imp
36ea3abd82 The D-Link DE-650 isn't tagged as a network card, so allow it to
attach anyway.
Add a comment about a 'common' mfg/prod pair that's used in a very
large array of different cards.
2009-04-10 15:33:47 +00:00
imp
8fd508e987 Fix some comments. 2009-04-10 15:30:19 +00:00
imp
0ab5dccb30 No need to check for chip type here. 2009-04-10 15:18:03 +00:00
imp
0fb392c3cb Updates based on my testing of the cards. 2009-04-10 15:01:48 +00:00
mlaier
6472cfe37a Remove interfaces from IFG_ALL on detach. This cures a couple of pf panics
when using the "self" keyword in tables or as ()-style host address and
fixes "ifconfig -g all" output.

PR:		kern/130977, kern/131310
Submitted by:	Mikolaj Golub
MFC after:	3 days
2009-04-10 14:41:51 +00:00
danger
62feb9bfc2 - VOP_LEASE.9 has been removed
Approved by:	rwatson
2009-04-10 14:24:12 +00:00
lulf
235bd13b0c - Better wording in comment.
Suggested by:	Christoph Mallon <christoph.mallon - at - gmx.de>
2009-04-10 11:15:34 +00:00
rwatson
430f601d24 Remove VOP_LEASE(9) man page, as we no longer have a VOP_LEASE() in the
kernel.
2009-04-10 10:59:48 +00:00
rwatson
fba90f2e03 Remove VOP_LEASE and supporting functions. This hasn't been used since
the removal of NQNFS, but was left in in case it was required for NFSv4.
Since our new NFSv4 client and server can't use it for their
requirements, GC the old mechanism, as well as other unused lease-
related code and interfaces.

Due to its impact on kernel programming and binary interfaces, this
change should not be MFC'd.

Proposed by:    jeff
Reviewed by:    jeff
Discussed with: rmacklem, zach loafman @ isilon
2009-04-10 10:52:19 +00:00
kib
a5ecda6fd6 Cache_lookup() for DOTDOT drops dvp vnode lock, allowing dvp to be reclaimed.
Check the condition and return ENOENT then.

In nfs_lookup(), respect ENOENT return from cache_lookup() when it is caused
by dvp reclaim.

Reported and tested by:	pho
2009-04-10 10:22:44 +00:00
kib
81638d9884 When vm_map_wire(9) is allowed to skip holes in the wired region, skip
the mappings without any of read and execution rights, in particular,
the PROT_NONE entries. This makes mlockall(2) work for the process
address space that has such mappings.

Since protection mode of the entry may change between setting
MAP_ENTRY_IN_TRANSITION and final pass over the region that records
the wire status of the entries, allocate new map entry flag
MAP_ENTRY_WIRE_SKIPPED to mark the skipped PROT_NONE entries.

Reported and tested by:	Hans Ottevanger <fbsdhackers beasties demon nl>
Reviewed by:	alc
MFC after:	3 weeks
2009-04-10 10:16:03 +00:00
kib
5a12c5d70e Currently, when mapping an object, rtld reserves the whole address space
for the mapping by the object' file with the protection and mode of
the first loadable segment over the whole region. Then, it maps other
segments at the appropriate addresses inside the region.

On amd64, due to default alignment of the segments being 1Gb, the
subsequent segment mappings leave the holes in the region, that usually
contain mapping of the object' file past eof. Such mappings prevent
wiring of the address space, because the pages cannot be faulted in.

Change the way the mapping of the ELF objects is constructed, by first
mapping PROT_NONE anonymous memory over the whole range, and then
mapping the segments of the object over it. Take advantage of this new
order and allocate .bss by changing the protection of the range instead
of remapping.

Note that we cannot simply keep the holes between segments, because
other mappings may be made there. Among other issues, when the dso is
unloaded, rtld unmaps the whole region, deleting unrelated mappings.

The kernel ELF image activator does put the holes between segments, but
this is not critical for now because kernel loads only executable image
and interpreter, both cannot be unloaded. This will be fixed later, if
needed.

Reported and tested by:	Hans Ottevanger <fbsdhackers beasties demon nl>
Suggested and reviewed by:	kan, alc
2009-04-10 10:14:04 +00:00
lulf
cd9a5afff5 - Implement the grow command to make it easier for users to extend plexes
without having to understand all gvinum internals.
- Document the grow command in the manpage and update examples to use the
  command where possible.
2009-04-10 10:12:09 +00:00
kib
4ea821c223 Update comment to the reality, rtld supports any number of loadable segments.
Fix spacing.

Reviewed by:	kan
2009-04-10 09:52:42 +00:00
lulf
e13cab7798 - Move logic for finding a unique drive name into its own routine for future
code reuse.
2009-04-10 09:13:58 +00:00
lulf
62687638df - Move out allocation part of different gvinum objects into its own routine and
make use of it in the gvinum userland code.
2009-04-10 08:50:14 +00:00
kmacy
fbd3646842 Import "flowid" support for serializing flows across transmit queues
Reviewed by:	rwatson and jeli
2009-04-10 06:16:14 +00:00
jfv
d8e863e5fb Fix build problem with data format. 2009-04-10 05:26:14 +00:00
thompsa
39714cb212 Revert r190676,190677
The geom and CAM changes for root_hold are the wrong solution for USB design
quirks.

Requested by:	scottl
2009-04-10 04:08:34 +00:00
jfv
9fcc70de74 Add missing file, sorry bout that :) 2009-04-10 02:45:00 +00:00
jfv
92f8b7d44a Add ixgbe to the GENERIC amd64 kernel in place of the
older ixgb driver. I will add to other architectures
after this one proves trouble free.

MFC after:	2 weeks
2009-04-10 00:40:48 +00:00
jfv
a3e3fd3c18 Add additional file to ixgbe files list, and uncomment NOTES entry
MFC after: 2 weeks
2009-04-10 00:34:55 +00:00