]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/log
FreeBSD/stable/8.git
12 years agoMFC r225676:
tuexen [Fri, 10 Feb 2012 23:15:10 +0000 (23:15 +0000)]
MFC r225676:
Cleanup the iterator code, remove code that is never executed.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231467 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r225635:
tuexen [Fri, 10 Feb 2012 23:12:48 +0000 (23:12 +0000)]
MFC r225635:
Fix the enabling/disabling of Heartbeats and path MTU
discovery when using the SCTP_PEER_ADDR_PARAMS socket option.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231466 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r225584:
tuexen [Fri, 10 Feb 2012 23:02:45 +0000 (23:02 +0000)]
MFC r225584:
Fix a typo introduced in
http://svn.freebsd.org/changeset/base/225571
Reported by Ilya A. Arkhipov.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231464 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r225571:
tuexen [Fri, 10 Feb 2012 23:00:24 +0000 (23:00 +0000)]
MFC r225571:
Make sure that SCTP rejects broadcast, multicast and wildcard addresses
as remote addresses.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231463 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r225559:
tuexen [Fri, 10 Feb 2012 22:57:50 +0000 (22:57 +0000)]
MFC r225559:
Ensure that 1-to-1 style SCTP sockets can only be connected once.
Allow implicit setup also for 1-to-1 style sockets as described
in the latest version of the socket API ID.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231462 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r225549:
tuexen [Fri, 10 Feb 2012 22:54:58 +0000 (22:54 +0000)]
MFC r225549:
Fix the handling of the flowlabel and DSCP value in the SCTP_PEER_ADDR_PARAMS
socket option.
Honor the net.inet6.ip6.auto_flowlabel sysctl setting.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231460 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r225462:
tuexen [Fri, 10 Feb 2012 22:52:08 +0000 (22:52 +0000)]
MFC r225462:
Improve implementation of the Nagle algorithm for SCTP:
Don't delay the final fragment of a fragmented user message.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231459 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224918:
tuexen [Fri, 10 Feb 2012 22:49:09 +0000 (22:49 +0000)]
MFC r224918:
Fix the handling of [gs]etsockopt() unconnected 1-to-1 style sockets.
While there:
* Fix a locking issue in setsockopt() of SCTP_CMT_ON_OFF.
* Fix a bug in setsockopt() of SCTP_DEFAULT_PRINFO, where the pr_value
  was ignored.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231458 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224870:
tuexen [Fri, 10 Feb 2012 22:44:36 +0000 (22:44 +0000)]
MFC r224870:
Add support for the spp_dscp field in the SCTP_PEER_ADDR_PARAMS
socket option. Backwards compatibility is provided by still
supporting the spp_ipv4_tos field.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231457 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224641:
tuexen [Fri, 10 Feb 2012 22:42:03 +0000 (22:42 +0000)]
MFC r224641:
The result of a joint work between rrs@ and myself at the IETF:
* Decouple the path supervision using a separate HB timer per path.
* Add support for potentially failed state.
* Bring back RTO.min to 1 second.
* Accept packets on IP-addresses already announced via an ASCONF
* While there: do some cleanups.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231456 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224271:
tuexen [Fri, 10 Feb 2012 22:31:47 +0000 (22:31 +0000)]
MFC r224271:
Fix the following bugs related to the SCTP support of netstat:
* Correctly handle -a.
* -A isn't supported.
* Show all closed 1-to-1 and 1-to-many style sockets.
* Show all listening 1-to-many style sockets.
* Use consistent formatting for -W.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231455 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223965:
tuexen [Fri, 10 Feb 2012 22:29:41 +0000 (22:29 +0000)]
MFC r223965:
Don't check for SOCK_DGRAM anymore. Also remove multicast
related code which is not necessary anymore.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231454 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223963:
tuexen [Fri, 10 Feb 2012 22:26:33 +0000 (22:26 +0000)]
MFC r223963:
The socket API only specifies SCTP for SOCK_SEQPACKET and
SOCK_STREAM, but not SOCK_DGRAM. So don't register it for
SOCK_DGRAM.
While there, fix some indentation.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231453 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223947:
tuexen [Fri, 10 Feb 2012 22:21:50 +0000 (22:21 +0000)]
MFC r223947:
Truncate link addresses like it is done for any
other address type.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231452 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223697:
tuexen [Fri, 10 Feb 2012 22:19:07 +0000 (22:19 +0000)]
MFC r223697:
Add the missing sca_keylength field to the sctp_authkey structure,
which is used the the SCTP_AUTH_KEY socket option.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231451 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223613:
tuexen [Fri, 10 Feb 2012 22:16:52 +0000 (22:16 +0000)]
MFC r223613:
Add support for SCTP_PR_SCTP_NONE which I misded to add.
This constant is defined in the socket API ID.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231450 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223225:
tuexen [Fri, 10 Feb 2012 22:14:34 +0000 (22:14 +0000)]
MFC r223225:
Document the latest changes to sctp_opt_info() in the code.
This makes sctp_opt_info() compiliant with the latest version
of the socket API ID.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231448 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223178:
tuexen [Fri, 10 Feb 2012 22:13:11 +0000 (22:13 +0000)]
MFC r223178:
Update the list of supported socket options for sctp_opt_info().

