Lines Matching refs:net

51 					struct net *net,
60 struct net *net,
63 static void sctp_send_stale_cookie_err(struct net *net,
70 struct net *net,
77 struct net *net,
84 struct net *net,
93 struct net *net,
100 struct net *net,
109 struct net *net,
117 struct net *net,
125 struct net *net,
133 struct net *net,
145 struct net *net,
153 __sctp_sf_do_9_2_reshutack(struct net *net, const struct sctp_endpoint *ep,
224 enum sctp_disposition sctp_sf_do_4_C(struct net *net, in sctp_sf_do_4_C() argument
234 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_4_C()
242 return sctp_sf_violation_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_do_4_C()
246 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_4_C()
279 SCTP_INC_STATS(net, SCTP_MIB_SHUTDOWNS); in sctp_sf_do_4_C()
280 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_4_C()
309 enum sctp_disposition sctp_sf_do_5_1B_init(struct net *net, in sctp_sf_do_5_1B_init() argument
325 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1B_init()
337 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1B_init()
345 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1B_init()
350 if (ep == sctp_sk(net->sctp.ctl_sock)->ep) { in sctp_sf_do_5_1B_init()
351 SCTP_INC_STATS(net, SCTP_MIB_OUTOFBLUES); in sctp_sf_do_5_1B_init()
352 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1B_init()
359 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1B_init()
368 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1B_init()
372 if (!sctp_verify_init(net, ep, asoc, chunk->chunk_hdr->type, in sctp_sf_do_5_1B_init()
379 packet = sctp_abort_pkt_new(net, ep, asoc, arg, in sctp_sf_do_5_1B_init()
390 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_do_5_1B_init()
396 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, in sctp_sf_do_5_1B_init()
508 enum sctp_disposition sctp_sf_do_5_1C_ack(struct net *net, in sctp_sf_do_5_1C_ack() argument
521 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1C_ack()
528 return sctp_sf_violation_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1C_ack()
532 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_5_1C_ack()
539 if (!sctp_verify_init(net, ep, asoc, chunk->chunk_hdr->type, in sctp_sf_do_5_1C_ack()
551 packet = sctp_abort_pkt_new(net, ep, asoc, arg, in sctp_sf_do_5_1C_ack()
562 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_do_5_1C_ack()
579 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1C_ack()
581 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_do_5_1C_ack()
582 return sctp_stop_t1_and_abort(net, commands, error, ECONNREFUSED, in sctp_sf_do_5_1C_ack()
627 static bool sctp_auth_chunk_verify(struct net *net, struct sctp_chunk *chunk, in sctp_auth_chunk_verify() argument
643 if (!net->sctp.auth_enable || !asoc->peer.auth_capable) in sctp_auth_chunk_verify()
690 enum sctp_disposition sctp_sf_do_5_1D_ce(struct net *net, in sctp_sf_do_5_1D_ce() argument
707 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1D_ce()
712 if (ep == sctp_sk(net->sctp.ctl_sock)->ep) { in sctp_sf_do_5_1D_ce()
713 SCTP_INC_STATS(net, SCTP_MIB_OUTOFBLUES); in sctp_sf_do_5_1D_ce()
714 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1D_ce()
723 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_5_1D_ce()
733 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1D_ce()
766 sctp_send_stale_cookie_err(net, ep, asoc, chunk, commands, in sctp_sf_do_5_1D_ce()
768 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1D_ce()
772 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1D_ce()
800 if (!sctp_auth_chunk_verify(net, chunk, new_asoc)) { in sctp_sf_do_5_1D_ce()
802 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1D_ce()
850 SCTP_INC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_5_1D_ce()
851 SCTP_INC_STATS(net, SCTP_MIB_PASSIVEESTABS); in sctp_sf_do_5_1D_ce()
908 enum sctp_disposition sctp_sf_do_5_1E_ca(struct net *net, in sctp_sf_do_5_1E_ca() argument
919 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1E_ca()
925 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_5_1E_ca()
949 SCTP_INC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_5_1E_ca()
950 SCTP_INC_STATS(net, SCTP_MIB_ACTIVEESTABS); in sctp_sf_do_5_1E_ca()
1025 enum sctp_disposition sctp_sf_sendbeat_8_3(struct net *net, in sctp_sf_sendbeat_8_3() argument
1040 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_sendbeat_8_3()
1041 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_sendbeat_8_3()
1073 enum sctp_disposition sctp_sf_send_reconf(struct net *net, in sctp_sf_send_reconf() argument
1088 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_send_reconf()
1089 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_send_reconf()
1125 enum sctp_disposition sctp_sf_beat_8_3(struct net *net, in sctp_sf_beat_8_3() argument
1137 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_beat_8_3()
1142 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_beat_8_3()
1154 return sctp_sf_violation_paramlen(net, ep, asoc, type, arg, in sctp_sf_beat_8_3()
1199 enum sctp_disposition sctp_sf_backbeat_8_3(struct net *net, in sctp_sf_backbeat_8_3() argument
1213 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_backbeat_8_3()
1218 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_backbeat_8_3()
1274 static int sctp_sf_send_restart_abort(struct net *net, union sctp_addr *ssa, in sctp_sf_send_restart_abort() argument
1300 ep = sctp_sk(net->sctp.ctl_sock)->ep; in sctp_sf_send_restart_abort()
1305 pkt = sctp_abort_pkt_new(net, ep, NULL, init, errhdr, len); in sctp_sf_send_restart_abort()
1311 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_send_restart_abort()
1343 struct net *net = new_asoc->base.net; in sctp_sf_check_restart_addrs() local
1362 sctp_sf_send_restart_abort(net, &new_addr->ipaddr, init, in sctp_sf_check_restart_addrs()
1462 struct net *net, in sctp_sf_do_unexpected_init() argument
1479 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_unexpected_init()
1491 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_unexpected_init()
1495 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_unexpected_init()
1501 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_do_unexpected_init()
1511 if (!sctp_verify_init(net, ep, asoc, chunk->chunk_hdr->type, in sctp_sf_do_unexpected_init()
1518 packet = sctp_abort_pkt_new(net, ep, asoc, arg, in sctp_sf_do_unexpected_init()
1527 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_do_unexpected_init()
1534 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, in sctp_sf_do_unexpected_init()
1677 struct net *net, in sctp_sf_do_5_2_1_siminit() argument
1687 return sctp_sf_do_unexpected_init(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_1_siminit()
1732 struct net *net, in sctp_sf_do_5_2_2_dupinit() argument
1742 return sctp_sf_do_unexpected_init(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_2_dupinit()
1756 struct net *net, in sctp_sf_do_5_2_3_initack() argument
1766 if (ep == sctp_sk(net->sctp.ctl_sock)->ep) in sctp_sf_do_5_2_3_initack()
1767 return sctp_sf_ootb(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_3_initack()
1769 return sctp_sf_discard_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_3_initack()
1778 struct net *net, in sctp_sf_do_dupcook_a() argument
1803 if (!sctp_auth_chunk_verify(net, chunk, new_asoc)) in sctp_sf_do_dupcook_a()
1820 disposition = __sctp_sf_do_9_2_reshutack(net, ep, asoc, in sctp_sf_do_dupcook_a()
1863 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_do_dupcook_a()
1864 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_dupcook_a()
1890 return sctp_sf_do_9_2_start_shutdown(net, ep, asoc, in sctp_sf_do_dupcook_a()
1915 struct net *net, in sctp_sf_do_dupcook_b() argument
1936 if (!sctp_auth_chunk_verify(net, chunk, new_asoc)) in sctp_sf_do_dupcook_b()
1944 SCTP_INC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_dupcook_b()
1997 struct net *net, in sctp_sf_do_dupcook_c() argument
2020 struct net *net, in sctp_sf_do_dupcook_d() argument
2037 if (!sctp_auth_chunk_verify(net, chunk, asoc)) in sctp_sf_do_dupcook_d()
2046 SCTP_INC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_dupcook_d()
2132 struct net *net, in sctp_sf_do_5_2_4_dupcook() argument
2154 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_4_dupcook()
2188 sctp_send_stale_cookie_err(net, ep, asoc, chunk, commands, in sctp_sf_do_5_2_4_dupcook()
2190 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_4_dupcook()
2193 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_4_dupcook()
2201 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_4_dupcook()
2214 retval = sctp_sf_do_dupcook_a(net, ep, asoc, chunk, commands, in sctp_sf_do_5_2_4_dupcook()
2219 retval = sctp_sf_do_dupcook_b(net, ep, asoc, chunk, commands, in sctp_sf_do_5_2_4_dupcook()
2224 retval = sctp_sf_do_dupcook_c(net, ep, asoc, chunk, commands, in sctp_sf_do_5_2_4_dupcook()
2229 retval = sctp_sf_do_dupcook_d(net, ep, asoc, chunk, commands, in sctp_sf_do_5_2_4_dupcook()
2234 retval = sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_4_dupcook()
2260 struct net *net, in sctp_sf_shutdown_pending_abort() argument
2270 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_pending_abort()
2283 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_pending_abort()
2292 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_pending_abort()
2295 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_pending_abort()
2297 return __sctp_sf_do_9_1_abort(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_pending_abort()
2306 struct net *net, in sctp_sf_shutdown_sent_abort() argument
2316 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_sent_abort()
2329 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_sent_abort()
2338 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_sent_abort()
2341 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_sent_abort()
2351 return __sctp_sf_do_9_1_abort(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_sent_abort()
2360 struct net *net, in sctp_sf_shutdown_ack_sent_abort() argument
2370 return sctp_sf_shutdown_sent_abort(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_ack_sent_abort()
2388 struct net *net, in sctp_sf_cookie_echoed_err() argument
2399 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_echoed_err()
2405 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_cookie_echoed_err()
2415 return sctp_sf_do_5_2_6_stale(net, ep, asoc, type, in sctp_sf_cookie_echoed_err()
2424 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_echoed_err()
2453 struct net *net, in sctp_sf_do_5_2_6_stale() argument
2576 struct net *net, in sctp_sf_do_9_1_abort() argument
2586 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_1_abort()
2599 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_1_abort()
2608 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_1_abort()
2611 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_1_abort()
2613 return __sctp_sf_do_9_1_abort(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_1_abort()
2617 struct net *net, in __sctp_sf_do_9_1_abort() argument
2636 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in __sctp_sf_do_9_1_abort()
2637 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in __sctp_sf_do_9_1_abort()
2648 struct net *net, in sctp_sf_cookie_wait_abort() argument
2660 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_wait_abort()
2673 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_wait_abort()
2680 return sctp_stop_t1_and_abort(net, commands, error, ECONNREFUSED, asoc, in sctp_sf_cookie_wait_abort()
2688 struct net *net, in sctp_sf_cookie_wait_icmp_abort() argument
2695 return sctp_stop_t1_and_abort(net, commands, SCTP_ERROR_NO_ERROR, in sctp_sf_cookie_wait_icmp_abort()
2704 struct net *net, in sctp_sf_cookie_echoed_abort() argument
2714 return sctp_sf_cookie_wait_abort(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_echoed_abort()
2723 struct net *net, in sctp_stop_t1_and_abort() argument
2733 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_stop_t1_and_abort()
2778 struct net *net, in sctp_sf_do_9_2_shutdown() argument
2792 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_shutdown()
2796 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_9_2_shutdown()
2817 return sctp_sf_violation_ctsn(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_shutdown()
2841 disposition = sctp_sf_do_9_2_shutdown_ack(net, ep, asoc, type, in sctp_sf_do_9_2_shutdown()
2868 struct net *net, in sctp_sf_do_9_2_shut_ctsn() argument
2880 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_shut_ctsn()
2884 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_9_2_shut_ctsn()
2902 return sctp_sf_violation_ctsn(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_shut_ctsn()
2922 __sctp_sf_do_9_2_reshutack(struct net *net, const struct sctp_endpoint *ep, in __sctp_sf_do_9_2_reshutack() argument
2932 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in __sctp_sf_do_9_2_reshutack()
2960 sctp_sf_do_9_2_reshutack(struct net *net, const struct sctp_endpoint *ep, in sctp_sf_do_9_2_reshutack() argument
2968 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_reshutack()
2971 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_reshutack()
2974 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_reshutack()
2976 return __sctp_sf_do_9_2_reshutack(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_reshutack()
3004 enum sctp_disposition sctp_sf_do_ecn_cwr(struct net *net, in sctp_sf_do_ecn_cwr() argument
3016 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_ecn_cwr()
3019 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_ecn_cwr()
3060 enum sctp_disposition sctp_sf_do_ecne(struct net *net, in sctp_sf_do_ecne() argument
3070 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_ecne()
3073 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_ecne()
3116 enum sctp_disposition sctp_sf_eat_data_6_2(struct net *net, in sctp_sf_eat_data_6_2() argument
3130 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_data_6_2()
3134 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_data_6_2()
3143 SCTP_INC_STATS(net, SCTP_MIB_IN_DATA_CHUNK_DISCARDS); in sctp_sf_eat_data_6_2()
3147 SCTP_INC_STATS(net, SCTP_MIB_IN_DATA_CHUNK_DISCARDS); in sctp_sf_eat_data_6_2()
3152 return sctp_sf_abort_violation(net, ep, asoc, chunk, commands, in sctp_sf_eat_data_6_2()
3237 struct net *net, in sctp_sf_eat_data_fast_4_4() argument
3250 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_data_fast_4_4()
3254 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_data_fast_4_4()
3268 return sctp_sf_abort_violation(net, ep, asoc, chunk, commands, in sctp_sf_eat_data_fast_4_4()
3328 enum sctp_disposition sctp_sf_eat_sack_6_2(struct net *net, in sctp_sf_eat_sack_6_2() argument
3340 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_sack_6_2()
3344 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_sack_6_2()
3351 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_sack_6_2()
3360 return sctp_sf_violation_ctsn(net, ep, asoc, type, arg, commands); in sctp_sf_eat_sack_6_2()
3405 struct net *net, in sctp_sf_tabort_8_4_8() argument
3416 packet = sctp_ootb_pkt_new(net, asoc, chunk); in sctp_sf_tabort_8_4_8()
3441 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_tabort_8_4_8()
3443 sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_tabort_8_4_8()
3455 enum sctp_disposition sctp_sf_operr_notify(struct net *net, in sctp_sf_operr_notify() argument
3466 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_operr_notify()
3470 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_operr_notify()
3474 return sctp_sf_violation_paramlen(net, ep, asoc, type, arg, in sctp_sf_operr_notify()
3493 enum sctp_disposition sctp_sf_do_9_2_final(struct net *net, in sctp_sf_do_9_2_final() argument
3505 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_final()
3509 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_9_2_final()
3542 SCTP_INC_STATS(net, SCTP_MIB_SHUTDOWNS); in sctp_sf_do_9_2_final()
3543 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_9_2_final()
3576 enum sctp_disposition sctp_sf_ootb(struct net *net, in sctp_sf_ootb() argument
3590 SCTP_INC_STATS(net, SCTP_MIB_OUTOFBLUES); in sctp_sf_ootb()
3599 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_ootb()
3605 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_ootb()
3620 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_ootb()
3643 return sctp_sf_shut_8_4_5(net, ep, asoc, type, arg, commands); in sctp_sf_ootb()
3645 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_ootb()
3647 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_ootb()
3672 struct net *net, in sctp_sf_shut_8_4_5() argument
3683 packet = sctp_ootb_pkt_new(net, asoc, chunk); in sctp_sf_shut_8_4_5()
3708 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_shut_8_4_5()
3714 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shut_8_4_5()
3728 enum sctp_disposition sctp_sf_do_8_5_1_E_sa(struct net *net, in sctp_sf_do_8_5_1_E_sa() argument
3742 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_8_5_1_E_sa()
3750 SCTP_INC_STATS(net, SCTP_MIB_OUTOFBLUES); in sctp_sf_do_8_5_1_E_sa()
3752 return sctp_sf_shut_8_4_5(net, ep, NULL, type, arg, commands); in sctp_sf_do_8_5_1_E_sa()
3756 enum sctp_disposition sctp_sf_do_asconf(struct net *net, in sctp_sf_do_asconf() argument
3772 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_asconf()
3777 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_asconf()
3787 (!net->sctp.addip_noauth && !chunk->auth)) in sctp_sf_do_asconf()
3788 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_asconf()
3795 return sctp_sf_violation_paramlen(net, ep, asoc, type, arg, in sctp_sf_do_asconf()
3870 struct net *net, in sctp_send_next_asconf() argument
3889 return sctp_sf_do_prm_asconf(net, ep, asoc, type, asconf, commands); in sctp_send_next_asconf()
3897 enum sctp_disposition sctp_sf_do_asconf_ack(struct net *net, in sctp_sf_do_asconf_ack() argument
3914 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_asconf_ack()
3920 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_asconf_ack()
3930 (!net->sctp.addip_noauth && !asconf_ack->auth)) in sctp_sf_do_asconf_ack()
3931 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_asconf_ack()
3938 return sctp_sf_violation_paramlen(net, ep, asoc, type, arg, in sctp_sf_do_asconf_ack()
3973 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_do_asconf_ack()
3974 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_asconf_ack()
3984 return sctp_send_next_asconf(net, ep, in sctp_sf_do_asconf_ack()
4003 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_do_asconf_ack()
4004 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_asconf_ack()
4012 enum sctp_disposition sctp_sf_do_reconf(struct net *net, in sctp_sf_do_reconf() argument
4027 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_reconf()
4032 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_reconf()
4036 return sctp_sf_violation_paramlen(net, ep, asoc, type, arg, in sctp_sf_do_reconf()
4089 enum sctp_disposition sctp_sf_eat_fwd_tsn(struct net *net, in sctp_sf_eat_fwd_tsn() argument
4104 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_fwd_tsn()
4108 return sctp_sf_unk_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_eat_fwd_tsn()
4112 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_fwd_tsn()
4156 struct net *net, in sctp_sf_eat_fwd_tsn_fast() argument
4171 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_fwd_tsn_fast()
4175 return sctp_sf_unk_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_eat_fwd_tsn_fast()
4179 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_fwd_tsn_fast()
4318 enum sctp_disposition sctp_sf_eat_auth(struct net *net, in sctp_sf_eat_auth() argument
4331 return sctp_sf_unk_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_eat_auth()
4336 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_auth()
4341 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_auth()
4362 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_auth()
4365 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_auth()
4414 enum sctp_disposition sctp_sf_unk_chunk(struct net *net, in sctp_sf_unk_chunk() argument
4428 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_unk_chunk()
4435 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_unk_chunk()
4441 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_unk_chunk()
4455 sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_unk_chunk()
4494 enum sctp_disposition sctp_sf_discard_chunk(struct net *net, in sctp_sf_discard_chunk() argument
4504 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_discard_chunk()
4511 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_discard_chunk()
4537 enum sctp_disposition sctp_sf_pdiscard(struct net *net, in sctp_sf_pdiscard() argument
4543 SCTP_INC_STATS(net, SCTP_MIB_IN_PKT_DISCARDS); in sctp_sf_pdiscard()
4564 enum sctp_disposition sctp_sf_violation(struct net *net, in sctp_sf_violation() argument
4574 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_violation()
4578 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_violation()
4588 struct net *net, in sctp_sf_abort_violation() argument
4638 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_abort_violation()
4652 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_abort_violation()
4655 packet = sctp_ootb_pkt_new(net, asoc, chunk); in sctp_sf_abort_violation()
4670 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_abort_violation()
4673 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_abort_violation()
4676 sctp_sf_pdiscard(net, ep, asoc, SCTP_ST_CHUNK(0), arg, commands); in sctp_sf_abort_violation()
4705 struct net *net, in sctp_sf_violation_chunklen() argument
4714 return sctp_sf_abort_violation(net, ep, asoc, arg, commands, err_str, in sctp_sf_violation_chunklen()
4725 struct net *net, in sctp_sf_violation_paramlen() argument
4745 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_violation_paramlen()
4751 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_violation_paramlen()
4752 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_violation_paramlen()
4755 sctp_sf_pdiscard(net, ep, asoc, SCTP_ST_CHUNK(0), arg, commands); in sctp_sf_violation_paramlen()
4768 struct net *net, in sctp_sf_violation_ctsn() argument
4777 return sctp_sf_abort_violation(net, ep, asoc, arg, commands, err_str, in sctp_sf_violation_ctsn()
4788 struct net *net, in sctp_sf_violation_chunk() argument
4798 return sctp_sf_violation(net, ep, asoc, type, arg, commands); in sctp_sf_violation_chunk()
4800 return sctp_sf_abort_violation(net, ep, asoc, arg, commands, err_str, in sctp_sf_violation_chunk()
4863 enum sctp_disposition sctp_sf_do_prm_asoc(struct net *net, in sctp_sf_do_prm_asoc() argument
4975 enum sctp_disposition sctp_sf_do_prm_send(struct net *net, in sctp_sf_do_prm_send() argument
5015 struct net *net, in sctp_sf_do_9_2_prm_shutdown() argument
5037 disposition = sctp_sf_do_9_2_start_shutdown(net, ep, asoc, type, in sctp_sf_do_9_2_prm_shutdown()
5072 struct net *net, in sctp_sf_do_9_1_prm_abort() argument
5102 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_do_9_1_prm_abort()
5103 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_9_1_prm_abort()
5109 enum sctp_disposition sctp_sf_error_closed(struct net *net, in sctp_sf_error_closed() argument
5124 struct net *net, in sctp_sf_error_shutdown() argument
5151 struct net *net, in sctp_sf_cookie_wait_prm_shutdown() argument
5164 SCTP_INC_STATS(net, SCTP_MIB_SHUTDOWNS); in sctp_sf_cookie_wait_prm_shutdown()
5186 struct net *net, in sctp_sf_cookie_echoed_prm_shutdown() argument
5196 return sctp_sf_cookie_wait_prm_shutdown(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_echoed_prm_shutdown()
5214 struct net *net, in sctp_sf_cookie_wait_prm_abort() argument
5233 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_cookie_wait_prm_abort()
5263 struct net *net, in sctp_sf_cookie_echoed_prm_abort() argument
5273 return sctp_sf_cookie_wait_prm_abort(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_echoed_prm_abort()
5289 struct net *net, in sctp_sf_shutdown_pending_prm_abort() argument
5300 return sctp_sf_do_9_1_prm_abort(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_pending_prm_abort()
5316 struct net *net, in sctp_sf_shutdown_sent_prm_abort() argument
5331 return sctp_sf_do_9_1_prm_abort(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_sent_prm_abort()
5347 struct net *net, in sctp_sf_shutdown_ack_sent_prm_abort() argument
5357 return sctp_sf_shutdown_sent_prm_abort(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_ack_sent_prm_abort()
5383 struct net *net, in sctp_sf_do_prm_requestheartbeat() argument
5415 enum sctp_disposition sctp_sf_do_prm_asconf(struct net *net, in sctp_sf_do_prm_asconf() argument
5432 enum sctp_disposition sctp_sf_do_prm_reconf(struct net *net, in sctp_sf_do_prm_reconf() argument
5451 struct net *net, in sctp_sf_ignore_primitive() argument
5475 struct net *net, in sctp_sf_do_no_pending_tsn() argument
5507 struct net *net, in sctp_sf_do_9_2_start_shutdown() argument
5577 struct net *net, in sctp_sf_do_9_2_shutdown_ack() argument
5596 return sctp_sf_pdiscard(net, ep, asoc, type, arg, in sctp_sf_do_9_2_shutdown_ack()
5602 return sctp_sf_violation_chunklen(net, ep, asoc, type, in sctp_sf_do_9_2_shutdown_ack()
5650 enum sctp_disposition sctp_sf_ignore_other(struct net *net, in sctp_sf_ignore_other() argument
5678 enum sctp_disposition sctp_sf_do_6_3_3_rtx(struct net *net, in sctp_sf_do_6_3_3_rtx() argument
5687 SCTP_INC_STATS(net, SCTP_MIB_T3_RTX_EXPIREDS); in sctp_sf_do_6_3_3_rtx()
5709 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_do_6_3_3_rtx()
5710 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_6_3_3_rtx()
5766 enum sctp_disposition sctp_sf_do_6_2_sack(struct net *net, in sctp_sf_do_6_2_sack() argument
5773 SCTP_INC_STATS(net, SCTP_MIB_DELAY_SACK_EXPIREDS); in sctp_sf_do_6_2_sack()
5798 struct net *net, in sctp_sf_t1_init_timer_expire() argument
5811 SCTP_INC_STATS(net, SCTP_MIB_T1_INIT_EXPIREDS); in sctp_sf_t1_init_timer_expire()
5863 struct net *net, in sctp_sf_t1_cookie_timer_expire() argument
5875 SCTP_INC_STATS(net, SCTP_MIB_T1_COOKIE_EXPIREDS); in sctp_sf_t1_cookie_timer_expire()
5914 struct net *net, in sctp_sf_t2_timer_expire() argument
5925 SCTP_INC_STATS(net, SCTP_MIB_T2_SHUTDOWN_EXPIREDS); in sctp_sf_t2_timer_expire()
5935 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_t2_timer_expire()
5936 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_t2_timer_expire()
5985 struct net *net, in sctp_sf_t4_timer_expire() argument
5995 SCTP_INC_STATS(net, SCTP_MIB_T4_RTO_EXPIREDS); in sctp_sf_t4_timer_expire()
6020 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_t4_timer_expire()
6021 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_t4_timer_expire()
6057 struct net *net, in sctp_sf_t5_timer_expire() argument
6068 SCTP_INC_STATS(net, SCTP_MIB_T5_SHUTDOWN_GUARD_EXPIREDS); in sctp_sf_t5_timer_expire()
6080 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_t5_timer_expire()
6081 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_t5_timer_expire()
6094 struct net *net, in sctp_sf_autoclose_timer_expire() argument
6103 SCTP_INC_STATS(net, SCTP_MIB_AUTOCLOSE_EXPIREDS); in sctp_sf_autoclose_timer_expire()
6118 disposition = sctp_sf_do_9_2_start_shutdown(net, ep, asoc, type, in sctp_sf_autoclose_timer_expire()
6137 enum sctp_disposition sctp_sf_not_impl(struct net *net, in sctp_sf_not_impl() argument
6154 enum sctp_disposition sctp_sf_bug(struct net *net, in sctp_sf_bug() argument
6174 enum sctp_disposition sctp_sf_timer_ignore(struct net *net, in sctp_sf_timer_ignore() argument
6219 struct net *net, in sctp_abort_pkt_new() argument
6228 packet = sctp_ootb_pkt_new(net, asoc, chunk); in sctp_abort_pkt_new()
6261 struct net *net, in sctp_ootb_pkt_new() argument
6315 transport = sctp_transport_new(net, sctp_source(chunk), GFP_ATOMIC); in sctp_ootb_pkt_new()
6323 sctp_sk(net->sctp.ctl_sock)); in sctp_ootb_pkt_new()
6342 static void sctp_send_stale_cookie_err(struct net *net, in sctp_send_stale_cookie_err() argument
6352 packet = sctp_ootb_pkt_new(net, asoc, chunk); in sctp_send_stale_cookie_err()
6365 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_send_stale_cookie_err()
6379 struct net *net = sock_net(sk); in sctp_eat_data() local
6516 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_eat_data()
6517 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_eat_data()
6527 SCTP_INC_STATS(net, SCTP_MIB_INUNORDERCHUNKS); in sctp_eat_data()
6531 SCTP_INC_STATS(net, SCTP_MIB_INORDERCHUNKS); in sctp_eat_data()