This patch implement sctp association probing module, the module
will be called sctp_probe.
This module allows for capturing the changes to SCTP association
state in response to incoming packets. It is used for debugging
SCTP congestion control algorithms.
Usage:
  $ modprobe sctp_probe [full=n] [port=n] [bufsize=n]
  $ cat /proc/net/sctpprobe
  The output format is:
    TIME     ASSOC     LPORT RPORT MTU    RWND  UNACK <REMOTE-ADDR   STATE  CWND   SSTHRESH  INFLIGHT  PARTIAL_BYTES_ACKED MTU> ...
  The output will be like this:
    9.226086 c4064c48  9000  8000  1500    53352     1 *192.168.0.19  1     4380    54784     1252        0     1500
    9.287195 c4064c48  9000  8000  1500    45144     5 *192.168.0.19  1     5880    54784     6500        0     1500
    9.289130 c4064c48  9000  8000  1500    42724     5 *192.168.0.19  1     7380    54784     6500        0     1500
    9.620332 c4064c48  9000  8000  1500    48284     4 *192.168.0.19  1     8880    54784     5200        0     1500
    ......
Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
		
	
			
		
			
				
	
	
		
			100 lines
		
	
	
	
		
			3 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
	
		
			3 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
#
 | 
						|
# SCTP configuration
 | 
						|
#
 | 
						|
 | 
						|
menuconfig IP_SCTP
 | 
						|
	tristate "The SCTP Protocol (EXPERIMENTAL)"
 | 
						|
	depends on INET && EXPERIMENTAL
 | 
						|
	depends on IPV6 || IPV6=n
 | 
						|
	select CRYPTO
 | 
						|
	select CRYPTO_HMAC
 | 
						|
	select CRYPTO_SHA1
 | 
						|
	select CRYPTO_MD5 if SCTP_HMAC_MD5
 | 
						|
	select LIBCRC32C
 | 
						|
	---help---
 | 
						|
	  Stream Control Transmission Protocol
 | 
						|
 | 
						|
	  From RFC 2960 <http://www.ietf.org/rfc/rfc2960.txt>.
 | 
						|
 | 
						|
	  "SCTP is a reliable transport protocol operating on top of a
 | 
						|
	  connectionless packet network such as IP.  It offers the following
 | 
						|
	  services to its users:
 | 
						|
 | 
						|
	  -- acknowledged error-free non-duplicated transfer of user data,
 | 
						|
	  -- data fragmentation to conform to discovered path MTU size,
 | 
						|
	  -- sequenced delivery of user messages within multiple streams,
 | 
						|
	  with an option for order-of-arrival delivery of individual user
 | 
						|
	  messages,
 | 
						|
	  -- optional bundling of multiple user messages into a single SCTP
 | 
						|
	  packet, and
 | 
						|
	  -- network-level fault tolerance through supporting of multi-
 | 
						|
	  homing at either or both ends of an association."
 | 
						|
 | 
						|
	  To compile this protocol support as a module, choose M here: the
 | 
						|
	  module will be called sctp.
 | 
						|
 | 
						|
	  If in doubt, say N.
 | 
						|
 | 
						|
if IP_SCTP
 | 
						|
 | 
						|
config NET_SCTPPROBE
 | 
						|
	tristate "SCTP: Association probing"
 | 
						|
        depends on PROC_FS && KPROBES
 | 
						|
        ---help---
 | 
						|
        This module allows for capturing the changes to SCTP association
 | 
						|
        state in response to incoming packets. It is used for debugging
 | 
						|
        SCTP congestion control algorithms. If you don't understand
 | 
						|
        what was just said, you don't need it: say N.
 | 
						|
 | 
						|
        To compile this code as a module, choose M here: the
 | 
						|
        module will be called sctp_probe.
 | 
						|
 | 
						|
config SCTP_DBG_MSG
 | 
						|
	bool "SCTP: Debug messages"
 | 
						|
	help
 | 
						|
	  If you say Y, this will enable verbose debugging messages. 
 | 
						|
 | 
						|
	  If unsure, say N.  However, if you are running into problems, use 
 | 
						|
	  this option to gather detailed trace information
 | 
						|
 | 
						|
config SCTP_DBG_OBJCNT
 | 
						|
	bool "SCTP: Debug object counts"
 | 
						|
	depends on PROC_FS
 | 
						|
	help
 | 
						|
	  If you say Y, this will enable debugging support for counting the 
 | 
						|
	  type of objects that are currently allocated.  This is useful for 
 | 
						|
	  identifying memory leaks. This debug information can be viewed by
 | 
						|
	  'cat /proc/net/sctp/sctp_dbg_objcnt'
 | 
						|
 | 
						|
	  If unsure, say N
 | 
						|
 | 
						|
choice
 | 
						|
	prompt "SCTP: Cookie HMAC Algorithm"
 | 
						|
	default SCTP_HMAC_MD5
 | 
						|
	help
 | 
						|
	  HMAC algorithm to be used during association initialization.  It
 | 
						|
	  is strongly recommended to use HMAC-SHA1 or HMAC-MD5.  See 
 | 
						|
	  configuration for Cryptographic API and enable those algorithms
 | 
						|
          to make usable by SCTP. 
 | 
						|
 | 
						|
config SCTP_HMAC_NONE
 | 
						|
	bool "None"
 | 
						|
	help 
 | 
						|
	  Choosing this disables the use of an HMAC during association 
 | 
						|
	  establishment.  It is advised to use either HMAC-MD5 or HMAC-SHA1.
 | 
						|
 | 
						|
config SCTP_HMAC_SHA1
 | 
						|
	bool "HMAC-SHA1"
 | 
						|
	help 
 | 
						|
	  Enable the use of HMAC-SHA1 during association establishment.  It 
 | 
						|
	  is advised to use either HMAC-MD5 or HMAC-SHA1.
 | 
						|
 | 
						|
config SCTP_HMAC_MD5
 | 
						|
	bool "HMAC-MD5"
 | 
						|
	help
 | 
						|
	  Enable the use of HMAC-MD5 during association establishment.  It is 
 | 
						|
	  advised to use either HMAC-MD5 or HMAC-SHA1.
 | 
						|
 | 
						|
endchoice
 | 
						|
 | 
						|
endif # IP_SCTP
 |