git-svn-id: svn://svn.freebsd.org/base/stable/8@231447 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 223162:
tuexen [Fri, 10 Feb 2012 22:10:36 +0000 (22:10 +0000)]
MFC 223162:
Add SCTP_DEFAULT_PRINFO socket option.
Fix the SCTP_DEFAULT_SNDINFO socket option: Don't clear the
PR SCTP policy when setting sinfo_flags.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231446 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223154:
tuexen [Fri, 10 Feb 2012 22:07:51 +0000 (22:07 +0000)]
MFC r223154:
Fix two typos and remove redundant code.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231445 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223152:
tuexen [Fri, 10 Feb 2012 22:06:08 +0000 (22:06 +0000)]
MFC r223152:
* Fix the handling of addresses in sctp_sendv().
* Add support for SCTP_SENDV_NOINFO.
* Improve the error handling of sctp_sendv() and sctp_recv().

git-svn-id: svn://svn.freebsd.org/base/stable/8@231444 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223132:
tuexen [Fri, 10 Feb 2012 21:28:38 +0000 (21:28 +0000)]
MFC r223132:
Add support for the newly added SCTP API.
In particular add support for:
* SCTP_SNDINFO, SCTP_PRINFO, SCTP_AUTHINFO, SCTP_DSTADDRV4, and
  SCTP_DSTADDRV6 cmsgs.
* SCTP_NXTINFO and SCTP_RCVINFO cmgs.
* SCTP_EVENT, SCTP_RECVRCVINFO, SCTP_RECVNXTINFO and SCTP_DEFAULT_SNDINFO
  socket option.
* Special association ids (SCTP_FUTURE_ASSOC, ...)
* sctp_recvv() and sctp_sendv() functions.
Modified because SCTP_MAXBURST was not backported.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231442 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222459:
tuexen [Fri, 10 Feb 2012 21:07:52 +0000 (21:07 +0000)]
MFC r222459:
Get rid of unused functions.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231440 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222077:
tuexen [Fri, 10 Feb 2012 21:05:34 +0000 (21:05 +0000)]
MFC r222077:
Unbreak INET-less build.
Reported by bz@

git-svn-id: svn://svn.freebsd.org/base/stable/8@231439 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222029:
tuexen [Fri, 10 Feb 2012 21:03:17 +0000 (21:03 +0000)]
MFC r222029:
Copy out the mtu when calling getsockopt() with SCTP_GET_PEER_ADDR_INFO.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231438 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r222028:
tuexen [Fri, 10 Feb 2012 21:01:06 +0000 (21:01 +0000)]
MFC r222028:
Fix whitespacing.
Reported by scf@

