18 months agokernel: Add three missing ')', two of them in (yet) unused code. v3.4.3
Sascha Wildner [Mon, 26 Aug 2013 18:51:02 +0000 (20:51 +0200)]
kernel: Add three missing ')', two of them in (yet) unused code.

18 months agokernel - Do not try to apply certain hw errata fixes if in a VM guest
Matthew Dillon [Thu, 11 Jul 2013 22:44:41 +0000 (15:44 -0700)]
kernel - Do not try to apply certain hw errata fixes if in a VM guest

* Do not try to apply certain hw errata fixes (721) if in a VM guest.

Submitted-by: vsrinivas
19 months agokernel/cam: Fix I/O performance regression seen at least in VMware ESXi.
Sascha Wildner [Sun, 25 Aug 2013 18:15:37 +0000 (20:15 +0200)]
kernel/cam: Fix I/O performance regression seen at least in VMware ESXi.

This brings in FreeBSD's revisions 188570, 188670, 188671 and 188688.
188670 (most changed lines in the patch) is for debugging purposes only,
while 188570 and 188671 fix the actual issue and 188688 fixes gcc whining.

Reported-and-tested-by: Dongsheng Song <dongsheng.song@gmail.com>
Extra credit to vsrinivas who had actually pointed out 188570 to us a
while ago before it hit us now but at the time I hadn't noticed.

Quoting FreeBSD's commit messages:

In the case that the probe has determined that it can't query the device
for a serial number, fall through to the next case so that initial
negotiation still happens.  Without this, devices were showing up with
only 1 available tag opening, leading to observations of very poor I/O

This should fix problems reported with VMWare Fusion and ESX.  Early
generation MPT-SAS controllers with SATA disks might also be affected.
HP CISS controllers are also likely affected, as are many other
pseudo-scsi disk subsystems.

Fix parallel SCSI negotiation in the CAM_NEW_TRAN_CODE world order.
Overzealous sanity checks were locking the sync_rate and offset values
to zero, thanks to a twisty maze of recursive code.

19 months agokernel/amr: Move amrd (disk) adding before amrp (cam passthrough).
Sascha Wildner [Fri, 2 Aug 2013 17:58:28 +0000 (19:58 +0200)]
kernel/amr: Move amrd (disk) adding before amrp (cam passthrough).

This fixes a panic seen when amr/amrp were compiled into the kernel.

Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2575>
Reported-by: justin
Actual-fix-by: sephe
19 months agokernel: Add DRIVER_MODULE_ORDERED macro
Johannes Hofmann [Sun, 21 Jul 2013 19:40:31 +0000 (21:40 +0200)]

20 months agoMakefile.usr - Move fetch locations
Matthew Dillon [Fri, 19 Jul 2013 22:05:53 +0000 (15:05 -0700)]
Makefile.usr - Move fetch locations

* Move the bootstrap fetch from leaf:~marino to mirror-master

* Move the dports git fetch from ~marino's github to mirror-master
  (which currently clones it)

20 months agouname - Add -P and -PP for dports support
Matthew Dillon [Fri, 19 Jul 2013 22:05:17 +0000 (15:05 -0700)]
uname - Add -P and -PP for dports support

* Add options to generate dports-compatible ABI strings to stdout.
  Used by Makefile.usr.

20 months ago<sys/device.h>: Fix a typo in an extern declaration.
Sascha Wildner [Tue, 16 Jul 2013 17:32:46 +0000 (19:32 +0200)]
<sys/device.h>: Fix a typo in an extern declaration.

20 months agoradix: Unshare radix mask tree resources
Sepherosa Ziehau [Tue, 9 Jul 2013 08:27:14 +0000 (16:27 +0800)]
radix: Unshare radix mask tree resources

- Make free mask list per-cpu
- Embed mask last zeroed position into mask radix tree head

20 months agoSync zoneinfo database with tzdata2013d from ftp://ftp.iana.org/tz/releases
Sascha Wildner [Mon, 8 Jul 2013 22:11:01 +0000 (00:11 +0200)]
Sync zoneinfo database with tzdata2013d from ftp://ftp.iana.org/tz/releases

* africa: Morocco's midsummer transitions this year are July 7 and
    August 10, not July 9 and August 8. (Thanks to Andrew Paprocki.)

* asia: Israel now falls back on the last Sunday of October. (Thanks
    to Ephraim Silverberg.)

* iso3166.tab: Fix typos in the entries for country codes BQ and SX.

* zone.tab: Specify Jerusalem's location more precisely; this changes
    the pre-1880 times by 2 s.

