FreeBSD kernel IPv4 code
sctp_indata.h File Reference
#include <sys/cdefs.h>
Include dependency graph for sctp_indata.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define _NETINET_SCTP_INDATA_H_
 
#define sctp_build_readq_entry_mac(_ctl, in_it, context, net, tsn, ppid, sid, flags, dm, tfsn, mid)
 

Functions

 __FBSDID ("$FreeBSD$")
 
struct sctp_queued_to_readsctp_build_readq_entry (struct sctp_tcb *stcb, struct sctp_nets *net, uint32_t tsn, uint32_t ppid, uint32_t context, uint16_t sid, uint32_t mid, uint8_t flags, struct mbuf *dm)
 
struct mbuf * sctp_build_ctl_nchunk (struct sctp_inpcb *inp, struct sctp_sndrcvinfo *sinfo)
 
void sctp_set_rwnd (struct sctp_tcb *, struct sctp_association *)
 
uint32_t sctp_calc_rwnd (struct sctp_tcb *stcb, struct sctp_association *asoc)
 
void sctp_express_handle_sack (struct sctp_tcb *stcb, uint32_t cumack, uint32_t rwnd, int *abort_now, int ecne_seen)
 
void sctp_handle_sack (struct mbuf *m, int offset_seg, int offset_dup, struct sctp_tcb *stcb, uint16_t num_seg, uint16_t num_nr_seg, uint16_t num_dup, int *abort_now, uint8_t flags, uint32_t cum_ack, uint32_t rwnd, int ecne_seen)
 
void sctp_handle_forward_tsn (struct sctp_tcb *, struct sctp_forward_tsn_chunk *, int *, struct mbuf *, int)
 
struct sctp_tmit_chunksctp_try_advance_peer_ack_point (struct sctp_tcb *, struct sctp_association *)
 
void sctp_service_queues (struct sctp_tcb *, struct sctp_association *)
 
void sctp_update_acked (struct sctp_tcb *, struct sctp_shutdown_chunk *, int *)
 
int sctp_process_data (struct mbuf **, int, int *, int, struct sctp_inpcb *, struct sctp_tcb *, struct sctp_nets *, uint32_t *)
 
void sctp_slide_mapping_arrays (struct sctp_tcb *stcb)
 
void sctp_sack_check (struct sctp_tcb *, int)
 

Macro Definition Documentation

◆ _NETINET_SCTP_INDATA_H_

#define _NETINET_SCTP_INDATA_H_

Definition at line 39 of file sctp_indata.h.

◆ sctp_build_readq_entry_mac

#define sctp_build_readq_entry_mac (   _ctl,
  in_it,
  context,
  net,
  tsn,
  ppid,
  sid,
  flags,
  dm,
  tfsn,
  mid 
)
Value:
do { \
if (_ctl) { \
atomic_add_int(&((net)->ref_count), 1); \
memset(_ctl, 0, sizeof(struct sctp_queued_to_read)); \
(_ctl)->sinfo_stream = sid; \
TAILQ_INIT(&_ctl->reasm); \
(_ctl)->top_fsn = tfsn; \
(_ctl)->mid = mid; \
(_ctl)->sinfo_flags = (flags << 8); \
(_ctl)->sinfo_ppid = ppid; \
(_ctl)->sinfo_context = context; \
(_ctl)->fsn_included = 0xffffffff; \
(_ctl)->sinfo_tsn = tsn; \
(_ctl)->sinfo_cumtsn = tsn; \
(_ctl)->sinfo_assoc_id = sctp_get_associd((in_it)); \
(_ctl)->whoFrom = net; \
(_ctl)->data = dm; \
(_ctl)->stcb = (in_it); \
(_ctl)->port_from = (in_it)->rport; \
if ((in_it)->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) { \
(_ctl)->do_not_ref_stcb = 1; \
}\
} \
} while (0)
#define SCTP_STATE_ABOUT_TO_BE_FREED
#define sctp_get_associd(stcb)
Definition: sctputil.h:63