git-svn-id: svn://svn.freebsd.org/base/stable/8@231436 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221904:
tuexen [Fri, 10 Feb 2012 20:57:46 +0000 (20:57 +0000)]
MFC r221904:
Fix the source address selection for boundall sockets
when sending INITs to a global IPv4 address having
only private IPv4 address.
Allow the usage of a private address and make sure
that no other private address will be used by the
association.
Initial work was done by rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231435 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221627:
tuexen [Fri, 10 Feb 2012 20:54:20 +0000 (20:54 +0000)]
MFC r221627:
Fix a locking issue showing up on Mac OS X when subscribing to
authentication events. DTLS/SCTP renegotiations trigger the bug.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231434 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221549:
tuexen [Fri, 10 Feb 2012 20:49:18 +0000 (20:49 +0000)]
MFC r221549:
Change the name of an internal structure, since the name
is used by a structure of the (new) SCTP API.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231433 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221512:
tuexen [Fri, 10 Feb 2012 20:45:17 +0000 (20:45 +0000)]
MFC r221512:
* Update copyright notice.
* Cleanup usage of iov's.
* Add support for SCTP_TIMEOUTS socketoption.
* Fix a bug in sctp_recvmsg(): return the msg_flags in case of an error.
* Fix a bug in the error handling of sctp_peeloff(): return the -1.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231432 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221460:
tuexen [Fri, 10 Feb 2012 20:38:44 +0000 (20:38 +0000)]
MFC r221460:
Implement Resource Pooling V2 and an MPTCP like congestion
control.
Based on a patch received from Martin Becke.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231431 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221411:
tuexen [Fri, 10 Feb 2012 20:36:17 +0000 (20:36 +0000)]
MFC r221411:
Remove code with any effect.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231430 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221410:
tuexen [Fri, 10 Feb 2012 20:34:20 +0000 (20:34 +0000)]
MFC r221410:
Add a missing break. This bug was introduced in r221249.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231429 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221328:
tuexen [Fri, 10 Feb 2012 20:31:59 +0000 (20:31 +0000)]
MFC r221328:
Some more cleanups related to an kernel without INET.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231428 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221251:
tuexen [Fri, 10 Feb 2012 20:29:55 +0000 (20:29 +0000)]
MFC r221251:
Remove some leftover debug code.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231427 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r221249:
tuexen [Fri, 10 Feb 2012 20:27:58 +0000 (20:27 +0000)]
MFC r221249:
Improve compilation of SCTP code without INET support.
Some bugs where fixed while doing this:
* ASCONF-ACK messages might use wrong port number when using
  IPv6.
* Checking for additional addresses takes the correct address
  into account and also does not do more comparisons than
  necessary.

This patch is based on one received from bz@ who was
sponsored by The FreeBSD Foundation and iXsystems.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231426 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r219397:
tuexen [Fri, 10 Feb 2012 20:22:45 +0000 (20:22 +0000)]
MFC r219397:
Tunes and fixes the new DC-CC to seem to hit the
right mix.  Still may need some tweaks but it
appears to almost not give away too much to an
RFC2581 flow, but can really minimize the amount of
buffers used in the net.
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231425 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r219120:
tuexen [Fri, 10 Feb 2012 20:19:38 +0000 (20:19 +0000)]
MFC r219120:
Adds a new Congestion Control that helps reduce
the RTT that a flow will build up in buffers in
transit. It is a slight modification to RFC2581
but is more friendly i.e. less aggressive.
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231424 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r219057:
tuexen [Fri, 10 Feb 2012 20:17:28 +0000 (20:17 +0000)]
MFC r219057:
Improvements to CC modules:
1) Add four new points that allow you to get more information
   to cc algo's
2) Fix the case where user changes module on a existing TCB, in
   such a case, the initialization module needs to be called on all nets.
3) Move htcp_cc structure to a union that other modules can use.
4) Add 5th point for get/set socket options for cc_module specific options
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231423 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r219014:
tuexen [Fri, 10 Feb 2012 20:09:23 +0000 (20:09 +0000)]
MFC r219014:
* Fix several bugs where the scaled versions of srtt and rttvar
  where used incorrectly.
