/* ipsctp_config.h - IPNET SCTP configuration header file */ /* * Copyright (c) 2008 Wind River Systems, Inc. * * The right to copy, distribute or otherwise make use of this software * may be licensed only pursuant to the terms of an applicable Wind River * license agreement. No license to Wind River intellectual property rights * is granted herein. All rights not licensed by Wind River are reserved * by Wind River. */ /* modification history -------------------- 01a,16nov07,kch Created. */ #ifndef IPSCTP_CONFIG_H #define IPSCTP_CONFIG_H /* **************************************************************************** * 1 DESCRIPTION **************************************************************************** * This file defines various preprocessor constants applicable to the IPSCTP * implementation. */ /* **************************************************************************** * 2 INCLUDE FILES **************************************************************************** */ #include #include #include #ifdef __cplusplus extern "C" { #endif /* **************************************************************************** * 3 TYPES **************************************************************************** */ /* **************************************************************************** * 4 CONFIGURATION **************************************************************************** */ IP_EXTERN IP_CONST int ipsctp_conf_default_backlog; /* *=========================================================================== * IPSCTP HMAC *=========================================================================== * Define IPSCTP HMAC ID and related info. */ #define IPSCTP_HMAC_ID_SHA1 0x0001 #define IPSCTP_HMAC_ID_SHA224 0x0002 #define IPSCTP_HMAC_ID_SHA256 0x0003 #define IPSCTP_HMAC_ID_SHA384 0x0004 #define IPSCTP_HMAC_ID_SHA512 0x0005 #define IPSCTP_HMAC_ID_MD5 0x0006 #define IPSCTP_HMAC IPSCTP_HMAC_ID_MD5 #define IPSCTP_INCLUDE_UDP_LIKE /* **************************************************************************** * HAVE_SCTP_MULTIBUF **************************************************************************** * Define to include support for separate buffer space dedicated to each * association on a one-to-many socket. If this is undefined, a single * block of shared buffer space for a one-to-many socket will used. This * is equivalent to the preprocessor constant HAVE_SCTP_MULTIBUF defined * in Section 3.4 of the draft-ietf-tsvwg-sctpsocket-16.txt. */ /* Note: we don't support this feature yet. */ #undef IPSCTP_USE_MULTIBUF /* **************************************************************************** * IPSCTP_HAVE_SCTP_NOCONNECT **************************************************************************** * Define to include support for initiating an association on a one-to-one * style socket without the use of connect(). This is equivalent to the * preprocessor constant HAVE_SCTP_NOCONNECT mentioned in Section 4.1.5 of the * draft-ietf-tsvwg-sctpsocket-16.txt. */ #define IPSCTP_HAVE_SCTP_NOCONNECT /* **************************************************************************** * IPCOM_USE_HW_SCTP_CRC_RX **************************************************************************** * Define to support hardware SCTP CRC caculation. If the hardware supports this, * we can extend it later. This feature has not been accomplished. */ #undef IPCOM_USE_HW_SCTP_CRC_RX #undef IPSCTP_USE_SLAB_MEMORY #undef IPSCTP_FR_TO_ALTERNATE #define IPSCTP_LIMIT_TIMEWAIT_TABLE /* **************************************************************************** * IPSCTP_USE_PARTIAL_DELIVERY **************************************************************************** * Define to support partial delivery feature in the process of chunk receiving. * Please see SCTP Socket draft to get more on this. */ #undef IPSCTP_USE_PARTIAL_DELIVERY /* *=========================================================================== * IPCOM_SYSLOG_PRIORITY *=========================================================================== * Default syslog priority. */ #if defined(_WRS_CONFIG_IPSCTP_SYSLOG_PRIORITY) #define IPSCTP_SYSLOG_PRIORITY _WRS_CONFIG_IPSCTP_SYSLOG_PRIORITY #else #define IPSCTP_SYSLOG_PRIORITY IPCOM_LOG_ERR #endif /* *=========================================================================== * IPSCTP DEBUG/ASSERT *=========================================================================== * Define IPSCTP_DEBUG to debug IPSCTP. */ #ifdef _WRS_CONFIG_IPSCTP_DEBUG #ifndef IPSCTP_DEBUG #define IPSCTP_DEBUG #endif #endif #ifdef IP_PORT_VXWORKS #define IPSCTP_DBGSTAT #endif #if defined(IPSCTP_DEBUG) || defined(IPSCTP_STATISTICS) || defined(WRSNMP) || defined(IPCOM_USE_MIB2) #define IPSCTP_MIB /* RFC3873 */ #endif #undef IPSCTP_ALWAYS_BOUNDALL #undef IPSCTP_NO_CRC /* default SCTP configuration variable if they are not specified by user. */ #define IPSCTP_RTO_ALGORITHM_DEFAULT 2 #define IPSCTP_RTO_MIN_DEFAULT 1000 #define IPSCTP_RTO_MAX_DEFAULT 60000 #define IPSCTP_RTO_INITIAL_DEFAULT 3000 #define IPSCTP_MAX_ASSOCIATIONS_DEFAULT -1 #define IPSCTP_VALID_COOKIE_LIFE_DEFAULT 60000 #define IPSCTP_MAX_INIT_RETRANSMITS_DEFAULT 8 #define IPSCTP_MAX_CHUNKS_PER_ASSOC_DEFAULT 0xffffffff #define IPSCTP_OPTIMIZATION_TCB_LOOKUP_DEFAULT 0 #define IPSCTP_MAX_VTAG_TIMEWAIT_DEFAULT 10000 #define IPSCTP_HB_INTERVAL_DEFAULT 30000 #define IPSCTP_DEFAULT_NUM_OUT_STREAMS_DEFAULT 10 #define IPSCTP_DEFAULT_NUM_IN_STREAMS_DEFAULT 10 #define IPSCTP_MAX_RETR_PER_PATH_DEFAULT 5 #define IPSCTP_MAX_RETR_PER_ASSOC_DEFAULT 10 #define IPSCTP_DEFAULT_SHUTDOWN_GUARD_TIME_DEFAULT 180 #define IPSCTP_DEFAULT_SECRET_LIFE_TIME_DEFAULT 3600 #define IPSCTP_MAX_SEGMENT_DEFAULT 0 #define IPSCTP_MAX_BURST_DEFAULT 4 #define IPSCTP_SACK_DELAYED_TIME_DEFAULT 200 #define IPSCTP_SACK_FREQ_DEFAULT 2 #define IPSCTP_MAX_HEARTBEAT_BURST_DEFAULT 1 #define IPSCTP_ENABLE_STRICT_SACKS_DEFAULT 0 #define IPSCTP_ABORT_ONE2ONE_HITLIMIT_DEFAULT 1 #ifdef __cplusplus } #endif #endif /* IPSCTP_CONFIG_H */