* miscellaneous files: Deemphasize the significance of national borders.
    Update several URLs. Spelling fixes (thanks to Kevin Lyda and
    Jonathan Leffler).

20 months agokernel/usb4bsd: Fix ukbd's polled mode (for ddb etc.).
Sascha Wildner [Sun, 7 Jul 2013 11:04:00 +0000 (13:04 +0200)]
kernel/usb4bsd: Fix ukbd's polled mode (for ddb etc.).

21 months agoem: 82543 and 82542 could only suport 256 TX/RX descriptors
Sepherosa Ziehau [Mon, 24 Jun 2013 08:58:48 +0000 (16:58 +0800)]
em: 82543 and 82542 could only suport 256 TX/RX descriptors

21 months agolibc/fmtmsg: Check the correct variable against MM_NULLACT.
Sascha Wildner [Sat, 15 Jun 2013 07:42:48 +0000 (09:42 +0200)]
libc/fmtmsg: Check the correct variable against MM_NULLACT.

Taken-from: FreeBSD (r199046)

21 months agosystat/ip: Unbreak UDP stats
Sepherosa Ziehau [Fri, 14 Jun 2013 01:31:13 +0000 (09:31 +0800)]
systat/ip: Unbreak UDP stats

21 months agopcb: Allow kmalloc(WAITOK) to return in in_pcballoc()
Sepherosa Ziehau [Sun, 9 Jun 2013 02:45:48 +0000 (10:45 +0800)]
pcb: Allow kmalloc(WAITOK) to return in in_pcballoc()

The PCB kmalloc limit could be exceeded on local netperf TCP_CC with the
default MSL; panic is obviously not wanted under this situation.

21 months agokernel - Fix a case in the path lookup that results in high latencies
Matthew Dillon [Fri, 7 Jun 2013 22:13:21 +0000 (15:13 -0700)]
kernel - Fix a case in the path lookup that results in high latencies

* When many cpu cores are looking up paths with matching components,
  so as when doing a parallel buildworld or a parallel build of
  /usr/src/lib/libc, the namecache's shared/exclusive lock mechanic
  can break-down and create a chain-reaction of exclusive locks which
  destroys performance.

* When attempting to get a shared lock we were previously backing-down to
  an exclusive lock if the shared lock could not be obtained non-blocking.
  The original code could cause a chain-reaction of unnecessary exclusive

  Instead, we now only back-down to an exclusive lock only if the current
  thread already holds an exclusive lock on the same namecache entry
  or if we detect that another thread is trying to get an exclusive lock.
  Otherwise we fall-through and obtain the shared lock in a blocking manner.

Reported-by: ftigeot
21 months agocarp: Fix routes reset issue
Sepherosa Ziehau [Wed, 29 May 2013 12:41:40 +0000 (20:41 +0800)]
carp: Fix routes reset issue

Before this commit, routes related to carp or carp backing device were
reset, i.e. only prefix route was left, when carp state changed, e.g.
carp is down.

This commit fixes this routes reset issue by replacing the carp or carp
device routes' rt_ifa and rt_ifp with proper ifaddr and ifnet, instead
of discarding the old routes and installing the new prefix route.

Reported-by: robgar
21 months agocarp: Take netmask into consideration when picking up backing address
Sepherosa Ziehau [Wed, 29 May 2013 09:36:08 +0000 (17:36 +0800)]
carp: Take netmask into consideration when picking up backing address

21 months agocarp: Perfer addresses with prefix route installed.
Sepherosa Ziehau [Mon, 27 May 2013 14:24:50 +0000 (22:24 +0800)]
carp: Perfer addresses with prefix route installed.

21 months agokernel - Fix several bugs in FAIRQ
Matthew Dillon [Thu, 6 Jun 2013 06:52:02 +0000 (23:52 -0700)]
kernel - Fix several bugs in FAIRQ

* Fix several possible overflows due to high-valued machclk_freq constants
  and uint's that should have been uint64's.  Among other things this fixes
  bandwidth calculations that could previously get into weird states.

* Refactor the fairq_selectq() routine to fix numerous cases where the
  head of the queue could get advanced multiple times without pulling a
  packet off the queue, causing packets in queues to be excessively

Both of these were rather serious issues.  Operation is far smoother with
the bugs fixed.

21 months agokernel - Increase IFQ_MAXLEN from 50 to 250
Matthew Dillon [Thu, 6 Jun 2013 04:02:18 +0000 (21:02 -0700)]
kernel - Increase IFQ_MAXLEN from 50 to 250