* Use appropriate variable names for RTO instead of RTT.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231422 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r219013:
tuexen [Fri, 10 Feb 2012 20:07:01 +0000 (20:07 +0000)]
MFC r219013:
* Cleanup the code computing the retransmission timeout.
* Fix an initialization bug for the scaled variance of the RTO.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231421 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218818:
tuexen [Fri, 10 Feb 2012 20:00:21 +0000 (20:00 +0000)]
MFC r218818:
Bugfix: Get per vnet sysctl variables and statistics working.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231420 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218641:
tuexen [Fri, 10 Feb 2012 19:57:58 +0000 (19:57 +0000)]
MFC r218641:
Fix a bug reported by Jonathan Leighton in his web-sctp testing
at the Univ-of-Del. Basically when a 1-to-1 socket did a
socket/bind/send(data)/close. If the timing was right
we would dereference a socket that is NULL.
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231418 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218639:
tuexen [Fri, 10 Feb 2012 19:56:02 +0000 (19:56 +0000)]
MFC r218639:
Fix several bugs related to stream scheduling.

Obtained from: Robin Seggelmann

git-svn-id: svn://svn.freebsd.org/base/stable/8@231417 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218521:
tuexen [Fri, 10 Feb 2012 19:54:18 +0000 (19:54 +0000)]
MFC r218521:
Remove addresses from endpoint when there are no associations.
This fixes a bug reported by brucec@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231416 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218400:
tuexen [Fri, 10 Feb 2012 19:52:18 +0000 (19:52 +0000)]
MFC r218400:
Fix bugs related to M_FLOWID:
* Store the flowid when receiving an SCTP/IPv6 packet.
* Store the flowid when receiving an SCTP packet with wrong CRC.
* Initilize flowid correctly.
* Put test code under INVARIANTS.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231415 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218393:
tuexen [Fri, 10 Feb 2012 19:49:35 +0000 (19:49 +0000)]
MFC r218393:
If not set (due to some error Michael is working on
fixing) set it for the net.
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231414 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218392:
tuexen [Fri, 10 Feb 2012 19:47:15 +0000 (19:47 +0000)]
MFC r218392:
1) Track when flowid does get set.
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231413 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218371:
tuexen [Fri, 10 Feb 2012 19:40:19 +0000 (19:40 +0000)]
MFC r218371:
1) Use same scheme Michael and I discussed for a selected for a flowid
2) If flowid is not set, arrange so it is stored.
3) If flowid is set by lower layer, use it.
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231412 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218335:
tuexen [Fri, 10 Feb 2012 19:37:23 +0000 (19:37 +0000)]
MFC r218335:
Add support for M_FLOWID.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231411 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218319:
tuexen [Fri, 10 Feb 2012 19:29:38 +0000 (19:29 +0000)]
MFC r218319:
1) Typo correction in comments and one spacing change.
2) Mass update to all copyrights.
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231410 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218269:
tuexen [Fri, 10 Feb 2012 19:27:03 +0000 (19:27 +0000)]
MFC r218269:
1) Fix cpu mapping per JB's suggestions
2) Fix it so INIT's don't always end up on CPU0
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231409 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218241:
tuexen [Fri, 10 Feb 2012 19:22:21 +0000 (19:22 +0000)]
MFC r218241:
Fix several bugs in the stream schedulers.
From Robin Seggelmann.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231408 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218235:
tuexen [Fri, 10 Feb 2012 19:19:15 +0000 (19:19 +0000)]
MFC r218235:
Make sure that changing the ECN sysctl does not affect
exisiting associations and endpoints.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231407 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218232:
tuexen [Fri, 10 Feb 2012 19:15:05 +0000 (19:15 +0000)]
MFC r218232:
1) Move per John Baldwin to mp_maxid
2) Some signed/unsigned errors found by Mac OS compiler (from Michael)
3) a couple of copyright updates on the effected files.
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231405 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218219:
tuexen [Fri, 10 Feb 2012 19:12:23 +0000 (19:12 +0000)]
MFC r218219:
Fix the per CPU stats so that:
1) They don't use the giant "MAX_CPU" define and instead
   are allocated dynamically based on mp_ncpus
