np [Sun, 31 May 2015 23:47:08 +0000 (23:47 +0000)]
MFC r273480, r273750, r273753, r273797, and r274461.
r273480:
cxgbe/iw_cxgbe: wake up waiters after flushing the qp.
r273750:
Some cxgbe/iw_cxgbe fixes:
- Free rt in c4iw_connect only if it is allocated.
- Call soclose instead of so_shutdown if there is an abort from the peer.
- Close socket and return failure if TOE is not enabled.
r273753:
iwcm_event status needs to be populated for close_complete_upcall
r273797:
Always request a completion for every work request for iWARP. The
initial MPA exchange must be tracked this way so that t4_tom's state for
the tid is all clean at the time the tid transitions to RDMA mode. Once
it does, t4_tom is out of the way and iw_cxgbe uses the qp endpoints
directly.
r274461:
iw_cxgbe: don't forget to close the socket in c4iw_connect if soconnect
fails.
ae [Sun, 31 May 2015 23:29:04 +0000 (23:29 +0000)]
MFC r283313:
Properly update TX statistics for wlan(4).
ieee80211_pwrsave() can fail due to queue overflow, check its return code
and increment oerrors counter when it fails. Also handle more error cases
and update oerrors counter when we don't send mbuf due to some errors.
Return ENETDOWN when parent interface isn't ready. Update obytes and omcasts
counters in corresponding places.
ngie [Sun, 31 May 2015 23:00:35 +0000 (23:00 +0000)]
MFC r283147:
Build cddl/{sbin,usr.bin,usr.sbin} in parallel as all of the applications are
freestanding (they require libraries build via make libraries in buildworld)
ae [Sun, 31 May 2015 22:58:41 +0000 (22:58 +0000)]
MFC r282965:
Add an ability accept encapsulated packets from different sources by one
gif(4) interface. Add new option "ignore_source" for gif(4) interface.
When it is enabled, gif's encapcheck function requires match only for
packet's destination address.
ngie [Sun, 31 May 2015 22:44:14 +0000 (22:44 +0000)]
MFC r283170:
Import proposed fix from upstream for
atf-sh/atf_check_test:flush_stdout_on_timeout
Many thanks for jmmv for the fix!
PR: 197060
Original commit message:
From 0e546407567ea858e261e72f75c5ed61e07d0ddf Mon Sep 17 00:00:00 2001
From: Julio Merino <jmmv@google.com>
Date: Tue, 17 Feb 2015 18:10:11 -0500
Subject: [PATCH] Fix atf-sh/atf_check_test:flush_stdout_on_death
The test atf-sh/atf_check_test:flush_stdout_on_timeout was flaky as it
was playing solely with time. Fix this by making the test more robust
and rename it while we are at it: there is nothing left about "timeouts"
in this test, considering that ATF itself does not enforce deadlines
any longer.
Add routing_test:static_ipv6_loopback_route_for_each_fib.
It tests that all FIBs get a static IPv6 loopback route.
Submitted by: asomers
Sponsored by: Spectra Logic
MFSpectraBSD: 1048456 on 2014/03/13 1114523 on 2015/01/23
r277650 (by will):
Add tests/etc/rc.d to mtree.
Submitted by: stefanf
MFC with: 277627
r282059:
Move etc/tests/rc.d to etc/rc.d/tests to match the directory layout jmmv@
documented and implemented in other areas of the FreeBSD tree
r283056:
Move all test integration pieces for etc/ from etc/ to tests/
This is being done to fix breakage with make distribution with read-only
source trees as make distribution doesn't use make obj like building
tests/ does in all cases
Reported by: Wolfgang Zenker <wolfgang@lyxys.ka.sub.org>
Suggested by: jhb
tuexen [Sun, 31 May 2015 13:01:58 +0000 (13:01 +0000)]
MFC r283665:
Take source and destination address into account when determining
the scope.
This fixes a problem when a client with a global address
connects to a server with a private address.
Thanks to Irene Ruengeler in helping me to find the issue.
tuexen [Sun, 31 May 2015 12:56:22 +0000 (12:56 +0000)]
MFC r283662:
Fix a bug where messages would not be sent in SHUTDOWN_RECEIVED state.
This problem was reported by Mark Bonnekessel and Markus Boese.
Thanks to Irene Ruengeler for helping me to fix the cause of
the problem. It can be tested with the following packetdrill script:
bapt [Sat, 30 May 2015 21:45:46 +0000 (21:45 +0000)]
MFC: r273754 (by nwhitehorn)
Use pkg-1.4-style platform identifiers based on MACHINE_ARCH (e.g.
FreeBSD:11:amd64 instead of freebsd:11:x86:64) when bootstrapping pkg.
Thanks to portmgr for providing symlinks so both styles work.
rmacklem [Sat, 30 May 2015 01:04:45 +0000 (01:04 +0000)]
MFC: r283008
Add a warning message to mountd for exported file
systems that are automounted, since that configuration
isn't supported. This still allows the export, since
two emails I received felt that this should not be
disabled. It sends the message to syslog(LOG_ERR..), so that
it goes to the same places as the other messages related
to /etc/exports problems, even though it is a warning and not an error.
tuexen [Fri, 29 May 2015 13:37:04 +0000 (13:37 +0000)]
MFC r282810:
Ensure that the COOKIE-ACK can be sent over UDP if the COOKIE-ECHO was
received over UDP.
Thanks to Felix Weinrank for makeing me aware of the problem and to
Irene Ruengeler for providing the fix.
tuexen [Fri, 29 May 2015 13:28:24 +0000 (13:28 +0000)]
MFC r280782:
Add an SCTP symbol which was missed in
https://svnweb.freebsd.org/base?view=revision&revision=169622
This fixes
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197783
Thanks to Jukka Ukkonen for reporting the bug and providing a fix.
tuexen [Fri, 29 May 2015 13:26:05 +0000 (13:26 +0000)]
MFC r280714:
Improve the selection of the destination address of SACK chunks.
This fixes
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196755
and is joint work with rrs@.
tuexen [Fri, 29 May 2015 13:23:16 +0000 (13:23 +0000)]
MFC r280642:
Make sure that we don't free an SCTP shared key too early.
Thanks to Pouyan Sepehrdad from Qualcomm Product Security Initiative
for reporting the issue.
tuexen [Fri, 29 May 2015 13:18:10 +0000 (13:18 +0000)]
MFC r280459:
Fix two bugs which resulted in a screwed up end point list:
* Use a save way to walk throught a list while manipulting it.
* Have to appropiate locks in place.
Joint work with rrs@
tuexen [Fri, 29 May 2015 13:13:12 +0000 (13:13 +0000)]
MFC r280440:
Fix the bug in the handling of fragmented abandoned SCTP user messages reported in
https://code.google.com/p/sctp-refimpl/issues/detail?id=11
Thanks to Lally Singh for reporting it.
tuexen [Fri, 29 May 2015 11:01:46 +0000 (11:01 +0000)]
MFC r273634:
Fix a use of an uninitialized variable by makeing sure
that sctp_med_chunk_output() always initialized the reason_code
instead of relying on the caller.
The variable is only used for debugging purpose.
This issue was reported by Peter Bostroem from Google.
kib [Fri, 29 May 2015 07:48:30 +0000 (07:48 +0000)]
MFC r282948:
Use bare mmap(2) to allocate space for the per-thread keys,
instead of malloc(). This allows third party mallocs, which use
pthread_setspecific(3) on the allocation path, to work.
markj [Fri, 29 May 2015 03:47:35 +0000 (03:47 +0000)]
MFC r282331:
Don't drop the idr lock before verifying that the newly-inserted element
is present in the tree.
MFC r282741:
find_next_bit() and find_next_zero_bit(): if the caller-specified offset
lies within the last block of the bit set and no bits are set beyond the
offset, terminate the search immediately instead of continuing as though
there are further blocks in the set and subsequently returning an incorrect
result.
MFC r282743:
Ensure that msecs_to_jiffies(0) == 0.
erj [Thu, 28 May 2015 20:56:11 +0000 (20:56 +0000)]
Fix build issue and incompatibilites introduced by r283620.
- Re-introduce "device ixgbe" option for kernel configs. This allows
users to continue using existing kernel configurations, while still
letting if_ix and if_ixv exist to allow ifconfig magic to work.
Though the amd64 GENERIC config has "device ix" and "device ixv" instead of
"device ixgbe".
This is achieved by making the if_ixgbe module a stub that depends
on if_ix and if_ixv.
- Replace if_baudrate assignment with if_initbaudrate() call.
Thanks to jhb@ for the stub module suggestion and pointing out the if_baudrate
error.
dim [Thu, 28 May 2015 06:45:13 +0000 (06:45 +0000)]
MFC r283254:
Ensure that the static structs emitted by the MODULE_DEPEND() and
MODULE_VERSION() macros don't end up as .comm symbols, when all the
version fields are zero.
Normally, such symbols will end up in .bss, but for kernel module
version objects, this can lead to "garbage" version numbers.
Fix this by instructing the compiler to always put these structs in the
.data segment instead.
mckusick [Thu, 28 May 2015 00:11:36 +0000 (00:11 +0000)]
MFC of 269533:
Limit the number of cylinder groups that will be searched when
trying to build a cluster. The limit is tunable using the sysctl
vfs.ffs.maxclustersearch. The current limit is 10 cylinder groups
per block allocation. It was previously limited to the number of
cylinder groups in the filesystem per block allocation. When there
were no clusters of the needed size left, it repeatedly searched
the whole filesystem for a non-existent cluster on every block
allocation. The result was very slow filesystem allocation with
100% CPU utilization. The old behavior can be had by setting
vfs.ffs.maxclustersearch to a huge number (1,000,000).
This change affects only the layout policy routines so is not able
to interfere with the integrity of the filesystem.
jhb [Wed, 27 May 2015 14:29:39 +0000 (14:29 +0000)]
MFC 282241:
Don't free mbufs when stopping an interface in netmap mode.
Currently if you ifconfig down a vtnet interface while it is being used
via netmap, the kernel panics due to trying to treat the cookie values
in the virtio rings as mbufs to be freed. When netmap is enabled, these
cookie values are pointers to something else.
Note that other netmap-aware drivers don't seem to need this as they
store the mbuf pointers in the software rings that mirror the hardware
descriptor rings, and since netmap doesn't touch those, the software
state always has NULL mbuf pointers causing the loops to free mbufs to
not do anything. However, vtnet reuses the same state area for both
netmap and non-netmap mode, so it needs to explicitly avoid looking at
the rings and treating the cookie values as mbufs if netmap is
enabled.
hselasky [Wed, 27 May 2015 13:23:02 +0000 (13:23 +0000)]
MFC r283064:
Fix an off-by-one error by adding proper range checks when parsing the
HDA association descriptors. This fixes a crash during device probe
for some HDA PCI devices.