* IFQ_MAXLEN is used as the default for numerous pseudo-network drivers.
  The value 50 is just too low.  Increase to 250.

21 months agocam(3): Fix a wrong check and bump WARNS to 2.
Sascha Wildner [Sat, 1 Jun 2013 10:36:34 +0000 (12:36 +0200)]
cam(3): Fix a wrong check and bump WARNS to 2.

21 months agofetch(1): Fix a wrong check that was always false.
Sascha Wildner [Sun, 26 May 2013 09:29:02 +0000 (11:29 +0200)]
fetch(1): Fix a wrong check that was always false.

21 months agokernel/mpt: Fix two operator precedence mistakes.
Sascha Wildner [Sun, 26 May 2013 19:59:06 +0000 (21:59 +0200)]
kernel/mpt: Fix two operator precedence mistakes.

21 months agokernel - Fix TDF_NOFAULT issue related to vm.read_shortcut_enable.
Matthew Dillon [Fri, 31 May 2013 06:16:29 +0000 (23:16 -0700)]
kernel - Fix TDF_NOFAULT issue related to vm.read_shortcut_enable.

* TDF_NOFAULT was not preventing vm_fault() from calling vm_wait_pfault(),
  which could result in a deadlock in the read_shortcut path.  A combination
  of a low-memory situation plus the read_shortcut hitting the vm_fault
  sequence from uiomove_nofault().

21 months agoem/emx: Unbreak vlan settings
Sepherosa Ziehau [Thu, 30 May 2013 12:33:21 +0000 (20:33 +0800)]
em/emx: Unbreak vlan settings

Obtained-from: FreeBSD

21 months agofix MXCSR default value v3.4.2
Markus Pfeiffer [Sat, 18 May 2013 14:56:47 +0000 (14:56 +0000)]
fix MXCSR default value

XEN fails to initialise its vcpus to behave like actual cpus. One
instance of this is that the MXCSR is not setup to the default
value documented in as documented in AMD64 Architecture
Programmer's Manual Volume 1: Application Programming, Section
Section 4.3.2

21 months agokernel -- x86_64: Do not set reserved bits in CR3.
Aggelos Economopoulos [Mon, 20 May 2013 18:56:07 +0000 (20:56 +0200)]
kernel -- x86_64: Do not set reserved bits in CR3.

The x86-64 platform code was setting PG_V, PG_U, and PG_RW bits in the
CR3 register. While the bits were supposed to cleared, Intel and AMD
hardware were ignoring them. Other x86-64 implementations, in
particular the software emulator in Linux's KVM, do check that these
reserved bits are zero.

Fixes issue running DragonFly x86_64 on KVM hosts without
two-dimensional (nested) paging.

Tested on a variety of real hardware (AMD FX(tm)-8150, c2q 6600, others)
and VM configurations (KVM on Intel/AMD hosts, Xen).

Committing-on-behalf-of: Venkatesh Srinivas <vsrinivas@ops101.org>
Reported-by: aggelos@, c.turner1, others.
Testing-by: aggelos@, swildner@, mneumann@, ftigeot@, profmakx@, Enjolras
Bug: 2561

22 months agolibc/citrus: Fix an assertion (& becomes &&).
Sascha Wildner [Sun, 26 May 2013 20:36:13 +0000 (22:36 +0200)]
libc/citrus: Fix an assertion (& becomes &&).

22 months agophantasia(6): Fix two operator precedence mistakes.
Sascha Wildner [Sun, 26 May 2013 19:59:37 +0000 (21:59 +0200)]
phantasia(6): Fix two operator precedence mistakes.

22 months agomrouted(8): Fix a wrong check that was always false.
Sascha Wildner [Sun, 26 May 2013 09:29:41 +0000 (11:29 +0200)]
mrouted(8): Fix a wrong check that was always false.

22 months agoip/udp: Make input source address and source port saving MPSAFE
Sepherosa Ziehau [Thu, 23 May 2013 07:29:24 +0000 (15:29 +0800)]
ip/udp: Make input source address and source port saving MPSAFE

Change the global variable udp_in, udp_in6 and udp_ip6 into stack variable
and passing them around.  This should unbreak applications which depend
on received datagrams' source address or source port.

22 months agoudp: Fix IP source address setting for multicast address bound socket (2)
Sepherosa Ziehau [Thu, 23 May 2013 05:35:07 +0000 (13:35 +0800)]
udp: Fix IP source address setting for multicast address bound socket (2)

Source address should _not_ be set to INADDR_ANY in udp_output(), which
will make udp_output() calculate wrong pseudo header checksum.  Instead
of letting IP to select the source address, we extend in_pcbladdr() to
always locate the laddr, and use this function to find the source address
in udp_output().