2) Will zero with the netstat -z -s -p sctp
3) Will be properly handled by both the sctp_init and finish
   (the multi-net stuff was incorrectly bzero'ing in sctp_init
    the wrong size.. the bzero is now moved to the right places).
    And of course the free is put in at the very end.
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231404 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218211:
tuexen [Fri, 10 Feb 2012 19:10:09 +0000 (19:10 +0000)]
MFC r218211:
Adds an experimental option to create a pool of
threads. These serve as input threads and are queued
packets based on the V-tag number. This is similar to
what a modern card can do with queue's for TCP... but
alas modern cards know nothing about SCTP.
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231403 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218186:
tuexen [Fri, 10 Feb 2012 19:07:32 +0000 (19:07 +0000)]
MFC r218186:
1) Allow a chunk to track the cwnd it was at when sent.
2) Add separate max-bursts for retransmit and hb. These
   are set to sysctlable values but not settable via the
   socket api. This makes sure we don't blast out HB's or
   fast-retransmits.
3) Determine on the first data transmission on a net if
   its local-lan (by being under or over a RTT). This
   can later be used to think about different algorithms
   based on locallan vs big-i (experimental)
4) The cwnd should NOT be allowed to grow when an ECNEcho
   is seen (TCP has this same bug). We fix this in SCTP
   so an ECNe being seen prevents an advance of cwnd.
5) CWR's should not be sent multiple times to the
   same network, instead just updating the TSN being
   transmitted if needed.
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231402 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218129:
tuexen [Fri, 10 Feb 2012 19:04:26 +0000 (19:04 +0000)]
MFC r218129:
More ECN fixes:
1) We now remove ECN-Nonce since it will no longer continue as a I-D
2) Eliminate last_tsn_echo, this tied us to an assoc not the net
   and thus we were not doing m-homing on the ECN-Echo senders side right.
3) Increment the count going out even if the TSN in lower in the pending
   ECN-Echo, this way the receiver knows exactly how many packets were
   marked even with network re-ordering
4) Fix so we DO NOT stop doing delayed sack if a ECN Echo is in queue

git-svn-id: svn://svn.freebsd.org/base/stable/8@231401 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218072:
tuexen [Fri, 10 Feb 2012 19:02:07 +0000 (19:02 +0000)]
MFC r218072:
Fixes to ECN in SCTP.
1) ECN was on an association basis, this is incorrect and
   will not work with CMT or for that matter if the user
   is sending to multiple addresses. This commit makes
   ECN on a per path basis.
2) Adopt the new format for the ECN internet draft. This also
   maintains compatability with old format chunks as well.
3) Keep track of the real time of a RTT down to micro seconds.
   For some future conditional features (for like a data center
   this is good information to have).
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231400 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218039:
tuexen [Fri, 10 Feb 2012 18:58:36 +0000 (18:58 +0000)]
MFC r218039:
Keep track of the real last RTT on each net.
This will be used for Data Center congestion
control, we won't want to engage it in the
ECN code unless we KNOW that the RTT is less
than 500us.
From rrs@

git-svn-id: svn://svn.freebsd.org/base/stable/8@231399 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r218037:
tuexen [Fri, 10 Feb 2012 18:55:50 +0000 (18:55 +0000)]
MFC r218037:
Fix a bug in the way ECN-Echo chunk
sends were being accounted for. The
counting was such that we counted only
when we queued a chunk, not when we sent it.
Now keep an additional counter for queuing and
one for sending.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231398 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r217913:
tuexen [Fri, 10 Feb 2012 18:53:39 +0000 (18:53 +0000)]
MFC r217913:
* Use 300 ms as the default for RTO_MIN.
* Disable burst mitigation by default.
* Remove unused constant.
Discussed with rrs.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231397 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r217894:
tuexen [Fri, 10 Feb 2012 18:49:28 +0000 (18:49 +0000)]
MFC r217894:
Change infrastructure for SCTP_MAX_BURST to allow compliance
with the latest socket API ID. Especially it can be disabled.

