summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_sysctl.c
Commit message (Collapse)AuthorAgeFilesLines
* MFC r263237:tuexen2014-06-221-1/+6
| | | | | | | | | | * Provide information in error causes in ASCII instead of proprietary binary format. * Add support for a diagnostic information error cause. The code is sysctlable and the default is 0, which means it is not sent. This is joint work with rrs@.
* Merge r261590: Fixup for r261590 (vnet sysctl handlers cleanup)glebius2014-03-041-4/+0
|
* Export the inpcb features as a 64-bit entity.tuexen2013-08-221-1/+1
| | | | | | Bump __FreeBSD_version to 1000048 since the modified structure is user visible and used by netstat, for example.
* Make also the features of the association 64-bit.tuexen2013-08-221-1/+1
| | | | | | | | | When exporting to xinpcb, just export the lower 32-bit. Using there also 64-bits will break the ABI and will be committed separetly. MFC after: 2 weeks X-MFC with: 254248
* Fix a bug were only 2048 streams where usable even though more thantuexen2013-07-051-0/+6
| | | | | | | 2048 streams were negotiated on the wire. While there, remove the hard coded limit of 2048 streams. MFC after: 3 days
* Cleanup the handling of address scopes. Announce in the INIT/INIT-ACKtuexen2013-02-091-15/+15
| | | | | | | only the supported address types. While there, do some whitespace cleanups. MFC after: 1 week
* Add support for SCTP/UDP/IPV6.tuexen2012-11-171-7/+0
| | | | | | | This completes the support of http://tools.ietf.org/html/draft-ietf-tsvwg-sctp-udp-encaps MFC after: 1 week
* Whitespace cleanup.tuexen2012-06-251-2/+2
| | | | MFC after: 3 days
* Get rid of SCTP specific code to avoid CRC32C computations on loopback.tuexen2012-05-261-11/+0
| | | | | Just just offloading. MFC after: 3 days
* Use consistent text at the begining of the files.tuexen2012-05-231-2/+2
| | | | MFC after: 3 days
* Add an SCTP sysctl "blackhole", similar to the one for TCP.tuexen2012-01-081-0/+6
| | | | | | | | | | If set to 1, no ABORT is sent back in response to an incoming INIT. If set to 2, no ABORT is sent back in response to an out of the blue packet. If set to 0 (the default), ABORTs are sent. Discussed with rrs@. MFC after: 1 month.
* Retire the SCTP sysctl "strict_init". We always perform the validationtuexen2012-01-071-6/+0
| | | | | and there is no reason to make is configuarable. Discussed with rrs@.
* Address issues found by clang. While there, fix also some styletuexen2011-12-271-10/+10
| | | | | | issues. MFC after: 3 months.
* Fix unused parameter warnings.tuexen2011-12-171-3/+3
| | | | | | While there, fix some whitespace issues. MFC after: 3 months.
* Add support for the SCTP_REMOTE_UDP_ENCAPS_PORT socket option.tuexen2011-11-201-9/+0
| | | | | | | Retire the the now unused sctp_udp_tunneling_for_client_enable sysctl variable. MFC after: 3 months.
* The result of a joint work between rrs@ and myself at the IETF:tuexen2011-08-031-29/+8
| | | | | | | | | | | * 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. Approved by: re@ MFC after: 2 months.
* Improve compilation of SCTP code without INET support.tuexen2011-04-301-4/+32
| | | | | | | | | | | | | | 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. MFC after: 1 week
* Tunes and fixes the new DC-CC to seem to hit therrs2011-03-081-0/+13
| | | | | | | | | 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. MFC after: 3 months
* Adds a new Congestion Control that helps reducerrs2011-03-011-6/+0
| | | | | | | | 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. MFC after: 3 months
* Fix breakage in sys/netinet/sctp_sysctl.c, introduced by r219057. Ifdim2011-02-261-0/+6
| | | | | | | SCTP_HAS_RTTC is not defined, this file fails to compile. Insert the necessary #ifdefs to make it work. Pointy hat to: rrs
* Improvements to CC modules:rrs2011-02-261-0/+18
| | | | | | | | | | | 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 MFC after: 2 months
* * Cleanup the code computing the retransmission timeout.tuexen2011-02-241-1/+1
| | | | | | * Fix an initialization bug for the scaled variance of the RTO. MFC after: 3 months.
* Bugfix: Get per vnet sysctl variables and statistics working.tuexen2011-02-181-76/+77
| | | | MFC after:3 months.
* 1) Typo correction in comments and one spacing change.rrs2011-02-051-3/+2
| | | | | 2) Mass update to all copyrights. MFC after: 3 Months
* 1) Move per John Baldwin to mp_maxidrrs2011-02-031-1/+1
| | | | | | | 2) Some signed/unsigned errors found by Mac OS compiler (from Michael) 3) a couple of copyright updates on the effected files. MFC after: 3 months
* Fix the per CPU stats so that:rrs2011-02-031-3/+19
| | | | | | | | | | | | 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. MFC after: 3 Months
* 1) Allow a chunk to track the cwnd it was at when sent.rrs2011-02-021-0/+6
| | | | | | | | | | | | | | | | | | | 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. MFC after: 1 Month
* More ECN fixes:rrs2011-01-311-6/+0
| | | | | | | | | | | 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 MFC after: 1 month
* Add stream scheduling support.tuexen2011-01-231-0/+7
| | | | | | This work is based on a patch received from Robin Seggelmann. MFC after: 3 months.
* Specify a CTLTYPE_FOO so that a future sysctl(8) change does not needmdf2011-01-181-67/+67
| | | | | | 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.
* Make the initial congestion window configurable via sysctl.tuexen2010-09-171-0/+6
| | | | MFC after: 2 weeks.
* * Implement initial version of send buffer splitting.tuexen2010-09-171-1/+6
| | | | | * Make send/recv buffer splitting switchable via sysctl. * While there: Fix some comments.
* Remove assignment without effect.tuexen2010-09-151-2/+0
| | | | MFC after: 2 weeks.
* Fix the the SCTP_WITH_NO_CSUM option when used in combination withtuexen2010-08-291-0/+6
| | | | | | | interface supporting CRC offload. While at it, make use of the feature that the loopback interface provides CRC offloading. MFC after: 4 weeks
* 1) Optimize the cleanup and don't always depend onrrs2010-06-061-3/+10
| | | | | | | | | | | | | the timer. This is done by considering the locks we will destroy and if they are contended we consider it the same as a reference count being up. Fixing this appears to cleanup another crash that was appearing with all the timers where the socket buf lock got corrupted. 2) Fix the sysctl code to take a lot more care when looking at INP's that are in the GONE or ALLGONE state. MFC after: 1 week
* Adds the option of keeping per-cpu statistics in SCTP. Thisrrs2010-03-241-1/+159
| | | | | | may be useful since it gets rid of atomics but I want it to remain an option until I can do further testing on if it really speeds things up.
* More leaked ifdefs for APPLE and its mobility stuff.rrs2010-01-171-12/+0
|
* Get SCTP working in combination with VIMAGE.tuexen2009-09-191-1/+1
| | | | | | Contains code from bz. Approved by: rrs (mentor) MFC after: 1 month.
* Fix a bug where wrong initialization valuetuexen2009-07-281-3/+3
| | | | | | | in used for an SCTP specific sysctl variable. Approved by: re, rrs(mentor). MFC after: 2 weeks.
* Adds missing sysctl to manage the vtag_time_wait time. This willrrs2009-05-301-0/+7
| | | | | | even allow disabling time-wait all together if you set the value to 0 (not advisable actually). The default remains the same i.e. 60 seconds.
* Add more padding and a new variable. This willrrs2009-04-081-1/+1
| | | | | | help us be able to keep ABI compatibility between 8 and 9. MFC after: Never
* Many bug fixes (from the IETF hack-fest):rrs2009-04-041-0/+1
| | | | | | | | | | | | | | | | - PR-SCTP had major issues when skipping through a multi-part message. o Did not look at socket buffer. o Did not properly handle the reassmebly queue. o The MARKED segments could interfere and un-skip a chunk causing a problem with the proper FWD-TSN. o No FR of FWD-TSN's was being done. - NR-Sack code was basically disabled. It needed fixes that never got into the real code. - CMT code had issues when the two paths were NOT the same b/w. We found a few small bugs, but also the critcal one here was not dividing the rwnd amongst the paths. Obtained from: Michael Tuexen and myself at the IETF hack-fest ;-)
* Move the new rwnd field down to the very endrrs2009-02-131-2/+2
| | | | | | of the xsctp structure. This is where all new fields belong (not that we will be ABI compatiable with 7.x anyway.. sigh).
* LOR fix - Lock only when calling the actual code thatrrs2009-02-031-2/+4
| | | | | | | is messing with the UDP tunnel. This means that if two users actually tried to change the tunnel port at the same time interesting things COULD result, but its probably very unlikely to happen :-)
* - Cleanup checksum code.rrs2009-02-031-3/+13
| | | | | | | | | | | | | | | | | - Prepare for CRC offloading, add MIB counters (RS/MT). - Bugfix: Disable CRC computation for IPv6 addresses with local scope (MT). - Bugfix: Handle close() with SO_LINGER correctly when notifications are generated during the close() call(MT). - Bugfix: Generate DRY event when sender is dry during subscription. Only for 1-to-1 style sockets (RS/MT) - Bugfix: Put vtags for the correct amount of time into time-wait (MT). - Bugfix: Clear vtag entries correctly on expiration (MT). - Bugfix: shutdown() indicates ENOTCONN when called for unconnected 1-to-1 style sockets (MT). - Bugfix: In sctp Auth code (PL). - Add support for devices that support SCTP csum offload (igb). - Add missing sctp_associd to mib sysctl xsctp_tcb structure (RS) Obtained from: With help from Peter Lei and Michael Tuexen
* Code from the hack-session known as the IETF (and arrs2008-12-061-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | bit of debugging afterwards): - Fix protection code for notification generation. - Decouple associd from vtag - Allow vtags to have less strigent requirements in non-uniqueness. o don't pre-hash them when you issue one in a cookie. o Allow duplicates and use addresses and ports to discriminate amongst the duplicates during lookup. - Add support for the NAT draft draft-ietf-behave-sctpnat-00, this is still experimental and needs more extensive testing with the Jason Butt ipfw changes. - Support for the SENDER_DRY event to get DTLS in OpenSSL working with a set of patches from Michael Tuexen (hopefully heading to OpenSSL soon). - Update the support of SCTP-AUTH by Peter Lei. - Use macros for refcounting. - Fix MTU for UDP encapsulation. - Fix reporting back of unsent data. - Update assoc send counter handling to be consistent with endpoint sent counter. - Fix a bug in PR-SCTP. - Fix so we only send another FWD-TSN when a SACK arrives IF and only if the adv-peer-ack point progressed. However we still make sure a timer is running if we do have an adv_peer_ack point. - Fix PR-SCTP bug where chunks were retransmitted if they are sent unreliable but not abandoned yet. With the help of: Michael Teuxen and Peter Lei :-) MFC after: 4 weeks
* - Peers rwnd is now available for the MIB.rrs2008-10-181-0/+1
| | | | Obtained from: Michael Tuexen
* - Macro-izes the packed declaration in all headers.rrs2008-06-141-191/+231
| | | | | | | | | | | | | | | | | | - Vimage prep - these are major restructures to move all global variables to be accessed via a macro or two. The variables all go into a single structure. - Asconf address addition tweaks (add_or_del Interfaces) - Fix rwnd calcualtion to be more conservative. - Support SACK_IMMEDIATE flag to skip delayed sack by demand of peer. - Comment updates in the sack mapping calculations - Invarients panic added. - Pre-support for UDP tunneling (we can do this on MAC but will need added support from UDP to get a "pipe" of UDP packets in. - clear trace buffer sysctl added when local tracing on. Note the majority of this huge patch is all the vimage prep stuff :-)
* - Adds support for the multi-asconf (From Kozuka-san)rrs2008-05-201-0/+37
| | | | | | | | | | | | | | | | | | - Adds some prepwork (Not all yet) for vimage in particular support the delete the sctppcbinfo.xx structs. There is still a leak in here if it were to be called plus we stil need the regrouping (From Me and Michael Tuexen) - Adds support for UDP tunneling. For BSD there is no socket yet setup so its disabled, but major argument changes are in here to emcompass the passing of the port number (zero when you don't have a udp tunnel, the default for BSD). Will add some hooks in UDP here shortly (discussed with Robert) that will allow easy tunneling. (Mainly from Peter Lei and Michael Tuexen with some BSD work from me :-D) - Some ease for windows, evidently leave is reserved by their compile move label leave: -> out: MFC after: 1 week
* Allow SCTP to compile without INET6.rrs2008-04-161-23/+38
| | | | | | PR: 116816 Obtained from tuexen@fh-muenster.de: MFC after: 2 weeks
OpenPOWER on IntegriCloud