22 months agopf: Ask caller to recalculate packet hash, if nat/binat/rdr happens
Sepherosa Ziehau [Wed, 22 May 2013 13:27:41 +0000 (21:27 +0800)]
pf: Ask caller to recalculate packet hash, if nat/binat/rdr happens

This unbreaks redirect (rdr) to local address.

DragonFly-bug: http://bugs.dragonflybsd.org/issues/2133

22 months agoixgbe: On transmit path, prepend the unconsumed mbuf to the if_snd
Sepherosa Ziehau [Tue, 21 May 2013 08:53:29 +0000 (16:53 +0800)]
ixgbe: On transmit path, prepend the unconsumed mbuf to the if_snd

DragonFly-bug: http://bugs.dragonflybsd.org/issues/2563

22 months agosyncache: Avoid NULL accessing to tcpcb of the to-be-dropped syncache
Sepherosa Ziehau [Mon, 20 May 2013 13:44:32 +0000 (21:44 +0800)]
syncache: Avoid NULL accessing to tcpcb of the to-be-dropped syncache

It is possible that the syncache tcpcb is NULL when overflow happens,
e.g. the corresponding listen socket was closed but the timeout has
not recollected the staled syncache yet.

22 months agomsk: Disable MSI by default.
Sepherosa Ziehau [Mon, 20 May 2013 08:43:39 +0000 (16:43 +0800)]
msk: Disable MSI by default.

For certain chips, enabling it will cause watchdog timeout and the chip
may not be able to work again w/o rebooting.

Reported-by: ferz
22 months agobmake: Fix wildcard srcs for phony targets
John Marino [Sat, 18 May 2013 20:48:24 +0000 (22:48 +0200)]
bmake: Fix wildcard srcs for phony targets

Bug fix created by Simon G. at BSDcan 2013 when Baptiste mentioned the
incompatiblity with legacy make seen during adding support to ports for
bmake.  There is no impaet for world/kernel builds.

Taken-from: FreeBSD SVN 250773 (18 May 2013)

22 months agokernel - Fix devfs deadlock
Matthew Dillon [Tue, 14 May 2013 17:44:36 +0000 (10:44 -0700)]
kernel - Fix devfs deadlock

* Fix a devfs deadlock against getnewvnode() due to the devfs master
  lock being held.

* Most evident on 32-bit builds because 64-bit builds don't recycle vnodes
  as quickly.

Reported-by: marino
Analysis-by: vsrinivas
22 months agotop(1): Support wider terminals (Bug 2448)
John Marino [Tue, 14 May 2013 10:21:30 +0000 (12:21 +0200)]
top(1): Support wider terminals (Bug 2448)

Bump MAX_COLS from value of 255 to 512 to support wider terminals.
A similar change was also done on FreeBSD 5 months ago (r244180)

Reported-by: Charles Rapenne

22 months agokernel - Wakeup p->p_step on procfs close.
Matthew Dillon [Wed, 8 May 2013 23:11:55 +0000 (16:11 -0700)]
kernel - Wakeup p->p_step on procfs close.

* Wakeup p->p_step in addition to p->p_stype on procfs close.

Reported-by: vsrinivas
22 months agokernel/ng_iface: Add missing braces.
Sascha Wildner [Sat, 27 Apr 2013 01:03:29 +0000 (03:03 +0200)]
kernel/ng_iface: Add missing braces.

22 months agokernel/hptiop: Add missing braces.
Sascha Wildner [Sat, 27 Apr 2013 00:57:05 +0000 (02:57 +0200)]
kernel/hptiop: Add missing braces.

23 months agogpio/dsched/devfs: Fix wrong lock checks. v3.4.0 v3.4.1
Sascha Wildner [Tue, 23 Apr 2013 22:15:05 +0000 (00:15 +0200)]
gpio/dsched/devfs: Fix wrong lock checks.

23 months agoSync zoneinfo database with tzdata2013c from ftp://ftp.iana.org/tz/releases
Sascha Wildner [Mon, 22 Apr 2013 18:08:50 +0000 (20:08 +0200)]
Sync zoneinfo database with tzdata2013c from ftp://ftp.iana.org/tz/releases

* antarctica/australasia/zone.tab: Fix times of habitation for Macquarie
    to agree with the Tasmania Parks & Wildlife Service history, which
    indicates that permanent habitation was 1899-1919 and 1948 on. It is
    politically part of Australia, not Antarctica. (Thanks to Tobias
    Conradi.) Also, sort Macquarie more consistently with other parts of
    Australia. (Thanks to Tim Parenti.)

