Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/sctp_sysctl.c
Show First 20 Lines • Show All 111 Lines • ▼ Show 20 Lines | sctp_init_sysctls() | ||||
SCTP_BASE_SYSCTL(sctp_buffer_splitting) = SCTPCTL_BUFFER_SPLITTING_DEFAULT; | SCTP_BASE_SYSCTL(sctp_buffer_splitting) = SCTPCTL_BUFFER_SPLITTING_DEFAULT; | ||||
SCTP_BASE_SYSCTL(sctp_initial_cwnd) = SCTPCTL_INITIAL_CWND_DEFAULT; | SCTP_BASE_SYSCTL(sctp_initial_cwnd) = SCTPCTL_INITIAL_CWND_DEFAULT; | ||||
SCTP_BASE_SYSCTL(sctp_rttvar_bw) = SCTPCTL_RTTVAR_BW_DEFAULT; | SCTP_BASE_SYSCTL(sctp_rttvar_bw) = SCTPCTL_RTTVAR_BW_DEFAULT; | ||||
SCTP_BASE_SYSCTL(sctp_rttvar_rtt) = SCTPCTL_RTTVAR_RTT_DEFAULT; | SCTP_BASE_SYSCTL(sctp_rttvar_rtt) = SCTPCTL_RTTVAR_RTT_DEFAULT; | ||||
SCTP_BASE_SYSCTL(sctp_rttvar_eqret) = SCTPCTL_RTTVAR_EQRET_DEFAULT; | SCTP_BASE_SYSCTL(sctp_rttvar_eqret) = SCTPCTL_RTTVAR_EQRET_DEFAULT; | ||||
SCTP_BASE_SYSCTL(sctp_steady_step) = SCTPCTL_RTTVAR_STEADYS_DEFAULT; | SCTP_BASE_SYSCTL(sctp_steady_step) = SCTPCTL_RTTVAR_STEADYS_DEFAULT; | ||||
SCTP_BASE_SYSCTL(sctp_use_dccc_ecn) = SCTPCTL_RTTVAR_DCCCECN_DEFAULT; | SCTP_BASE_SYSCTL(sctp_use_dccc_ecn) = SCTPCTL_RTTVAR_DCCCECN_DEFAULT; | ||||
SCTP_BASE_SYSCTL(sctp_blackhole) = SCTPCTL_BLACKHOLE_DEFAULT; | SCTP_BASE_SYSCTL(sctp_blackhole) = SCTPCTL_BLACKHOLE_DEFAULT; | ||||
SCTP_BASE_SYSCTL(sctp_badport_lim) = SCTPCTL_BADPORT_LIM_DEFAULT; | |||||
SCTP_BASE_SYSCTL(sctp_badport_lim_output) = SCTPCTL_BADPORT_LIM_OUTPUT_DEFAULT; | |||||
SCTP_BASE_SYSCTL(sctp_diag_info_code) = SCTPCTL_DIAG_INFO_CODE_DEFAULT; | SCTP_BASE_SYSCTL(sctp_diag_info_code) = SCTPCTL_DIAG_INFO_CODE_DEFAULT; | ||||
#if defined(SCTP_LOCAL_TRACE_BUF) | #if defined(SCTP_LOCAL_TRACE_BUF) | ||||
memset(&SCTP_BASE_SYSCTL(sctp_log), 0, sizeof(struct sctp_log)); | memset(&SCTP_BASE_SYSCTL(sctp_log), 0, sizeof(struct sctp_log)); | ||||
#endif | #endif | ||||
SCTP_BASE_SYSCTL(sctp_udp_tunneling_port) = SCTPCTL_UDP_TUNNELING_PORT_DEFAULT; | SCTP_BASE_SYSCTL(sctp_udp_tunneling_port) = SCTPCTL_UDP_TUNNELING_PORT_DEFAULT; | ||||
SCTP_BASE_SYSCTL(sctp_enable_sack_immediately) = SCTPCTL_SACK_IMMEDIATELY_ENABLE_DEFAULT; | SCTP_BASE_SYSCTL(sctp_enable_sack_immediately) = SCTPCTL_SACK_IMMEDIATELY_ENABLE_DEFAULT; | ||||
SCTP_BASE_SYSCTL(sctp_inits_include_nat_friendly) = SCTPCTL_NAT_FRIENDLY_INITS_DEFAULT; | SCTP_BASE_SYSCTL(sctp_inits_include_nat_friendly) = SCTPCTL_NAT_FRIENDLY_INITS_DEFAULT; | ||||
#if defined(SCTP_DEBUG) | #if defined(SCTP_DEBUG) | ||||
▲ Show 20 Lines • Show All 718 Lines • ▼ Show 20 Lines | if ((error == 0) && (req->newptr != NULL)) { \ | ||||
} \ | } \ | ||||
} \ | } \ | ||||
return (error); \ | return (error); \ | ||||
} \ | } \ | ||||
SYSCTL_PROC(_net_inet_sctp, OID_AUTO, mib_name, \ | SYSCTL_PROC(_net_inet_sctp, OID_AUTO, mib_name, \ | ||||
CTLFLAG_VNET|CTLTYPE_UINT|CTLFLAG_RW, NULL, 0, \ | CTLFLAG_VNET|CTLTYPE_UINT|CTLFLAG_RW, NULL, 0, \ | ||||
sctp_sysctl_handle_##mib_name, "UI", prefix##_DESC); | sctp_sysctl_handle_##mib_name, "UI", prefix##_DESC); | ||||
#define SCTP_INT_SYSCTL(mib_name, var_name, prefix) \ | |||||
static int \ | |||||
sctp_sysctl_handle_##mib_name(SYSCTL_HANDLER_ARGS) \ | |||||
{ \ | |||||
int error; \ | |||||
int new; \ | |||||
tuexen: This needs to be int32_t. | |||||
\ | |||||
new = SCTP_BASE_SYSCTL(var_name); \ | |||||
error = sysctl_handle_int(oidp, &new, 0, req); \ | |||||
if ((error == 0) && (req->newptr != NULL)) { \ | |||||
if ((new < prefix##_MIN) || \ | |||||
(new > prefix##_MAX)) { \ | |||||
error = EINVAL; \ | |||||
} else { \ | |||||
SCTP_BASE_SYSCTL(var_name) = new; \ | |||||
} \ | |||||
} \ | |||||
return (error); \ | |||||
} \ | |||||
SYSCTL_PROC(_net_inet_sctp, OID_AUTO, mib_name, \ | |||||
CTLFLAG_VNET|CTLTYPE_INT|CTLFLAG_RW, NULL, 0, \ | |||||
sctp_sysctl_handle_##mib_name, "I", prefix##_DESC); | |||||
/* | /* | ||||
* sysctl definitions | * sysctl definitions | ||||
*/ | */ | ||||
SCTP_UINT_SYSCTL(sendspace, sctp_sendspace, SCTPCTL_MAXDGRAM) | SCTP_UINT_SYSCTL(sendspace, sctp_sendspace, SCTPCTL_MAXDGRAM) | ||||
SCTP_UINT_SYSCTL(recvspace, sctp_recvspace, SCTPCTL_RECVSPACE) | SCTP_UINT_SYSCTL(recvspace, sctp_recvspace, SCTPCTL_RECVSPACE) | ||||
SCTP_UINT_SYSCTL(auto_asconf, sctp_auto_asconf, SCTPCTL_AUTOASCONF) | SCTP_UINT_SYSCTL(auto_asconf, sctp_auto_asconf, SCTPCTL_AUTOASCONF) | ||||
SCTP_UINT_SYSCTL(ecn_enable, sctp_ecn_enable, SCTPCTL_ECN_ENABLE) | SCTP_UINT_SYSCTL(ecn_enable, sctp_ecn_enable, SCTPCTL_ECN_ENABLE) | ||||
▲ Show 20 Lines • Show All 64 Lines • ▼ Show 20 Lines | |||||
SCTP_UINT_SYSCTL(buffer_splitting, sctp_buffer_splitting, SCTPCTL_BUFFER_SPLITTING) | SCTP_UINT_SYSCTL(buffer_splitting, sctp_buffer_splitting, SCTPCTL_BUFFER_SPLITTING) | ||||
SCTP_UINT_SYSCTL(initial_cwnd, sctp_initial_cwnd, SCTPCTL_INITIAL_CWND) | SCTP_UINT_SYSCTL(initial_cwnd, sctp_initial_cwnd, SCTPCTL_INITIAL_CWND) | ||||
SCTP_UINT_SYSCTL(rttvar_bw, sctp_rttvar_bw, SCTPCTL_RTTVAR_BW) | SCTP_UINT_SYSCTL(rttvar_bw, sctp_rttvar_bw, SCTPCTL_RTTVAR_BW) | ||||
SCTP_UINT_SYSCTL(rttvar_rtt, sctp_rttvar_rtt, SCTPCTL_RTTVAR_RTT) | SCTP_UINT_SYSCTL(rttvar_rtt, sctp_rttvar_rtt, SCTPCTL_RTTVAR_RTT) | ||||
SCTP_UINT_SYSCTL(rttvar_eqret, sctp_rttvar_eqret, SCTPCTL_RTTVAR_EQRET) | SCTP_UINT_SYSCTL(rttvar_eqret, sctp_rttvar_eqret, SCTPCTL_RTTVAR_EQRET) | ||||
SCTP_UINT_SYSCTL(rttvar_steady_step, sctp_steady_step, SCTPCTL_RTTVAR_STEADYS) | SCTP_UINT_SYSCTL(rttvar_steady_step, sctp_steady_step, SCTPCTL_RTTVAR_STEADYS) | ||||
SCTP_UINT_SYSCTL(use_dcccecn, sctp_use_dccc_ecn, SCTPCTL_RTTVAR_DCCCECN) | SCTP_UINT_SYSCTL(use_dcccecn, sctp_use_dccc_ecn, SCTPCTL_RTTVAR_DCCCECN) | ||||
SCTP_UINT_SYSCTL(blackhole, sctp_blackhole, SCTPCTL_BLACKHOLE) | SCTP_UINT_SYSCTL(blackhole, sctp_blackhole, SCTPCTL_BLACKHOLE) | ||||
SCTP_INT_SYSCTL(badport_lim, sctp_badport_lim, SCTPCTL_BADPORT_LIM) | |||||
SCTP_INT_SYSCTL(badport_lim_output, sctp_badport_lim_output, SCTPCTL_BADPORT_LIM_OUTPUT) | |||||
SCTP_UINT_SYSCTL(diag_info_code, sctp_diag_info_code, SCTPCTL_DIAG_INFO_CODE) | SCTP_UINT_SYSCTL(diag_info_code, sctp_diag_info_code, SCTPCTL_DIAG_INFO_CODE) | ||||
#ifdef SCTP_DEBUG | #ifdef SCTP_DEBUG | ||||
SCTP_UINT_SYSCTL(debug, sctp_debug_on, SCTPCTL_DEBUG) | SCTP_UINT_SYSCTL(debug, sctp_debug_on, SCTPCTL_DEBUG) | ||||
#endif | #endif | ||||
#if defined(__APPLE__) || defined(SCTP_SO_LOCK_TESTING) | #if defined(__APPLE__) || defined(SCTP_SO_LOCK_TESTING) | ||||
SCTP_UINT_SYSCTL(output_unlocked, sctp_output_unlocked, SCTPCTL_OUTPUT_UNLOCKED) | SCTP_UINT_SYSCTL(output_unlocked, sctp_output_unlocked, SCTPCTL_OUTPUT_UNLOCKED) | ||||
#endif | #endif | ||||
SYSCTL_PROC(_net_inet_sctp, OID_AUTO, stats, CTLFLAG_VNET | CTLTYPE_STRUCT | CTLFLAG_RW, | SYSCTL_PROC(_net_inet_sctp, OID_AUTO, stats, CTLFLAG_VNET | CTLTYPE_STRUCT | CTLFLAG_RW, | ||||
NULL, 0, sctp_sysctl_handle_stats, "S,sctpstat", "SCTP statistics (struct sctp_stat)"); | NULL, 0, sctp_sysctl_handle_stats, "S,sctpstat", "SCTP statistics (struct sctp_stat)"); | ||||
SYSCTL_PROC(_net_inet_sctp, OID_AUTO, assoclist, CTLFLAG_VNET | CTLTYPE_OPAQUE | CTLFLAG_RD, | SYSCTL_PROC(_net_inet_sctp, OID_AUTO, assoclist, CTLFLAG_VNET | CTLTYPE_OPAQUE | CTLFLAG_RD, | ||||
NULL, 0, sctp_sysctl_handle_assoclist, "S,xassoc", "List of active SCTP associations"); | NULL, 0, sctp_sysctl_handle_assoclist, "S,xassoc", "List of active SCTP associations"); |
This needs to be int32_t.