Lines Matching refs:net
62 static struct sctp_packet *sctp_abort_pkt_new(struct net *net,
71 static struct sctp_packet *sctp_ootb_pkt_new(struct net *net,
74 static void sctp_send_stale_cookie_err(struct net *net,
80 static sctp_disposition_t sctp_sf_do_5_2_6_stale(struct net *net,
86 static sctp_disposition_t sctp_sf_shut_8_4_5(struct net *net,
92 static sctp_disposition_t sctp_sf_tabort_8_4_8(struct net *net,
100 static sctp_disposition_t sctp_stop_t1_and_abort(struct net *net,
107 struct net *net,
116 struct net *net,
124 struct net *net,
132 struct net *net,
140 struct net *net,
147 static sctp_ierror_t sctp_sf_authenticate(struct net *net,
153 static sctp_disposition_t __sctp_sf_do_9_1_abort(struct net *net,
217 sctp_disposition_t sctp_sf_do_4_C(struct net *net, in sctp_sf_do_4_C() argument
228 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_4_C()
236 return sctp_sf_violation_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_do_4_C()
240 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_4_C()
273 SCTP_INC_STATS(net, SCTP_MIB_SHUTDOWNS); in sctp_sf_do_4_C()
274 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_4_C()
303 sctp_disposition_t sctp_sf_do_5_1B_init(struct net *net, in sctp_sf_do_5_1B_init() argument
328 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1B_init()
333 if (ep == sctp_sk(net->sctp.ctl_sock)->ep) { in sctp_sf_do_5_1B_init()
334 SCTP_INC_STATS(net, SCTP_MIB_OUTOFBLUES); in sctp_sf_do_5_1B_init()
335 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1B_init()
342 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1B_init()
350 return sctp_sf_pdiscard(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()
363 if (!sctp_verify_init(net, ep, asoc, chunk->chunk_hdr->type, in sctp_sf_do_5_1B_init()
370 packet = sctp_abort_pkt_new(net, ep, asoc, arg, in sctp_sf_do_5_1B_init()
381 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_do_5_1B_init()
387 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, in sctp_sf_do_5_1B_init()
499 sctp_disposition_t sctp_sf_do_5_1C_ack(struct net *net, in sctp_sf_do_5_1C_ack() argument
512 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1C_ack()
519 return sctp_sf_violation_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1C_ack()
523 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_5_1C_ack()
530 if (!sctp_verify_init(net, ep, asoc, chunk->chunk_hdr->type, in sctp_sf_do_5_1C_ack()
542 packet = sctp_abort_pkt_new(net, ep, asoc, arg, in sctp_sf_do_5_1C_ack()
553 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_do_5_1C_ack()
570 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1C_ack()
572 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_do_5_1C_ack()
573 return sctp_stop_t1_and_abort(net, commands, error, ECONNREFUSED, in sctp_sf_do_5_1C_ack()
649 sctp_disposition_t sctp_sf_do_5_1D_ce(struct net *net, in sctp_sf_do_5_1D_ce() argument
667 if (ep == sctp_sk(net->sctp.ctl_sock)->ep) { in sctp_sf_do_5_1D_ce()
668 SCTP_INC_STATS(net, SCTP_MIB_OUTOFBLUES); in sctp_sf_do_5_1D_ce()
669 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1D_ce()
678 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1D_ce()
687 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1D_ce()
720 sctp_send_stale_cookie_err(net, ep, asoc, chunk, commands, in sctp_sf_do_5_1D_ce()
722 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1D_ce()
726 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1D_ce()
765 if (!net->sctp.auth_enable || !new_asoc->peer.auth_capable) { in sctp_sf_do_5_1D_ce()
767 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1D_ce()
779 ret = sctp_sf_authenticate(net, ep, new_asoc, type, &auth); in sctp_sf_do_5_1D_ce()
782 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1D_ce()
823 SCTP_INC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_5_1D_ce()
824 SCTP_INC_STATS(net, SCTP_MIB_PASSIVEESTABS); in sctp_sf_do_5_1D_ce()
875 sctp_disposition_t sctp_sf_do_5_1E_ca(struct net *net, in sctp_sf_do_5_1E_ca() argument
885 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_1E_ca()
891 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_5_1E_ca()
912 SCTP_INC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_5_1E_ca()
913 SCTP_INC_STATS(net, SCTP_MIB_ACTIVEESTABS); in sctp_sf_do_5_1E_ca()
978 sctp_disposition_t sctp_sf_sendbeat_8_3(struct net *net, in sctp_sf_sendbeat_8_3() argument
993 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_sendbeat_8_3()
994 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_sendbeat_8_3()
1049 sctp_disposition_t sctp_sf_beat_8_3(struct net *net, in sctp_sf_beat_8_3() argument
1062 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_beat_8_3()
1066 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_beat_8_3()
1078 return sctp_sf_violation_paramlen(net, ep, asoc, type, arg, in sctp_sf_beat_8_3()
1123 sctp_disposition_t sctp_sf_backbeat_8_3(struct net *net, in sctp_sf_backbeat_8_3() argument
1137 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_backbeat_8_3()
1142 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_backbeat_8_3()
1200 static int sctp_sf_send_restart_abort(struct net *net, union sctp_addr *ssa, in sctp_sf_send_restart_abort() argument
1226 ep = sctp_sk(net->sctp.ctl_sock)->ep; in sctp_sf_send_restart_abort()
1231 pkt = sctp_abort_pkt_new(net, ep, NULL, init, errhdr, len); in sctp_sf_send_restart_abort()
1237 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_send_restart_abort()
1269 struct net *net = sock_net(new_asoc->base.sk); in sctp_sf_check_restart_addrs() local
1288 sctp_sf_send_restart_abort(net, &new_addr->ipaddr, init, in sctp_sf_check_restart_addrs()
1388 struct net *net, in sctp_sf_do_unexpected_init() argument
1413 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_unexpected_init()
1419 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_do_unexpected_init()
1426 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_unexpected_init()
1436 if (!sctp_verify_init(net, ep, asoc, chunk->chunk_hdr->type, in sctp_sf_do_unexpected_init()
1443 packet = sctp_abort_pkt_new(net, ep, asoc, arg, in sctp_sf_do_unexpected_init()
1452 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_do_unexpected_init()
1459 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, in sctp_sf_do_unexpected_init()
1601 sctp_disposition_t sctp_sf_do_5_2_1_siminit(struct net *net, in sctp_sf_do_5_2_1_siminit() argument
1611 return sctp_sf_do_unexpected_init(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_1_siminit()
1655 sctp_disposition_t sctp_sf_do_5_2_2_dupinit(struct net *net, in sctp_sf_do_5_2_2_dupinit() argument
1665 return sctp_sf_do_unexpected_init(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_2_dupinit()
1678 sctp_disposition_t sctp_sf_do_5_2_3_initack(struct net *net, in sctp_sf_do_5_2_3_initack() argument
1687 if (ep == sctp_sk(net->sctp.ctl_sock)->ep) in sctp_sf_do_5_2_3_initack()
1688 return sctp_sf_ootb(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_3_initack()
1690 return sctp_sf_discard_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_3_initack()
1698 static sctp_disposition_t sctp_sf_do_dupcook_a(struct net *net, in sctp_sf_do_dupcook_a() argument
1735 disposition = sctp_sf_do_9_2_reshutack(net, ep, asoc, in sctp_sf_do_dupcook_a()
1789 return sctp_sf_do_9_2_start_shutdown(net, ep, asoc, in sctp_sf_do_dupcook_a()
1813 static sctp_disposition_t sctp_sf_do_dupcook_b(struct net *net, in sctp_sf_do_dupcook_b() argument
1835 SCTP_INC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_dupcook_b()
1884 static sctp_disposition_t sctp_sf_do_dupcook_c(struct net *net, in sctp_sf_do_dupcook_c() argument
1906 static sctp_disposition_t sctp_sf_do_dupcook_d(struct net *net, in sctp_sf_do_dupcook_d() argument
1929 SCTP_INC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_dupcook_d()
2001 sctp_disposition_t sctp_sf_do_5_2_4_dupcook(struct net *net, in sctp_sf_do_5_2_4_dupcook() argument
2021 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_5_2_4_dupcook()
2055 sctp_send_stale_cookie_err(net, ep, asoc, chunk, commands, in sctp_sf_do_5_2_4_dupcook()
2057 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_4_dupcook()
2060 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_4_dupcook()
2071 retval = sctp_sf_do_dupcook_a(net, ep, asoc, chunk, commands, in sctp_sf_do_5_2_4_dupcook()
2076 retval = sctp_sf_do_dupcook_b(net, ep, asoc, chunk, commands, in sctp_sf_do_5_2_4_dupcook()
2081 retval = sctp_sf_do_dupcook_c(net, ep, asoc, chunk, commands, in sctp_sf_do_5_2_4_dupcook()
2086 retval = sctp_sf_do_dupcook_d(net, ep, asoc, chunk, commands, in sctp_sf_do_5_2_4_dupcook()
2091 retval = sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_5_2_4_dupcook()
2117 struct net *net, in sctp_sf_shutdown_pending_abort() argument
2127 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_pending_abort()
2140 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_pending_abort()
2149 return sctp_sf_discard_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_pending_abort()
2151 return __sctp_sf_do_9_1_abort(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_pending_abort()
2159 sctp_disposition_t sctp_sf_shutdown_sent_abort(struct net *net, in sctp_sf_shutdown_sent_abort() argument
2169 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_sent_abort()
2182 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_sent_abort()
2191 return sctp_sf_discard_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_sent_abort()
2201 return __sctp_sf_do_9_1_abort(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_sent_abort()
2210 struct net *net, in sctp_sf_shutdown_ack_sent_abort() argument
2220 return sctp_sf_shutdown_sent_abort(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_ack_sent_abort()
2237 sctp_disposition_t sctp_sf_cookie_echoed_err(struct net *net, in sctp_sf_cookie_echoed_err() argument
2248 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_echoed_err()
2254 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_cookie_echoed_err()
2264 return sctp_sf_do_5_2_6_stale(net, ep, asoc, type, in sctp_sf_cookie_echoed_err()
2273 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_echoed_err()
2301 static sctp_disposition_t sctp_sf_do_5_2_6_stale(struct net *net, in sctp_sf_do_5_2_6_stale() argument
2424 sctp_disposition_t sctp_sf_do_9_1_abort(struct net *net, in sctp_sf_do_9_1_abort() argument
2434 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_1_abort()
2447 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_1_abort()
2456 return sctp_sf_discard_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_1_abort()
2458 return __sctp_sf_do_9_1_abort(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_1_abort()
2461 static sctp_disposition_t __sctp_sf_do_9_1_abort(struct net *net, in __sctp_sf_do_9_1_abort() argument
2479 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in __sctp_sf_do_9_1_abort()
2487 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in __sctp_sf_do_9_1_abort()
2488 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in __sctp_sf_do_9_1_abort()
2498 sctp_disposition_t sctp_sf_cookie_wait_abort(struct net *net, in sctp_sf_cookie_wait_abort() argument
2510 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_wait_abort()
2523 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_wait_abort()
2530 return sctp_stop_t1_and_abort(net, commands, error, ECONNREFUSED, asoc, in sctp_sf_cookie_wait_abort()
2537 sctp_disposition_t sctp_sf_cookie_wait_icmp_abort(struct net *net, in sctp_sf_cookie_wait_icmp_abort() argument
2544 return sctp_stop_t1_and_abort(net, commands, SCTP_ERROR_NO_ERROR, in sctp_sf_cookie_wait_icmp_abort()
2552 sctp_disposition_t sctp_sf_cookie_echoed_abort(struct net *net, in sctp_sf_cookie_echoed_abort() argument
2562 return sctp_sf_cookie_wait_abort(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_echoed_abort()
2570 static sctp_disposition_t sctp_stop_t1_and_abort(struct net *net, in sctp_stop_t1_and_abort() argument
2580 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_stop_t1_and_abort()
2624 sctp_disposition_t sctp_sf_do_9_2_shutdown(struct net *net, in sctp_sf_do_9_2_shutdown() argument
2638 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_shutdown()
2643 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_9_2_shutdown()
2664 return sctp_sf_violation_ctsn(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_shutdown()
2688 disposition = sctp_sf_do_9_2_shutdown_ack(net, ep, asoc, type, in sctp_sf_do_9_2_shutdown()
2714 sctp_disposition_t sctp_sf_do_9_2_shut_ctsn(struct net *net, in sctp_sf_do_9_2_shut_ctsn() argument
2726 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_shut_ctsn()
2731 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_9_2_shut_ctsn()
2749 return sctp_sf_violation_ctsn(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_shut_ctsn()
2768 sctp_disposition_t sctp_sf_do_9_2_reshutack(struct net *net, in sctp_sf_do_9_2_reshutack() argument
2780 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_9_2_reshutack()
2832 sctp_disposition_t sctp_sf_do_ecn_cwr(struct net *net, in sctp_sf_do_ecn_cwr() argument
2844 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_ecn_cwr()
2847 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_ecn_cwr()
2888 sctp_disposition_t sctp_sf_do_ecne(struct net *net, in sctp_sf_do_ecne() argument
2899 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_ecne()
2902 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_ecne()
2945 sctp_disposition_t sctp_sf_eat_data_6_2(struct net *net, in sctp_sf_eat_data_6_2() argument
2959 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_data_6_2()
2963 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_data_6_2()
2972 SCTP_INC_STATS(net, SCTP_MIB_IN_DATA_CHUNK_DISCARDS); in sctp_sf_eat_data_6_2()
2976 SCTP_INC_STATS(net, SCTP_MIB_IN_DATA_CHUNK_DISCARDS); in sctp_sf_eat_data_6_2()
2981 return sctp_sf_abort_violation(net, ep, asoc, chunk, commands, in sctp_sf_eat_data_6_2()
3067 sctp_disposition_t sctp_sf_eat_data_fast_4_4(struct net *net, in sctp_sf_eat_data_fast_4_4() argument
3080 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_data_fast_4_4()
3084 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_data_fast_4_4()
3098 return sctp_sf_abort_violation(net, ep, asoc, chunk, commands, in sctp_sf_eat_data_fast_4_4()
3158 sctp_disposition_t sctp_sf_eat_sack_6_2(struct net *net, in sctp_sf_eat_sack_6_2() argument
3170 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_sack_6_2()
3174 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_sack_6_2()
3181 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_sack_6_2()
3203 return sctp_sf_violation_ctsn(net, ep, asoc, type, arg, commands); in sctp_sf_eat_sack_6_2()
3232 static sctp_disposition_t sctp_sf_tabort_8_4_8(struct net *net, in sctp_sf_tabort_8_4_8() argument
3243 packet = sctp_ootb_pkt_new(net, asoc, chunk); in sctp_sf_tabort_8_4_8()
3267 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_tabort_8_4_8()
3269 sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_tabort_8_4_8()
3284 sctp_disposition_t sctp_sf_operr_notify(struct net *net, in sctp_sf_operr_notify() argument
3295 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_operr_notify()
3299 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_operr_notify()
3303 return sctp_sf_violation_paramlen(net, ep, asoc, type, arg, in sctp_sf_operr_notify()
3322 sctp_disposition_t sctp_sf_do_9_2_final(struct net *net, in sctp_sf_do_9_2_final() argument
3334 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_final()
3338 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_9_2_final()
3371 SCTP_INC_STATS(net, SCTP_MIB_SHUTDOWNS); in sctp_sf_do_9_2_final()
3372 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_9_2_final()
3405 sctp_disposition_t sctp_sf_ootb(struct net *net, in sctp_sf_ootb() argument
3420 SCTP_INC_STATS(net, SCTP_MIB_OUTOFBLUES); in sctp_sf_ootb()
3426 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_ootb()
3432 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_ootb()
3447 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_ootb()
3470 return sctp_sf_shut_8_4_5(net, ep, asoc, type, arg, commands); in sctp_sf_ootb()
3472 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_ootb()
3474 return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands); in sctp_sf_ootb()
3498 static sctp_disposition_t sctp_sf_shut_8_4_5(struct net *net, in sctp_sf_shut_8_4_5() argument
3509 packet = sctp_ootb_pkt_new(net, asoc, chunk); in sctp_sf_shut_8_4_5()
3533 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_shut_8_4_5()
3539 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shut_8_4_5()
3545 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_shut_8_4_5()
3562 sctp_disposition_t sctp_sf_do_8_5_1_E_sa(struct net *net, in sctp_sf_do_8_5_1_E_sa() argument
3573 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_8_5_1_E_sa()
3581 SCTP_INC_STATS(net, SCTP_MIB_OUTOFBLUES); in sctp_sf_do_8_5_1_E_sa()
3583 return sctp_sf_shut_8_4_5(net, ep, NULL, type, arg, commands); in sctp_sf_do_8_5_1_E_sa()
3587 sctp_disposition_t sctp_sf_do_asconf(struct net *net, in sctp_sf_do_asconf() argument
3602 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_asconf()
3611 if (!net->sctp.addip_noauth && !chunk->auth) in sctp_sf_do_asconf()
3612 return sctp_sf_discard_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_do_asconf()
3616 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_asconf()
3624 return sctp_sf_violation_paramlen(net, ep, asoc, type, arg, in sctp_sf_do_asconf()
3703 sctp_disposition_t sctp_sf_do_asconf_ack(struct net *net, in sctp_sf_do_asconf_ack() argument
3719 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_asconf_ack()
3728 if (!net->sctp.addip_noauth && !asconf_ack->auth) in sctp_sf_do_asconf_ack()
3729 return sctp_sf_discard_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_do_asconf_ack()
3733 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_asconf_ack()
3741 return sctp_sf_violation_paramlen(net, ep, asoc, type, arg, in sctp_sf_do_asconf_ack()
3776 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_do_asconf_ack()
3777 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_asconf_ack()
3810 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_do_asconf_ack()
3811 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_asconf_ack()
3832 sctp_disposition_t sctp_sf_eat_fwd_tsn(struct net *net, in sctp_sf_eat_fwd_tsn() argument
3848 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_fwd_tsn()
3853 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_fwd_tsn()
3900 struct net *net, in sctp_sf_eat_fwd_tsn_fast() argument
3916 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_fwd_tsn_fast()
3921 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_fwd_tsn_fast()
3988 static sctp_ierror_t sctp_sf_authenticate(struct net *net, in sctp_sf_authenticate() argument
4062 sctp_disposition_t sctp_sf_eat_auth(struct net *net, in sctp_sf_eat_auth() argument
4076 return sctp_sf_unk_chunk(net, ep, asoc, type, arg, commands); in sctp_sf_eat_auth()
4081 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_auth()
4086 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_auth()
4090 error = sctp_sf_authenticate(net, ep, asoc, type, chunk); in sctp_sf_eat_auth()
4107 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_eat_auth()
4110 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_eat_auth()
4159 sctp_disposition_t sctp_sf_unk_chunk(struct net *net, in sctp_sf_unk_chunk() argument
4173 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_unk_chunk()
4180 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_unk_chunk()
4186 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_unk_chunk()
4200 sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_unk_chunk()
4239 sctp_disposition_t sctp_sf_discard_chunk(struct net *net, in sctp_sf_discard_chunk() argument
4253 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_discard_chunk()
4279 sctp_disposition_t sctp_sf_pdiscard(struct net *net, in sctp_sf_pdiscard() argument
4286 SCTP_INC_STATS(net, SCTP_MIB_IN_PKT_DISCARDS); in sctp_sf_pdiscard()
4307 sctp_disposition_t sctp_sf_violation(struct net *net, in sctp_sf_violation() argument
4318 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_violation()
4328 struct net *net, in sctp_sf_abort_violation() argument
4379 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_abort_violation()
4393 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_abort_violation()
4396 packet = sctp_ootb_pkt_new(net, asoc, chunk); in sctp_sf_abort_violation()
4411 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_abort_violation()
4414 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_abort_violation()
4417 sctp_sf_pdiscard(net, ep, asoc, SCTP_ST_CHUNK(0), arg, commands); in sctp_sf_abort_violation()
4446 struct net *net, in sctp_sf_violation_chunklen() argument
4455 return sctp_sf_abort_violation(net, ep, asoc, arg, commands, err_str, in sctp_sf_violation_chunklen()
4466 struct net *net, in sctp_sf_violation_paramlen() argument
4486 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_sf_violation_paramlen()
4492 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_violation_paramlen()
4493 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_violation_paramlen()
4496 sctp_sf_pdiscard(net, ep, asoc, SCTP_ST_CHUNK(0), arg, commands); in sctp_sf_violation_paramlen()
4509 struct net *net, in sctp_sf_violation_ctsn() argument
4518 return sctp_sf_abort_violation(net, ep, asoc, arg, commands, err_str, in sctp_sf_violation_ctsn()
4529 struct net *net, in sctp_sf_violation_chunk() argument
4539 return sctp_sf_violation(net, ep, asoc, type, arg, commands); in sctp_sf_violation_chunk()
4541 return sctp_sf_abort_violation(net, ep, asoc, arg, commands, err_str, in sctp_sf_violation_chunk()
4604 sctp_disposition_t sctp_sf_do_prm_asoc(struct net *net, in sctp_sf_do_prm_asoc() argument
4716 sctp_disposition_t sctp_sf_do_prm_send(struct net *net, in sctp_sf_do_prm_send() argument
4756 struct net *net, in sctp_sf_do_9_2_prm_shutdown() argument
4778 disposition = sctp_sf_do_9_2_start_shutdown(net, ep, asoc, type, in sctp_sf_do_9_2_prm_shutdown()
4812 struct net *net, in sctp_sf_do_9_1_prm_abort() argument
4845 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_do_9_1_prm_abort()
4846 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_9_1_prm_abort()
4852 sctp_disposition_t sctp_sf_error_closed(struct net *net, in sctp_sf_error_closed() argument
4866 sctp_disposition_t sctp_sf_error_shutdown(struct net *net, in sctp_sf_error_shutdown() argument
4893 struct net *net, in sctp_sf_cookie_wait_prm_shutdown() argument
4906 SCTP_INC_STATS(net, SCTP_MIB_SHUTDOWNS); in sctp_sf_cookie_wait_prm_shutdown()
4928 struct net *net, in sctp_sf_cookie_echoed_prm_shutdown() argument
4937 return sctp_sf_cookie_wait_prm_shutdown(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_echoed_prm_shutdown()
4955 struct net *net, in sctp_sf_cookie_wait_prm_abort() argument
4976 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_cookie_wait_prm_abort()
5006 struct net *net, in sctp_sf_cookie_echoed_prm_abort() argument
5016 return sctp_sf_cookie_wait_prm_abort(net, ep, asoc, type, arg, commands); in sctp_sf_cookie_echoed_prm_abort()
5032 struct net *net, in sctp_sf_shutdown_pending_prm_abort() argument
5043 return sctp_sf_do_9_1_prm_abort(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_pending_prm_abort()
5059 struct net *net, in sctp_sf_shutdown_sent_prm_abort() argument
5074 return sctp_sf_do_9_1_prm_abort(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_sent_prm_abort()
5090 struct net *net, in sctp_sf_shutdown_ack_sent_prm_abort() argument
5100 return sctp_sf_shutdown_sent_prm_abort(net, ep, asoc, type, arg, commands); in sctp_sf_shutdown_ack_sent_prm_abort()
5126 struct net *net, in sctp_sf_do_prm_requestheartbeat() argument
5158 sctp_disposition_t sctp_sf_do_prm_asconf(struct net *net, in sctp_sf_do_prm_asconf() argument
5180 struct net *net, in sctp_sf_ignore_primitive() argument
5204 struct net *net, in sctp_sf_do_no_pending_tsn() argument
5236 struct net *net, in sctp_sf_do_9_2_start_shutdown() argument
5306 struct net *net, in sctp_sf_do_9_2_shutdown_ack() argument
5325 return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); in sctp_sf_do_9_2_shutdown_ack()
5329 return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, in sctp_sf_do_9_2_shutdown_ack()
5377 sctp_disposition_t sctp_sf_ignore_other(struct net *net, in sctp_sf_ignore_other() argument
5405 sctp_disposition_t sctp_sf_do_6_3_3_rtx(struct net *net, in sctp_sf_do_6_3_3_rtx() argument
5414 SCTP_INC_STATS(net, SCTP_MIB_T3_RTX_EXPIREDS); in sctp_sf_do_6_3_3_rtx()
5435 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_do_6_3_3_rtx()
5436 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_do_6_3_3_rtx()
5492 sctp_disposition_t sctp_sf_do_6_2_sack(struct net *net, in sctp_sf_do_6_2_sack() argument
5499 SCTP_INC_STATS(net, SCTP_MIB_DELAY_SACK_EXPIREDS); in sctp_sf_do_6_2_sack()
5523 sctp_disposition_t sctp_sf_t1_init_timer_expire(struct net *net, in sctp_sf_t1_init_timer_expire() argument
5536 SCTP_INC_STATS(net, SCTP_MIB_T1_INIT_EXPIREDS); in sctp_sf_t1_init_timer_expire()
5587 sctp_disposition_t sctp_sf_t1_cookie_timer_expire(struct net *net, in sctp_sf_t1_cookie_timer_expire() argument
5599 SCTP_INC_STATS(net, SCTP_MIB_T1_COOKIE_EXPIREDS); in sctp_sf_t1_cookie_timer_expire()
5637 sctp_disposition_t sctp_sf_t2_timer_expire(struct net *net, in sctp_sf_t2_timer_expire() argument
5648 SCTP_INC_STATS(net, SCTP_MIB_T2_SHUTDOWN_EXPIREDS); in sctp_sf_t2_timer_expire()
5658 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_t2_timer_expire()
5659 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_t2_timer_expire()
5708 struct net *net, in sctp_sf_t4_timer_expire() argument
5718 SCTP_INC_STATS(net, SCTP_MIB_T4_RTO_EXPIREDS); in sctp_sf_t4_timer_expire()
5743 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_t4_timer_expire()
5744 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_t4_timer_expire()
5779 sctp_disposition_t sctp_sf_t5_timer_expire(struct net *net, in sctp_sf_t5_timer_expire() argument
5790 SCTP_INC_STATS(net, SCTP_MIB_T5_SHUTDOWN_GUARD_EXPIREDS); in sctp_sf_t5_timer_expire()
5802 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_sf_t5_timer_expire()
5803 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_sf_t5_timer_expire()
5816 struct net *net, in sctp_sf_autoclose_timer_expire() argument
5825 SCTP_INC_STATS(net, SCTP_MIB_AUTOCLOSE_EXPIREDS); in sctp_sf_autoclose_timer_expire()
5840 disposition = sctp_sf_do_9_2_start_shutdown(net, ep, asoc, type, in sctp_sf_autoclose_timer_expire()
5858 sctp_disposition_t sctp_sf_not_impl(struct net *net, in sctp_sf_not_impl() argument
5876 sctp_disposition_t sctp_sf_bug(struct net *net, in sctp_sf_bug() argument
5897 sctp_disposition_t sctp_sf_timer_ignore(struct net *net, in sctp_sf_timer_ignore() argument
5941 static struct sctp_packet *sctp_abort_pkt_new(struct net *net, in sctp_abort_pkt_new() argument
5951 packet = sctp_ootb_pkt_new(net, asoc, chunk); in sctp_abort_pkt_new()
5983 static struct sctp_packet *sctp_ootb_pkt_new(struct net *net, in sctp_ootb_pkt_new() argument
6037 transport = sctp_transport_new(net, sctp_source(chunk), GFP_ATOMIC); in sctp_ootb_pkt_new()
6045 sctp_sk(net->sctp.ctl_sock)); in sctp_ootb_pkt_new()
6063 static void sctp_send_stale_cookie_err(struct net *net, in sctp_send_stale_cookie_err() argument
6073 packet = sctp_ootb_pkt_new(net, asoc, chunk); in sctp_send_stale_cookie_err()
6086 SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS); in sctp_send_stale_cookie_err()
6106 struct net *net = sock_net(sk); in sctp_eat_data() local
6240 SCTP_INC_STATS(net, SCTP_MIB_ABORTEDS); in sctp_eat_data()
6241 SCTP_DEC_STATS(net, SCTP_MIB_CURRESTAB); in sctp_eat_data()
6251 SCTP_INC_STATS(net, SCTP_MIB_INUNORDERCHUNKS); in sctp_eat_data()
6255 SCTP_INC_STATS(net, SCTP_MIB_INORDERCHUNKS); in sctp_eat_data()