* asia: Palestine observed DST starting March 29, 2013. (Thanks to
    Steffen Thorsen.)  From 2013 on, Gaza and Hebron both observe DST,
    with the predicted rules being the last Thursday in March at 24:00
    to the first Friday on or after September 21 at 01:00. Also, fix
    some historical data for Palestine to agree with that of

* southamerica: Assume that the recent change to Paraguay's DST rules is
    permanent, by moving the end of DST to the 4th Sunday in March every
    year. (Thanks to Carlos Raul Perasso.)

23 months ago/usr/Makefile: Fix wrong indentation.
Sascha Wildner [Mon, 22 Apr 2013 08:30:38 +0000 (10:30 +0200)]
/usr/Makefile: Fix wrong indentation.

23 months agonrelease: Handle dports' /usr/distfiles better and remove /usr/dports.
Sascha Wildner [Sun, 21 Apr 2013 11:27:29 +0000 (13:27 +0200)]
nrelease: Handle dports' /usr/distfiles better and remove /usr/dports.

23 months agonrelease: Add pkg(8) to our images and ISOs.
Sascha Wildner [Sun, 21 Apr 2013 09:15:06 +0000 (11:15 +0200)]
nrelease: Add pkg(8) to our images and ISOs.

'make release' now requires an additional directory with the dports tree.

This commit adds some more steps (such as running 'pkg autoremove').

In-discussion-with: marino

23 months agonrelease: Remove an unused variable.
Sascha Wildner [Sat, 20 Apr 2013 11:33:16 +0000 (13:33 +0200)]
nrelease: Remove an unused variable.

23 months agonrelease: Don't install the git meta-pkg (it will pull in gitk).
Sascha Wildner [Fri, 19 Apr 2013 15:53:25 +0000 (17:53 +0200)]
nrelease: Don't install the git meta-pkg (it will pull in gitk).

23 months agopowerd - Fix load factor calculation bug for niced processes
Matthew Dillon [Thu, 18 Apr 2013 17:17:49 +0000 (10:17 -0700)]
powerd - Fix load factor calculation bug for niced processes