Full compliance needs changing the structure used in the
socket option. Since this breaks the API, it will be a
seperate commit which will not be MFCed to stable/8.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231396 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r217760:
tuexen [Fri, 10 Feb 2012 18:43:04 +0000 (18:43 +0000)]
MFC r217760:
Add stream scheduling support.
This work is based on a patch received from Robin Seggelmann.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231395 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 231170
ken [Fri, 10 Feb 2012 18:15:45 +0000 (18:15 +0000)]
MFC 231170

Update the mps(4) man page for the changes in the new LSI-supported driver.

This should have been included in change 230592.

The supported hardware section still needs some updating to reflect
the current reality.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231393 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r217554:
tuexen [Fri, 10 Feb 2012 17:49:14 +0000 (17:49 +0000)]
MFC r217554:

Specify a CTLTYPE_FOO so that a future sysctl(8) change does not need
to rely on the format string.  For SYSCTL_PROC instances that I
noticed a discrepancy between the CTLTYPE and the format specifier,
fix the CTLTYPE.

The commit is from mdf@ and the MFC has been discussed with him.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231391 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r230403.
brooks [Fri, 10 Feb 2012 15:54:39 +0000 (15:54 +0000)]
MFC r230403.

When creating the jails /dev/log symlink, do it by full path to avoid
creating stray "log" symlinks if the mount fails.  That apparently
happens in some ezjail configs.

PR: conf/143084
Submitted by: Dirk Engling <erdgeist at erdgeist.org>

git-svn-id: svn://svn.freebsd.org/base/stable/8@231389 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r231144:
mm [Fri, 10 Feb 2012 13:36:39 +0000 (13:36 +0000)]
MFC r231144:
Merge illumos revision 13594:

uninitialized variables in zfs(8) may make snapshots undestroyable [1]

References:
https://www.illumos.org/issues/2067 [1]