Definition at line 51 of file sctp_indata.h.

Function Documentation

◆ __FBSDID()

__FBSDID ( "$FreeBSD$"  )

◆ sctp_build_ctl_nchunk()

◆ sctp_build_readq_entry()

◆ sctp_calc_rwnd()

◆ sctp_express_handle_sack()

void sctp_express_handle_sack ( struct sctp_tcb stcb,
uint32_t  cumack,
uint32_t  rwnd,
int *  abort_now,
int  ecne_seen 
)

Definition at line 3924 of file sctp_indata.c.

References sctp_association::advanced_peer_ack_point, sctp_association::alternate, sctp_tcb::asoc, sctp_tmit_chunk::asoc, sctp_tmit_chunk::book_size, sctp_association::cc_functions, sctp_data_chunkrec::chunk_was_revoked, sctp_stream_out::chunks_on_queues, sctp_nets::cwnd, sctp_nets::cwr_window_tsn, sctp_tmit_chunk::data, sctp_nets::dest_state, sctp_tmit_chunk::do_rtt, sctp_nets::error_count, sctp_nets::find_pseudo_cumack, sctp_nets::find_rtx_pseudo_cumack, sctp_nets::flight_size, sctp_data_chunkrec::fwd_tsn_cnt, sctp_inpcb::last_abort_code, sctp_association::last_acked_seq, sctp_nets::lastsa, sctp_nets::lastsv, sctp_association::maxrto, sctp_association::minrto, sctp_nets::net_ack, sctp_nets::net_ack2, sctp_association::nets, sctp_nets::new_pseudo_cumack, sctp_stream_out::outqueue, sctp_association::overall_error_count, sctp_nets::partial_bytes_acked, sctp_association::peers_rwnd, sctp_association::pr_sctp_cnt, sctp_nets::prev_cwnd, sctp_association::primary_destination, sctp_association::prsctp_supported, sctp_tmit_chunk::rec, sctp_nets::RTO, sctp_nets::rto_needed, sctp_nets::rxt_timer, sctp_abort_an_association(), SCTP_ADD_SUBSTATE, SCTP_ADDR_PF, SCTP_ADDR_REACHABLE, SCTP_BASE_SYSCTL, sctp_calculate_rto(), SCTP_CAUSE_PROTOCOL_VIOLATION, SCTP_CAUSE_USER_INITIATED_ABT, SCTP_CWND_LOG_FROM_SACK, SCTP_CWND_LOGGING_ENABLE, sctp_cc_functions::sctp_cwnd_prepare_net_for_sack, sctp_cc_functions::sctp_cwnd_update_after_sack, sctp_cc_functions::sctp_cwnd_update_exit_pf, sctp_cc_functions::sctp_cwnd_update_tsn_acknowledged, SCTP_DATAGRAM_ACKED, SCTP_DATAGRAM_NR_ACKED, SCTP_DATAGRAM_RESEND, SCTP_DATAGRAM_UNSENT, SCTP_DIAG_INFO_LEN, sctp_inpcb::sctp_ep, sctp_tcb::sctp_ep, SCTP_FLIGHT_LOG_DOWN_CA, SCTP_FLIGHT_LOGGING_ENABLE, sctp_flight_size_decrease, sctp_flight_size_increase, sctp_free_a_chunk, sctp_free_bufspace, sctp_free_remote_addr, SCTP_FROM_SCTP_INDATA, sctp_fs_audit(), sctp_generate_cause(), SCTP_GET_STATE, SCTP_LOC_25, SCTP_LOC_26, SCTP_LOC_27, SCTP_LOC_28, sctp_log_cwnd(), SCTP_LOG_FREE_SENT, sctp_log_sack(), SCTP_LOG_SACK_ARRIVALS_ENABLE, sctp_m_freem, sctp_misc_ints(), SCTP_NOTIFY_INTERFACE_UP, SCTP_NOWAKE_FROM_SACK, SCTP_OS_TIMER_PENDING, SCTP_PRINTF, SCTP_RTT_FROM_DATA, SCTP_RTT_SHIFT, SCTP_SACK_LOG_EXPRESS, SCTP_SACK_LOGGING_ENABLE, SCTP_SACK_RWND_LOGGING_ENABLE, SCTP_SACK_RWND_UPDATE, sctp_sbspace_sub, sctp_send_shutdown(), sctp_send_shutdown_ack(), SCTP_SET_STATE, SCTP_SNPRINTF, SCTP_SO_NOT_LOCKED, sctp_tcb::sctp_socket, sctp_sowwakeup_locked, sctp_ss_functions::sctp_ss_is_user_msgs_incomplete, SCTP_STAT_DECR_GAUGE32, SCTP_STATE_OPEN, SCTP_STATE_PARTIAL_MSG_LEFT, SCTP_STATE_SHUTDOWN_ACK_SENT, SCTP_STATE_SHUTDOWN_PENDING, SCTP_STATE_SHUTDOWN_RECEIVED, SCTP_STATE_SHUTDOWN_SENT, sctp_stop_timers_for_shutdown(), SCTP_STREAM_RESET_PENDING, sctp_pcb::sctp_sws_sender, SCTP_TCB_LOCK_ASSERT, SCTP_THRESHOLD_CLEAR, SCTP_THRESHOLD_LOGGING, sctp_timer_start(), sctp_timer_stop(), SCTP_TIMER_TYPE_HEARTBEAT, SCTP_TIMER_TYPE_SEND, SCTP_TIMER_TYPE_SHUTDOWN, SCTP_TIMER_TYPE_SHUTDOWNACK, SCTP_TIMER_TYPE_SHUTDOWNGUARD, sctp_total_flight_decrease, sctp_total_flight_increase, sctp_try_advance_peer_ack_point(), SCTP_TSN_GE, SCTP_TSN_GT, SCTP_TSN_LOG_SIZE, sctp_ucount_decr, sctp_ucount_incr, sctp_ulp_notify(), SCTP_WAKE_LOGGING_ENABLE, SCTP_WAKESND_FROM_SACK, sctp_wakeup_log(), sctp_window_probe_recovery(), send_forward_tsn(), sctp_association::send_queue, sctp_tmit_chunk::send_size, sctp_association::sending_seq, sctp_tmit_chunk::sent, sctp_association::sent_queue, sctp_association::sent_queue_cnt, sctp_association::sent_queue_retran_cnt, sctp_tmit_chunk::sent_rcv_time, sctp_data_chunkrec::sid, sctp_tmit_chunk::snd_count, sctp_association::ss_functions, sctp_stream_out::state, sctp_association::state, sctp_association::stream_queue_cnt, sctp_association::strmout, sctp_association::this_sack_highest_gap, sctp_timer::timer, sctp_association::total_flight, sctp_association::total_flight_count, sctp_association::total_output_queue_size, sctp_association::trigger_reset, sctp_data_chunkrec::tsn, sctp_tmit_chunk::whoTo, sctp_nets::will_exit_fast_recovery, sctp_nets::window_probe, and sctp_tmit_chunk::window_probe.