* A type-o in the load calculation code was not counting niced
  processes at all, so if you have a lot of niced processes
  (like ffmpeg's which nice themselves down), powerd can wind
  up restricting them all to a single cpu.  Doh!

23 months agoAdded master branch linking as part of the 'make src-create*' commands.
Justin C. Sherrill [Thu, 18 Apr 2013 02:59:40 +0000 (22:59 -0400)]
Added master branch linking as part of the 'make src-create*' commands.

Suggested-by: John Marino <dragonflybsd@marino.st>
23 months agoMakefile.inc: Rework automatic backup (bug 2527)
John Marino [Tue, 16 Apr 2013 00:42:13 +0000 (02:42 +0200)]
Makefile.inc: Rework automatic backup (bug 2527)

There were three main problems with the recently added backup feature:
1. It didn't work over NFS
2. It didn't work when a non-root built world the second time
3. It didn't use DESTDIR which had potential to conflict backups

It also previously featured "NO_BACKUP" which turned off the automatic
backup feature.  To fix the #2 problem, the install timestamp has been
removed, so to avoid unwanted backups for multiple installworlds after
one buildworld, the user needs to pass NO_BACKUP in the command line.

This patch was contributed by Thomas Nikolajsen with minor modifications
added by John Marino.


23 months agokernel/checkpoint: Fix wrong sizeof (p_sigacts is a pointer).
Sascha Wildner [Tue, 16 Apr 2013 17:13:19 +0000 (19:13 +0200)]
kernel/checkpoint: Fix wrong sizeof (p_sigacts is a pointer).

23 months agokernel/ndis: Fix typo in DRIVER_MODULE().
Sascha Wildner [Tue, 16 Apr 2013 16:37:19 +0000 (18:37 +0200)]
kernel/ndis: Fix typo in DRIVER_MODULE().

23 months agomined(1): Fix alignment issue on strict alignment architectures.
Sascha Wildner [Sun, 7 Apr 2013 21:59:44 +0000 (23:59 +0200)]
mined(1): Fix alignment issue on strict alignment architectures.

Reported-by: Eitan Adler <eadler@freebsd.org>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2541>

23 months agomined.1: Move some info from CAVEATS to DESCRIPTION.
Sascha Wildner [Sun, 7 Apr 2013 21:04:53 +0000 (23:04 +0200)]
mined.1: Move some info from CAVEATS to DESCRIPTION.

mandoc(1) warns about CAVEATS not being in conventional order and
silencing it by moving the section would have caused it to be behind

However, the info is more important than the editor's history, so
instead add it to the DESCRIPTION, which is short in this case, anyway.

Reported-by: Eitan Adler <eadler@freebsd.org>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2540>

23 months agodevelopment.7: Mention dragonfly.vim.
Sascha Wildner [Tue, 2 Apr 2013 19:23:19 +0000 (21:23 +0200)]
development.7: Mention dragonfly.vim.

23 months agokernel - Disable the read_shortcut feature by default in -release
Matthew Dillon [Thu, 11 Apr 2013 03:50:19 +0000 (20:50 -0700)]
kernel - Disable the read_shortcut feature by default in -release

* Disable the read_shortcut feature by default in -release.  It is fairly
  stable but there are currently two reports of deadlocks under heavy loads
  that have not been resolved.

  So for now the feature is disabled by default.  It can be enabled anytime
  via its sysctl on 64-bit machines for people who want to run with it

Reported-by: Peter Avalos <pavalos@dragonflybsd.org>, Francois Tigeot <ftigeot@wolfpond.org>
23 months agoAdd EXIT STATUS sections in some manual pages.
Sascha Wildner [Wed, 10 Apr 2013 17:10:53 +0000 (19:10 +0200)]
Add EXIT STATUS sections in some manual pages.

23 months agormdir.1: Add EXIT STATUS section and fix a typo.
Sascha Wildner [Wed, 10 Apr 2013 16:57:21 +0000 (18:57 +0200)]
rmdir.1: Add EXIT STATUS section and fix a typo.

23 months agoMakefile_upgrade.inc: Fix typo.
Sascha Wildner [Wed, 10 Apr 2013 16:12:08 +0000 (18:12 +0200)]
Makefile_upgrade.inc: Fix typo.

23 months agoioapic: Relocate IRQ if it hits SYSCALL entry
Sepherosa Ziehau [Wed, 10 Apr 2013 03:10:33 +0000 (11:10 +0800)]
ioapic: Relocate IRQ if it hits SYSCALL entry

The system hitting the "unused IRQ assertion" has 5x24 pin IOAPICs

Reported-by: ruse39
23 months agobce: BCM5716's MSI does not have bug either
Sepherosa Ziehau [Tue, 9 Apr 2013 09:18:31 +0000 (17:18 +0800)]
bce: BCM5716's MSI does not have bug either

23 months agoip/udp: Fix IP source address setting for multicast address bound socket
Sepherosa Ziehau [Tue, 9 Apr 2013 03:06:39 +0000 (11:06 +0800)]
ip/udp: Fix IP source address setting for multicast address bound socket

It is a common practice to bind UDP socket to multicast address to enjoy
kernel level destination multicast address and port filtering.  However,
if data are sent on this kind of socket, source address of the IP packet
will be the bound multicast address?!

Two fixes are added to address this bug:

1) Don't set IP source address in udp_output(), if the inpcb's laddr is
   multicast address.  Instead the IP source address is set to INADDR_ANY,
   so ip_output() could pick up a proper IP source address.

2) With 1) in place, it is possible that IP source address is INADDR_ANY
   before the ifnet.if_output() using following steps:
   - If the IP_MULTICAST_IF socket option is set to iface0
   - The iface0's last IP address is unset, before the ip_output()

   This condition could easily be reproduced by using test/mcast:
   mcast -m -p 3000 -i iface0_ip -D 10
   During the 10sec delay, wipe out all IP addresses from iface0

   Well, even without 1), raw IP still could generate IP packet using
   INADDR_ANY as source address.

   Two checks on the source IP address are added to ip_output() before
   - IP source address should not be INADDR_ANY
   - IP source address should not be multicast address

   And for multicast IP packets, if the IP source address could be
   determined, they will not be looped back and forwarded.

Reported-by: zeroxia
23 months agoip_output: Record the "src was INADDR_ANY" for multicast packets
Sepherosa Ziehau [Tue, 9 Apr 2013 02:32:22 +0000 (10:32 +0800)]
ip_output: Record the "src was INADDR_ANY" for multicast packets

While I'm here, fix the comment on the unicast packet output path.

23 months agoftp: Update files for tnftp-20121224 import.
Peter Avalos [Sun, 7 Apr 2013 04:55:23 +0000 (21:55 -0700)]
ftp: Update files for tnftp-20121224 import.