Obtained from: illumos (issue #2067)
PR: bin/164802

git-svn-id: svn://svn.freebsd.org/base/stable/8@231382 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223741:
bz [Fri, 10 Feb 2012 13:15:11 +0000 (13:15 +0000)]
MFC r223741:

 Tag mbufs of all incoming frames or packets with the interface's FIB
 setting (either default or if supported as set by SIOCSIFFIB, e.g.
 from ifconfig).

 Submitted by: Alexander V. Chernikov (melifaro ipfw.ru)
 Reviewed by: julian

git-svn-id: svn://svn.freebsd.org/base/stable/8@231380 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r228191:
dougb [Fri, 10 Feb 2012 10:23:20 +0000 (10:23 +0000)]
MFC r228191:

Ensure kldxref is run first.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231374 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r208307:
dougb [Fri, 10 Feb 2012 10:18:30 +0000 (10:18 +0000)]
MFC r208307:

This change does the following for the scripts that run up through
FILESYSTEMS (the default early_late_divider):
1. Move sysctl to run first
2. Move as many BEFOREs to REQUIREs as possible.
3. Minor effect, move hostid_save from right before mdconfig to right
   after.

A lot of the early scripts make use of sysctl one way or another so
running this first makes a lot of sense given that system-critical
values are often placed in sysctl.conf. (More details in original log.)

In addition to the changes from this revision, tweak a few other rcorder
elements in order to minimize the differences between the order before
and after this change, mostly related to scripts still in this branch
that are no longer in HEAD.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231372 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoPull up mergeinfo from r226345,226464,226879 to etc/ where it belongs
dougb [Fri, 10 Feb 2012 09:46:59 +0000 (09:46 +0000)]
Pull up mergeinfo from r226345,226464,226879 to etc/ where it belongs

git-svn-id: svn://svn.freebsd.org/base/stable/8@231366 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r217742:
tuexen [Fri, 10 Feb 2012 07:52:51 +0000 (07:52 +0000)]
MFC r217742:
Remove unnecessary checking of variable.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231364 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r217638:
tuexen [Fri, 10 Feb 2012 07:51:28 +0000 (07:51 +0000)]
MFC r217638:
Improve comments.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231363 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r217635:
tuexen [Fri, 10 Feb 2012 07:49:57 +0000 (07:49 +0000)]
MFC r217635:
Fix it so we align with new socket API draft for
state's in destination (i.e. ACTIVE/INACTIVE/UNCONFIRMED)
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231362 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r217611:
tuexen [Fri, 10 Feb 2012 07:47:34 +0000 (07:47 +0000)]
MFC r217611:
Cleanup the management of CC functions.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231361 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r217469:
tuexen [Fri, 10 Feb 2012 07:44:03 +0000 (07:44 +0000)]
MFC r217469:
Add support for resource pooling to CMT.
An original version of the patch was developed by Martin Becke
and Thomas Dreibholz.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231360 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r215817:
tuexen [Fri, 10 Feb 2012 07:42:38 +0000 (07:42 +0000)]
MFC r215817:
Adds new dtrace for cwnd functions and lay's
groundwork for future dtrace points (rwnd flightsize etc).
From rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231359 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216887:
tuexen [Fri, 10 Feb 2012 07:31:50 +0000 (07:31 +0000)]
MFC r216887:
Bugfix: Make sure that the COMM_UP notificatin is delivered first also
        on the passive side.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231358 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216878:
tuexen [Fri, 10 Feb 2012 07:30:15 +0000 (07:30 +0000)]
MFC r216878:
Fix a typo.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231357 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC 216825:
tuexen [Fri, 10 Feb 2012 07:28:37 +0000 (07:28 +0000)]
MFC 216825:
Define and use SCTP_SSN_GE, SCTP_SSN_GT, SCTP_TSN_GE, SCTP_TSN_GT macros
and use them instead of the generic compare_with_wrap.
Retire compare_with_wrap.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231356 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216822:
tuexen [Fri, 10 Feb 2012 07:26:45 +0000 (07:26 +0000)]
MFC r216822:
Code cleanup: Use LIST_FOREACH, LIST_FOREACH_SAFE, TAILQ_FOREACH,
              TAILQ_FOREACH_SAFE where appropriate.
No functional change.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231355 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216821:
tuexen [Fri, 10 Feb 2012 07:23:42 +0000 (07:23 +0000)]
MFC r216821:
Fix three bugs related to the sequence number wrap-around affecting
the processing of ECNE and ASCONF chunks.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231354 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216672:
tuexen [Fri, 10 Feb 2012 07:21:29 +0000 (07:21 +0000)]
MFC r216672:
Provide a possibility to configure the inital congestion window to the
value defined in RFC 4960.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231353 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r216669:
tuexen [Fri, 10 Feb 2012 07:19:36 +0000 (07:19 +0000)]
MFC r216669:
Improve plausibility check in sctp_handle_sack().
Allow cmt_on_off to support values 0 (no CMT), 1 (CMT), and 2 (CMT/RP).

git-svn-id: svn://svn.freebsd.org/base/stable/8@231352 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223735:
bz [Fri, 10 Feb 2012 06:42:00 +0000 (06:42 +0000)]
MFC r223735:

 Add infrastructure to allow all frames/packets received on an interface
 to be assigned to a non-default FIB instance.

 Submitted by: cjsp
 Submitted by: Alexander V. Chernikov (melifaro ipfw.ru)
  (original versions)
 Reviewed by: julian
 Reviewed by: Alexander V. Chernikov (melifaro ipfw.ru)

Reviewed by: melifaro

git-svn-id: svn://svn.freebsd.org/base/stable/8@231346 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r230861:
ae [Fri, 10 Feb 2012 06:38:57 +0000 (06:38 +0000)]
MFC r230861:
  The scheme code may not know about some inconsistency in the metadata.
  So, add an integrity check after recovery attempt.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231345 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r228061:
ae [Fri, 10 Feb 2012 06:35:14 +0000 (06:35 +0000)]
MFC r228061:
  The size of APM could be bigger than number of already allocated entries.
  And the first usable sector should not start from the inside of APM area.

MFC r228076:
  Add an ability to increase number of allocated APM entries when we
  have reserved free space in the APM area.
  Also instead of one write request per each APM entry, use MAXPHYS
  sized writes when we are updating APM.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231343 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223334:
bz [Fri, 10 Feb 2012 06:12:48 +0000 (06:12 +0000)]
MFC r223334:

 Leave an extra comment about flowtable and IPv6 support rectifying a
 previous comment (r206024 in stable/8) to not forget things here in the
 future as well and merge the changes without conflicts.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231340 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r223259:
bz [Fri, 10 Feb 2012 06:06:25 +0000 (06:06 +0000)]
MFC r223259:

 Correct a typo in the function name.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231338 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r224202:
bz [Fri, 10 Feb 2012 06:02:21 +0000 (06:02 +0000)]
MFC r224202:

 Constantly print the command name and if set include the thread
 name in per-thread mode.

 Discussed with: jhb
 Obtained from:  Ed Maste at Sandvine Incorporated
 Sponsored by:   Sandvine Incorporated

git-svn-id: svn://svn.freebsd.org/base/stable/8@231337 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r231111, r231331:
eadler [Fri, 10 Feb 2012 04:10:13 +0000 (04:10 +0000)]
MFC r231111, r231331:
 ports(7) currently makes no mention of LOCALBASE: fix that

PR: 159551
Approved by: gjb

git-svn-id: svn://svn.freebsd.org/base/stable/8@231334 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r230605
rmacklem [Fri, 10 Feb 2012 04:01:17 +0000 (04:01 +0000)]
MFC: r230605
A problem with respect to data read through the buffer cache for both
NFS clients was reported to freebsd-fs@ under the subject "NFS
corruption in recent HEAD" on Nov. 26, 2011. This problem occurred when
a TCP mounted root fs was changed to using UDP. I believe that this
problem was caused by the change in mnt_stat.f_iosize that occurred
because rsize was decreased to the maximum supported by UDP. This
patch fixes the problem by using v_bufobj.bo_bsize instead of f_iosize,
since the latter is set to f_iosize when the vnode is allocated, but
does not change for a given vnode when f_iosize changes.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231332 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r230510:
bz [Fri, 10 Feb 2012 00:51:32 +0000 (00:51 +0000)]
MFC r230510:

 Replace random ARIN direct assignment legacy IPs with proper RFC 5735
 TEST-NET1 block for use in documentation and example code addresses.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231327 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r230506:
bz [Fri, 10 Feb 2012 00:24:41 +0000 (00:24 +0000)]
MFC r230506:

 Plug a possible ifa_ref leak in case of premature return from in6_purgeaddr().

 Reviewed by: rwatson

git-svn-id: svn://svn.freebsd.org/base/stable/8@231325 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r228344:
eadler [Fri, 10 Feb 2012 00:09:21 +0000 (00:09 +0000)]
MFC r228344:
 - Add support for Support SEAGATE DAT Scopion 130

PR: kern/141934
Approved by: cperciva

git-svn-id: svn://svn.freebsd.org/base/stable/8@231322 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r230494:
bz [Fri, 10 Feb 2012 00:01:50 +0000 (00:01 +0000)]
MFC r230494:

 Remove unnecessary line break.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231318 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r230387:
bz [Thu, 9 Feb 2012 22:54:07 +0000 (22:54 +0000)]
MFC r230387:

 Remove a superfluous INET6 check (no opt_inet6.h included anyway).

git-svn-id: svn://svn.freebsd.org/base/stable/8@231315 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r229546:
bz [Thu, 9 Feb 2012 21:33:36 +0000 (21:33 +0000)]
MFC r229546:

 Convert an #ifdef DIAGNOSTIC if/panic to a KASSERT.

git-svn-id: svn://svn.freebsd.org/base/stable/8@231307 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f