Referenced by sctp_process_control(), and sctp_update_acked().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sctp_handle_forward_tsn()

void sctp_handle_forward_tsn ( struct sctp_tcb stcb,
struct sctp_forward_tsn_chunk fwd,
int *  abort_flag,
struct mbuf *  m,
int  offset 
)

Definition at line 5476 of file sctp_indata.c.

References sctp_tcb::asoc, sctp_forward_tsn_chunk::ch, sctp_chunkhdr::chunk_length, sctp_association::cnt_on_all_streams, sctp_association::control_pdapi, sctp_association::cumulative_tsn, sctp_queued_to_read::end_added, sctp_strseq_mid::flags, sctp_association::fragmented_delivery_inprogress, sctp_association::highest_tsn_inside_map, sctp_association::highest_tsn_inside_nr_map, sctp_association::idata_supported, sctp_stream_in::inqueue, sctp_inpcb::last_abort_code, sctp_stream_in::last_mid_delivered, sctp_queued_to_read::length, sctp_association::mapping_array, sctp_association::mapping_array_base_tsn, sctp_association::mapping_array_size, sctp_strseq_mid::mid, sctp_queued_to_read::mid, sctp_forward_tsn_chunk::new_cumulative_tsn, next, sctp_association::nr_mapping_array, sctp_queued_to_read::on_strm_q, sctp_queued_to_read::pdapi_aborted, PR_SCTP_UNORDERED_FLAG, sctp_inpcb::read_queue, sctp_abort_an_association(), SCTP_BASE_SYSCTL, SCTP_CALC_TSN_TO_GAP, SCTP_CAUSE_PROTOCOL_VIOLATION, SCTP_DEBUG_INDATA1, SCTP_DIAG_INFO_LEN, sctp_tcb::sctp_ep, sctp_flush_reassm_for_str_seq(), SCTP_FROM_SCTP_INDATA, sctp_generate_cause(), SCTP_INP_READ_LOCK, SCTP_INP_READ_UNLOCK, SCTP_IS_TSN_PRESENT, sctp_kick_prsctp_reorder_queue(), SCTP_LOC_37, sctp_log_map(), sctp_m_getptr(), SCTP_MAP_LOGGING_ENABLE, SCTP_MAP_SLIDE_RESULT, SCTP_MID_EQ, SCTP_MID_GE, SCTP_MID_GT, SCTP_NOTIFY_PARTIAL_DELVIERY_INDICATION, SCTP_ON_ORDERED, SCTP_ON_UNORDERED, SCTP_PARTIAL_DELIVERY_ABORTED, sctp_sbspace, SCTP_SET_TSN_PRESENT, sctp_slide_mapping_arrays(), SCTP_SNPRINTF, SCTP_SO_NOT_LOCKED, sctp_tcb::sctp_socket, SCTP_STAT_INCR, SCTP_TCB_LOCK_ASSERT, SCTP_TSN_GE, SCTP_TSN_GT, sctp_ucount_decr, sctp_ulp_notify(), SCTPDBG, sctp_strseq::sid, sctp_strseq_mid::sid, sctp_queued_to_read::sinfo_stream, sctp_association::size_on_all_streams, sctp_strseq::ssn, sctp_association::ssn_of_pdapi, sctp_queued_to_read::stcb, sctp_association::str_of_pdapi, sctp_association::streamincnt, sctp_association::strmin, and sctp_stream_in::uno_inqueue.