23 months agoMerge branch 'vendor/TNFTP' into DragonFly_RELEASE_3_4
Peter Avalos [Sun, 7 Apr 2013 05:01:35 +0000 (22:01 -0700)]
Merge branch 'vendor/TNFTP' into DragonFly_RELEASE_3_4

23 months agode: Reset chip after calling ether_ifattach()
Sepherosa Ziehau [Sun, 7 Apr 2013 04:57:49 +0000 (12:57 +0800)]
de: Reset chip after calling ether_ifattach()

Else the ifnet is not completely initialized

Reported-by: swildner@
23 months agoImport tnftp-20121224.
Peter Avalos [Sun, 7 Apr 2013 04:34:01 +0000 (21:34 -0700)]
Import tnftp-20121224.

* Add https support.
* When using the response to SYST to decide whether to default to
  'binary' be a lot less specific.

Obtained-from:   NetBSD

23 months agokernel/if_ndis: Grab the serializer around if_devstart().
Sascha Wildner [Fri, 5 Apr 2013 03:50:55 +0000 (05:50 +0200)]
kernel/if_ndis: Grab the serializer around if_devstart().

Submitted-by: sephe
23 months agoMerge branch 'DragonFly_RELEASE_3_4' of ssh://crater.dragonflybsd.org/repository...
Justin C. Sherrill [Wed, 3 Apr 2013 01:38:42 +0000 (21:38 -0400)]
Merge branch 'DragonFly_RELEASE_3_4' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into DragonFly_RELEASE_3_4


23 months agoAdjust branch in newvers.sh.
Sascha Wildner [Tue, 2 Apr 2013 20:12:26 +0000 (22:12 +0200)]
Adjust branch in newvers.sh.

23 months agokernel: Fix build without DDB.
Sascha Wildner [Tue, 2 Apr 2013 18:04:08 +0000 (20:04 +0200)]
kernel: Fix build without DDB.

23 months agoBump __DragonFly_version and the manpage version for 3.4.
Sascha Wildner [Tue, 2 Apr 2013 17:34:03 +0000 (19:34 +0200)]
Bump __DragonFly_version and the manpage version for 3.4.

23 months agore: Don't enable MSI by default even for PCI-e chips
Sepherosa Ziehau [Tue, 2 Apr 2013 03:14:02 +0000 (11:14 +0800)]
re: Don't enable MSI by default even for PCI-e chips

It causes more troubles than the benefits it brings for us; it causes
watchdog, due to loosing interrupt, on certain PCI-e chips.

DragonFly-bug: http://bugs.dragonflybsd.org/issues/2533

23 months agoUpdating for DragonFly 3.4 branch. v3.4.0rc
Justin C. Sherrill [Tue, 2 Apr 2013 02:12:38 +0000 (22:12 -0400)]
Updating for DragonFly 3.4 branch.

23 months agokernel: Fix buildkernel without INVARIANTS.
Sascha Wildner [Mon, 1 Apr 2013 21:43:09 +0000 (23:43 +0200)]
kernel: Fix buildkernel without INVARIANTS.

Reported-by: Filippo Moretti <filippomore@yahoo.com>
23 months agomfi(4)/mfiutil(8): Add support for foreign configurations and drives.
Sascha Wildner [Mon, 1 Apr 2013 21:26:47 +0000 (23:26 +0200)]
mfi(4)/mfiutil(8): Add support for foreign configurations and drives.

For this, the following commands are added to mfiutil(8):

foreign scan - lists the number of foreign configs
foreign drives - lists the drives which are flagged as foreign
foreign display - displays the specified foreign configuration
foreign preview - previews the specified foreign configuration after import
foreign clear - clears the foreign configuration
foreign import - imports the foreign configuration

Foreign drive support has been added to 'show drives' too.

Tested-by: ftigeot
Taken-from: http://www.freebsd.org/cgi/query-pr.cgi?pr=172091

23 months agokernel/mfi: Add a tunable/sysctl to modify the command timeout.
Sascha Wildner [Mon, 1 Apr 2013 15:41:51 +0000 (17:41 +0200)]
kernel/mfi: Add a tunable/sysctl to modify the command timeout.

23 months agokernel: Make tty_compat.c optional in 'files' instead of in the source.
Sascha Wildner [Mon, 1 Apr 2013 20:14:06 +0000 (22:14 +0200)]
kernel: Make tty_compat.c optional in 'files' instead of in the source.

23 months agobsd.sys.mk: Add -Wmissing-include-dirs to WARNS >= 1.
Sascha Wildner [Mon, 1 Apr 2013 13:47:21 +0000 (15:47 +0200)]
bsd.sys.mk: Add -Wmissing-include-dirs to WARNS >= 1.

It ensures that all directories passed with -I<dir> actually exist.

23 months agolibc: Fix -Wmissing-include-dirs.
Sascha Wildner [Mon, 1 Apr 2013 13:45:00 +0000 (15:45 +0200)]
libc: Fix -Wmissing-include-dirs.

23 months agobnx: Pack TX mbuf and dmamap together; improve cache utilization
Sepherosa Ziehau [Mon, 1 Apr 2013 09:55:27 +0000 (17:55 +0800)]
bnx: Pack TX mbuf and dmamap together; improve cache utilization

23 months agoMerge remote-tracking branch 'hofmann/wlan_serialize'
Sepherosa Ziehau [Mon, 1 Apr 2013 07:48:49 +0000 (15:48 +0800)]
Merge remote-tracking branch 'hofmann/wlan_serialize'

23 months agociss(4): Fix build with CISS_DEBUG.
Sascha Wildner [Sun, 31 Mar 2013 19:45:49 +0000 (21:45 +0200)]
ciss(4): Fix build with CISS_DEBUG.

23 months agobnx: Properly setup TX ring prod index position
Sepherosa Ziehau [Sun, 31 Mar 2013 12:29:46 +0000 (20:29 +0800)]
bnx: Properly setup TX ring prod index position

23 months agobge: Limit STD RX ring prod index increment to 8 for 5750, 5752 and 5755
Sepherosa Ziehau [Sun, 31 Mar 2013 10:26:40 +0000 (18:26 +0800)]
bge: Limit STD RX ring prod index increment to 8 for 5750, 5752 and 5755

This works around hardware errata.

For 5750, 5752 and 5755, the STD RX ring replesh threshold has already
been set to 8.

Obtained-from: tg3

23 months agolock(1): Use %jd for printing intmax_t.
Sascha Wildner [Sat, 30 Mar 2013 12:20:58 +0000 (13:20 +0100)]
lock(1): Use %jd for printing intmax_t.

23 months agolibc: Fix -Wunused-parameter.
Sascha Wildner [Fri, 29 Mar 2013 19:24:42 +0000 (20:24 +0100)]
libc: Fix -Wunused-parameter.

23 months agolibc: Fix -Wpointer-arith.
Sascha Wildner [Fri, 29 Mar 2013 14:09:02 +0000 (15:09 +0100)]
libc: Fix -Wpointer-arith.

23 months agolibc: Fix -Wmissing-field-initializers.
Sascha Wildner [Fri, 29 Mar 2013 13:51:55 +0000 (14:51 +0100)]
libc: Fix -Wmissing-field-initializers.

23 months agolibc: Fix -Wempty-body.
Sascha Wildner [Thu, 28 Mar 2013 22:44:27 +0000 (23:44 +0100)]
libc: Fix -Wempty-body.

23 months agolibc: Fix -Wreturn-type.
Sascha Wildner [Thu, 28 Mar 2013 22:32:39 +0000 (23:32 +0100)]
libc: Fix -Wreturn-type.

23 months agolibc: Fix -Wunused-label.
Sascha Wildner [Thu, 28 Mar 2013 22:28:33 +0000 (23:28 +0100)]
libc: Fix -Wunused-label.

23 months agolibc: Fix -Wformat.
Sascha Wildner [Thu, 28 Mar 2013 22:13:44 +0000 (23:13 +0100)]
libc: Fix -Wformat.

23 months agolibc: Fix -Wunused-variable.
Sascha Wildner [Thu, 28 Mar 2013 22:07:56 +0000 (23:07 +0100)]
libc: Fix -Wunused-variable.

23 months agolibc: Fix -Wold-style-definition.
Sascha Wildner [Thu, 28 Mar 2013 18:29:19 +0000 (19:29 +0100)]
libc: Fix -Wold-style-definition.

23 months agolibc: Bring back warnings to libc.
Sascha Wildner [Fri, 29 Mar 2013 13:11:13 +0000 (14:11 +0100)]
libc: Bring back warnings to libc.

To disable warnings for the gdtoa sources only, the tweaking of the
CWARNFLAGS has to come _after_ <bsd.lib.mk> is included.

Therefore, it has to be done in libc's Makefile instead of its

Before this commit warnings were completely disabled for libc due
to '-w' passed to every command line.

Also reset WARNS back to 0 since right now, libc doesn't even pass

23 months agolibc/libc_r: Remove some obsolete comments.
Sascha Wildner [Fri, 29 Mar 2013 14:58:56 +0000 (15:58 +0100)]
libc/libc_r: Remove some obsolete comments.