Referenced by sctp_handle_str_reset_request_tsn(), sctp_handle_stream_reset_response(), and sctp_process_control().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sctp_handle_sack()

void sctp_handle_sack ( struct mbuf *  m,
int  offset_seg,
int  offset_dup,
struct sctp_tcb stcb,
uint16_t  num_seg,
uint16_t  num_nr_seg,
uint16_t  num_dup,
int *  abort_now,
uint8_t  flags,
uint32_t  cum_ack,
uint32_t  rwnd,
int  ecne_seen 
)

Definition at line 4401 of file sctp_indata.c.

References sctp_association::advanced_peer_ack_point, sctp_association::alternate, sctp_tcb::asoc, sctp_tmit_chunk::asoc, sctp_tmit_chunk::book_size, sctp_association::cc_functions, sctp_data_chunkrec::chunk_was_revoked, sctp_stream_out::chunks_on_queues, sctp_nets::cwnd, sctp_nets::cwr_window_tsn, sctp_tmit_chunk::data, sctp_nets::dest_state, sctp_tmit_chunk::do_rtt, sctp_nets::error_count, sctp_association::fast_recovery_tsn, sctp_nets::fast_retran_loss_recovery, sctp_association::fast_retran_loss_recovery, sctp_nets::find_pseudo_cumack, sctp_nets::find_rtx_pseudo_cumack, sctp_tmit_chunk::flags, sctp_nets::flight_size, sctp_data_chunkrec::fwd_tsn_cnt, sctp_inpcb::last_abort_code, sctp_association::last_acked_seq, sctp_nets::lastsa, sctp_nets::lastsv, sctp_association::maxrto, sctp_association::minrto, sctp_nets::net_ack, sctp_nets::net_ack2, sctp_association::nets, sctp_nets::new_pseudo_cumack, sctp_stream_out::outqueue, sctp_association::overall_error_count, sctp_nets::partial_bytes_acked, sctp_association::peers_rwnd, PR_SCTP_BUF_ENABLED, sctp_association::pr_sctp_cnt, PR_SCTP_ENABLED, sctp_nets::prev_cwnd, sctp_association::primary_destination, sctp_association::prsctp_supported, sctp_tmit_chunk::rec, sctp_nets::RTO, sctp_nets::rto_needed, sctp_nets::rxt_timer, sctp_association::sat_t3_loss_recovery, sctp_association::sat_t3_recovery_tsn, sctp_nets::saw_newack, sctp_association::saw_sack_with_frags, sctp_association::saw_sack_with_nr_frags, sctp_abort_an_association(), SCTP_ADD_SUBSTATE, SCTP_ADDR_PF, SCTP_ADDR_REACHABLE, SCTP_ADDR_UNCONFIRMED, SCTP_BASE_SYSCTL, sctp_calculate_rto(), SCTP_CAUSE_PROTOCOL_VIOLATION, SCTP_CAUSE_USER_INITIATED_ABT, sctp_check_for_revoked(), sctp_association::sctp_cmt_on_off, SCTP_CWND_LOG_FROM_SACK, SCTP_CWND_LOGGING_ENABLE, sctp_cc_functions::sctp_cwnd_prepare_net_for_sack, sctp_cc_functions::sctp_cwnd_update_after_fr, sctp_cc_functions::sctp_cwnd_update_after_sack, sctp_cc_functions::sctp_cwnd_update_exit_pf, sctp_cc_functions::sctp_cwnd_update_tsn_acknowledged, SCTP_DATAGRAM_ACKED, SCTP_DATAGRAM_NR_ACKED, SCTP_DATAGRAM_RESEND, SCTP_DATAGRAM_SENT, SCTP_DATAGRAM_UNSENT, SCTP_DIAG_INFO_LEN, sctp_inpcb::sctp_ep, sctp_tcb::sctp_ep, SCTP_FLIGHT_LOG_DOWN_CA, SCTP_FLIGHT_LOG_UP_REVOKE, SCTP_FLIGHT_LOGGING_ENABLE, sctp_flight_size_decrease, sctp_flight_size_increase, SCTP_FR_DUPED, SCTP_FR_LOGGING_ENABLE, sctp_free_a_chunk, sctp_free_bufspace, sctp_free_remote_addr, SCTP_FROM_SCTP_INDATA, sctp_fs_audit(), SCTP_FWD_TSN_CHECK, sctp_generate_cause(), SCTP_GET_STATE, sctp_handle_segments(), SCTP_LOC_29, SCTP_LOC_30, SCTP_LOC_31, SCTP_LOC_32, SCTP_LOC_33, SCTP_LOC_34, SCTP_LOC_35, SCTP_LOC_36, sctp_log_cwnd(), sctp_log_fr(), SCTP_LOG_FREE_SENT, SCTP_LOG_NEW_SACK, SCTP_LOG_RWND_ENABLE, sctp_log_rwnd_set(), sctp_log_sack(), SCTP_LOG_SACK_ARRIVALS_ENABLE, SCTP_LOG_TRY_ADVANCE, SCTP_LOG_TSN_ACKED, sctp_m_freem, sctp_m_getptr(), sctp_misc_ints(), SCTP_NOTIFY_INTERFACE_UP, SCTP_NOWAKE_FROM_SACK, SCTP_OS_TIMER_PENDING, SCTP_PRINTF, SCTP_RTT_FROM_DATA, SCTP_RTT_SHIFT, SCTP_SACK_CMT_DAC, SCTP_SACK_LOG_NORMAL, SCTP_SACK_LOGGING_ENABLE, SCTP_SACK_RWND_LOGGING_ENABLE, SCTP_SACK_RWND_UPDATE, sctp_sbspace_sub, sctp_send_shutdown(), sctp_send_shutdown_ack(), SCTP_SET_PEER_RWND_VIA_SACK, SCTP_SET_STATE, SCTP_SNPRINTF, SCTP_SO_NOT_LOCKED, sctp_tcb::sctp_socket, sctp_sowwakeup_locked, sctp_ss_functions::sctp_ss_is_user_msgs_incomplete, SCTP_STAT_DECR_GAUGE32, SCTP_STAT_INCR, SCTP_STATE_OPEN, SCTP_STATE_PARTIAL_MSG_LEFT, SCTP_STATE_SHUTDOWN_ACK_SENT, SCTP_STATE_SHUTDOWN_PENDING, SCTP_STATE_SHUTDOWN_RECEIVED, SCTP_STATE_SHUTDOWN_SENT, sctp_stop_timers_for_shutdown(), SCTP_STREAM_RESET_PENDING, sctp_strike_gap_ack_chunks(), sctp_pcb::sctp_sws_sender, SCTP_TCB_LOCK_ASSERT, SCTP_THRESHOLD_CLEAR, SCTP_THRESHOLD_LOGGING, sctp_timer_start(), sctp_timer_stop(), SCTP_TIMER_TYPE_HEARTBEAT, SCTP_TIMER_TYPE_SEND, SCTP_TIMER_TYPE_SHUTDOWN, SCTP_TIMER_TYPE_SHUTDOWNACK, SCTP_TIMER_TYPE_SHUTDOWNGUARD, sctp_total_flight_decrease, sctp_total_flight_increase, sctp_try_advance_peer_ack_point(), SCTP_TSN_GE, SCTP_TSN_GT, SCTP_TSN_LOG_SIZE, sctp_ucount_decr, sctp_ucount_incr, sctp_ulp_notify(), SCTP_WAKE_LOGGING_ENABLE, SCTP_WAKESND_FROM_SACK, sctp_wakeup_log(), sctp_window_probe_recovery(), send_forward_tsn(), sctp_association::send_queue, sctp_tmit_chunk::send_size, sctp_association::sending_seq, sctp_tmit_chunk::sent, sctp_association::sent_queue, sctp_association::sent_queue_cnt, sctp_association::sent_queue_cnt_removeable, sctp_association::sent_queue_retran_cnt, sctp_tmit_chunk::sent_rcv_time, sctp_data_chunkrec::sid, sctp_tmit_chunk::snd_count, sctp_association::ss_functions, sctp_stream_out::state, sctp_association::state, sctp_association::stream_queue_cnt, sctp_association::strmout, sctp_association::this_sack_highest_gap, sctp_nets::this_sack_highest_newack, sctp_timer::timer, sctp_association::total_flight, sctp_association::total_flight_count, sctp_association::total_output_queue_size, sctp_association::trigger_reset, sctp_data_chunkrec::tsn, sctp_tmit_chunk::whoTo, sctp_nets::will_exit_fast_recovery, sctp_nets::window_probe, and sctp_tmit_chunk::window_probe.

Referenced by sctp_process_control().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sctp_process_data()

int sctp_process_data ( struct mbuf **  mm,
int  iphlen,
int *  offset,
int  length,
struct sctp_inpcb inp,
struct sctp_tcb stcb,
struct sctp_nets net,
uint32_t high_tsn 
)

Definition at line 2649 of file sctp_indata.c.

References sctp_tcb::asoc, sctp_chunkhdr::chunk_length, sctp_chunkhdr::chunk_type, sctp_gen_error_cause::code, sctp_association::cumulative_tsn, sctp_association::data_pkts_seen, sctp_association::highest_tsn_inside_map, sctp_association::highest_tsn_inside_nr_map, sctp_association::idata_supported, sctp_inpcb::last_abort_code, sctp_association::last_data_chunk_from, sctp_gen_error_cause::length, sctp_association::overall_error_count, sctp_abort_an_association(), SCTP_ABORT_ASSOCIATION, SCTP_ASCONF, SCTP_ASCONF_ACK, SCTP_AUTHENTICATION, SCTP_BASE_SYSCTL, SCTP_BUF_LEN, SCTP_BUF_NEXT, SCTP_CAUSE_PROTOCOL_VIOLATION, SCTP_CAUSE_UNRECOG_CHUNK, SCTP_COOKIE_ACK, SCTP_COOKIE_ECHO, SCTP_DATA, SCTP_DIAG_INFO_LEN, SCTP_ECN_CWR, SCTP_ECN_ECHO, sctp_tcb::sctp_ep, SCTP_FORWARD_CUM_TSN, SCTP_FROM_SCTP_INDATA, sctp_generate_cause(), sctp_get_mbuf_for_msg(), SCTP_GET_STATE, SCTP_GETTIME_TIMEVAL, SCTP_HEARTBEAT_ACK, SCTP_HEARTBEAT_REQUEST, SCTP_IDATA, SCTP_INITIATION, SCTP_INITIATION_ACK, SCTP_LOC_21, SCTP_LOC_22, SCTP_LOC_23, SCTP_LOC_24, SCTP_M_COPYM, sctp_m_freem, sctp_m_getptr(), sctp_misc_ints(), SCTP_NR_SELECTIVE_ACK, SCTP_OPERATION_ERROR, SCTP_PACKET_DROPPED, sctp_process_a_data_chunk(), sctp_queue_op_err(), sctp_sack_check(), SCTP_SELECTIVE_ACK, sctp_send_packet_dropped(), sctp_set_rwnd(), SCTP_SHUTDOWN, SCTP_SHUTDOWN_ACK, SCTP_SHUTDOWN_COMPLETE, SCTP_SIZE32, SCTP_SNPRINTF, SCTP_SO_NOT_LOCKED, SCTP_STAT_INCR, SCTP_STATE_SHUTDOWN_SENT, SCTP_STREAM_RESET, SCTP_TCB_LOCK_ASSERT, SCTP_THRESHOLD_CLEAR, SCTP_THRESHOLD_LOGGING, SCTP_TSN_GT, sctp_association::send_sack, and sctp_association::time_last_rcvd.

Referenced by sctp_common_input_processing().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sctp_sack_check()

◆ sctp_service_queues()

void sctp_service_queues ( struct sctp_tcb ,
struct sctp_association  
)

◆ sctp_set_rwnd()

void sctp_set_rwnd ( struct sctp_tcb stcb,
struct sctp_association asoc 
)

Definition at line 72 of file sctp_indata.c.

References sctp_association::my_rwnd, and sctp_calc_rwnd().

Referenced by sctp_process_a_data_chunk(), sctp_process_data(), and sctp_send_sack().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sctp_slide_mapping_arrays()

◆ sctp_try_advance_peer_ack_point()

◆ sctp_update_acked()

void sctp_update_acked ( struct sctp_tcb stcb,
struct sctp_shutdown_chunk cp,
int *  abort_flag 
)

Definition at line 5222 of file sctp_indata.c.

References sctp_tcb::asoc, sctp_shutdown_chunk::cumulative_tsn_ack, sctp_association::peers_rwnd, sctp_express_handle_sack(), and sctp_association::total_flight.

Referenced by sctp_handle_shutdown().

Here is the call graph for this function:
Here is the caller graph for this function: