Lines Matching refs:asoc
44 struct sctp_association *asoc,
53 struct sctp_association **asoc,
64 static void sctp_do_ecn_ce_work(struct sctp_association *asoc, in sctp_do_ecn_ce_work() argument
69 asoc->last_ecne_tsn = lowest_tsn; in sctp_do_ecn_ce_work()
70 asoc->need_ecne = 1; in sctp_do_ecn_ce_work()
85 static struct sctp_chunk *sctp_do_ecn_ecne_work(struct sctp_association *asoc, in sctp_do_ecn_ecne_work() argument
101 if (TSN_lt(asoc->last_cwr_tsn, lowest_tsn)) { in sctp_do_ecn_ecne_work()
107 transport = sctp_assoc_lookup_tsn(asoc, lowest_tsn); in sctp_do_ecn_ecne_work()
113 asoc->last_cwr_tsn = lowest_tsn; in sctp_do_ecn_ecne_work()
119 repl = sctp_make_cwr(asoc, asoc->last_cwr_tsn, chunk); in sctp_do_ecn_ecne_work()
128 static void sctp_do_ecn_cwr_work(struct sctp_association *asoc, in sctp_do_ecn_cwr_work() argument
134 asoc->need_ecne = 0; in sctp_do_ecn_cwr_work()
138 static int sctp_gen_sack(struct sctp_association *asoc, int force, in sctp_gen_sack() argument
141 struct sctp_transport *trans = asoc->peer.last_data_from; in sctp_gen_sack()
147 (!trans && (asoc->param_flags & SPP_SACKDELAY_DISABLE)) || in sctp_gen_sack()
149 asoc->peer.sack_needed = 1; in sctp_gen_sack()
151 ctsn = sctp_tsnmap_get_ctsn(&asoc->peer.tsn_map); in sctp_gen_sack()
152 max_tsn_seen = sctp_tsnmap_get_max_tsn_seen(&asoc->peer.tsn_map); in sctp_gen_sack()
165 asoc->peer.sack_needed = 1; in sctp_gen_sack()
175 if (!asoc->peer.sack_needed) { in sctp_gen_sack()
176 asoc->peer.sack_cnt++; in sctp_gen_sack()
185 if (asoc->peer.sack_cnt >= trans->sackfreq - 1) in sctp_gen_sack()
186 asoc->peer.sack_needed = 1; in sctp_gen_sack()
188 asoc->timeouts[SCTP_EVENT_TIMEOUT_SACK] = in sctp_gen_sack()
192 if (asoc->peer.sack_cnt >= asoc->sackfreq - 1) in sctp_gen_sack()
193 asoc->peer.sack_needed = 1; in sctp_gen_sack()
195 asoc->timeouts[SCTP_EVENT_TIMEOUT_SACK] = in sctp_gen_sack()
196 asoc->sackdelay; in sctp_gen_sack()
203 __u32 old_a_rwnd = asoc->a_rwnd; in sctp_gen_sack()
205 asoc->a_rwnd = asoc->rwnd; in sctp_gen_sack()
206 sack = sctp_make_sack(asoc); in sctp_gen_sack()
208 asoc->a_rwnd = old_a_rwnd; in sctp_gen_sack()
212 asoc->peer.sack_needed = 0; in sctp_gen_sack()
213 asoc->peer.sack_cnt = 0; in sctp_gen_sack()
235 struct sctp_association *asoc = transport->asoc; in sctp_generate_t3_rtx_event() local
236 struct sock *sk = asoc->base.sk; in sctp_generate_t3_rtx_event()
255 asoc->state, in sctp_generate_t3_rtx_event()
256 asoc->ep, asoc, in sctp_generate_t3_rtx_event()
270 static void sctp_generate_timeout_event(struct sctp_association *asoc, in sctp_generate_timeout_event() argument
273 struct sock *sk = asoc->base.sk; in sctp_generate_timeout_event()
283 if (!mod_timer(&asoc->timers[timeout_type], jiffies + (HZ/20))) in sctp_generate_timeout_event()
284 sctp_association_hold(asoc); in sctp_generate_timeout_event()
291 if (asoc->base.dead) in sctp_generate_timeout_event()
297 asoc->state, asoc->ep, asoc, in sctp_generate_timeout_event()
305 sctp_association_put(asoc); in sctp_generate_timeout_event()
310 struct sctp_association *asoc = in sctp_generate_t1_cookie_event() local
311 from_timer(asoc, t, timers[SCTP_EVENT_TIMEOUT_T1_COOKIE]); in sctp_generate_t1_cookie_event()
313 sctp_generate_timeout_event(asoc, SCTP_EVENT_TIMEOUT_T1_COOKIE); in sctp_generate_t1_cookie_event()
318 struct sctp_association *asoc = in sctp_generate_t1_init_event() local
319 from_timer(asoc, t, timers[SCTP_EVENT_TIMEOUT_T1_INIT]); in sctp_generate_t1_init_event()
321 sctp_generate_timeout_event(asoc, SCTP_EVENT_TIMEOUT_T1_INIT); in sctp_generate_t1_init_event()
326 struct sctp_association *asoc = in sctp_generate_t2_shutdown_event() local
327 from_timer(asoc, t, timers[SCTP_EVENT_TIMEOUT_T2_SHUTDOWN]); in sctp_generate_t2_shutdown_event()
329 sctp_generate_timeout_event(asoc, SCTP_EVENT_TIMEOUT_T2_SHUTDOWN); in sctp_generate_t2_shutdown_event()
334 struct sctp_association *asoc = in sctp_generate_t4_rto_event() local
335 from_timer(asoc, t, timers[SCTP_EVENT_TIMEOUT_T4_RTO]); in sctp_generate_t4_rto_event()
337 sctp_generate_timeout_event(asoc, SCTP_EVENT_TIMEOUT_T4_RTO); in sctp_generate_t4_rto_event()
342 struct sctp_association *asoc = in sctp_generate_t5_shutdown_guard_event() local
343 from_timer(asoc, t, in sctp_generate_t5_shutdown_guard_event()
346 sctp_generate_timeout_event(asoc, in sctp_generate_t5_shutdown_guard_event()
353 struct sctp_association *asoc = in sctp_generate_autoclose_event() local
354 from_timer(asoc, t, timers[SCTP_EVENT_TIMEOUT_AUTOCLOSE]); in sctp_generate_autoclose_event()
356 sctp_generate_timeout_event(asoc, SCTP_EVENT_TIMEOUT_AUTOCLOSE); in sctp_generate_autoclose_event()
365 struct sctp_association *asoc = transport->asoc; in sctp_generate_heartbeat_event() local
366 struct sock *sk = asoc->base.sk; in sctp_generate_heartbeat_event()
393 asoc->state, asoc->ep, asoc, in sctp_generate_heartbeat_event()
411 struct sctp_association *asoc = transport->asoc; in sctp_generate_proto_unreach_event() local
412 struct sock *sk = asoc->base.sk; in sctp_generate_proto_unreach_event()
429 if (asoc->base.dead) in sctp_generate_proto_unreach_event()
434 asoc->state, asoc->ep, asoc, transport, GFP_ATOMIC); in sctp_generate_proto_unreach_event()
446 struct sctp_association *asoc = transport->asoc; in sctp_generate_reconf_event() local
447 struct sock *sk = asoc->base.sk; in sctp_generate_reconf_event()
462 if (!asoc->strreset_chunk) in sctp_generate_reconf_event()
467 asoc->state, asoc->ep, asoc, in sctp_generate_reconf_event()
482 struct sctp_association *asoc = transport->asoc; in sctp_generate_probe_event() local
483 struct sock *sk = asoc->base.sk; in sctp_generate_probe_event()
499 asoc->state, asoc->ep, asoc, in sctp_generate_probe_event()
513 struct sctp_association *asoc = in sctp_generate_sack_event() local
514 from_timer(asoc, t, timers[SCTP_EVENT_TIMEOUT_SACK]); in sctp_generate_sack_event()
516 sctp_generate_timeout_event(asoc, SCTP_EVENT_TIMEOUT_SACK); in sctp_generate_sack_event()
551 struct sctp_association *asoc, in sctp_do_8_2_transport_strike() argument
566 asoc->overall_error_count++; in sctp_do_8_2_transport_strike()
571 asoc->overall_error_count++; in sctp_do_8_2_transport_strike()
581 if (asoc->base.net->sctp.pf_enable && in sctp_do_8_2_transport_strike()
586 sctp_assoc_control_transport(asoc, transport, in sctp_do_8_2_transport_strike()
597 __func__, asoc, &transport->ipaddr.sa); in sctp_do_8_2_transport_strike()
599 sctp_assoc_control_transport(asoc, transport, in sctp_do_8_2_transport_strike()
605 asoc->peer.primary_path == transport && in sctp_do_8_2_transport_strike()
606 asoc->peer.active_path != transport) in sctp_do_8_2_transport_strike()
607 sctp_assoc_set_primary(asoc, asoc->peer.active_path); in sctp_do_8_2_transport_strike()
619 transport->rto = min((transport->rto * 2), transport->asoc->rto_max); in sctp_do_8_2_transport_strike()
620 sctp_max_rto(asoc, transport); in sctp_do_8_2_transport_strike()
626 struct sctp_association *asoc, in sctp_cmd_init_failed() argument
631 event = sctp_ulpevent_make_assoc_change(asoc, 0, SCTP_CANT_STR_ASSOC, in sctp_cmd_init_failed()
643 asoc->outqueue.error = error; in sctp_cmd_init_failed()
649 struct sctp_association *asoc, in sctp_cmd_assoc_failed() argument
659 asoc->stream.si->abort_pd(&asoc->ulpq, GFP_ATOMIC); in sctp_cmd_assoc_failed()
662 event = sctp_ulpevent_make_assoc_change(asoc, 0, SCTP_COMM_LOST, in sctp_cmd_assoc_failed()
666 event = sctp_ulpevent_make_assoc_change(asoc, 0, SCTP_COMM_LOST, in sctp_cmd_assoc_failed()
673 if (asoc->overall_error_count >= asoc->max_retrans) { in sctp_cmd_assoc_failed()
674 abort = sctp_make_violation_max_retrans(asoc, chunk); in sctp_cmd_assoc_failed()
684 asoc->outqueue.error = error; in sctp_cmd_assoc_failed()
694 struct sctp_association *asoc, in sctp_cmd_process_init() argument
706 if (!sctp_process_init(asoc, chunk, sctp_source(chunk), peer_init, gfp)) in sctp_cmd_process_init()
716 struct sctp_association *asoc) in sctp_cmd_hb_timers_start() argument
724 list_for_each_entry(t, &asoc->peer.transport_addr_list, transports) in sctp_cmd_hb_timers_start()
729 struct sctp_association *asoc) in sctp_cmd_hb_timers_stop() argument
735 list_for_each_entry(t, &asoc->peer.transport_addr_list, in sctp_cmd_hb_timers_stop()
744 struct sctp_association *asoc) in sctp_cmd_t3_rtx_timers_stop() argument
748 list_for_each_entry(t, &asoc->peer.transport_addr_list, in sctp_cmd_t3_rtx_timers_stop()
758 struct sctp_association *asoc, in sctp_cmd_transport_on() argument
779 if (t->asoc->state < SCTP_STATE_SHUTDOWN_PENDING) in sctp_cmd_transport_on()
780 t->asoc->overall_error_count = 0; in sctp_cmd_transport_on()
792 sctp_assoc_control_transport(asoc, t, SCTP_TRANSPORT_UP, in sctp_cmd_transport_on()
797 sctp_assoc_control_transport(asoc, t, SCTP_TRANSPORT_UP, in sctp_cmd_transport_on()
822 if (was_unconfirmed && asoc->peer.transport_count == 1) in sctp_cmd_transport_on()
829 struct sctp_association *asoc, in sctp_cmd_process_sack() argument
834 if (sctp_outq_sack(&asoc->outqueue, chunk)) { in sctp_cmd_process_sack()
836 err = sctp_do_sm(asoc->base.net, SCTP_EVENT_T_OTHER, in sctp_cmd_process_sack()
838 asoc->state, asoc->ep, asoc, NULL, in sctp_cmd_process_sack()
849 struct sctp_association *asoc, in sctp_cmd_setup_t2() argument
857 t = sctp_assoc_choose_alter_transport(asoc, in sctp_cmd_setup_t2()
858 asoc->shutdown_last_sent_to); in sctp_cmd_setup_t2()
861 asoc->shutdown_last_sent_to = t; in sctp_cmd_setup_t2()
862 asoc->timeouts[SCTP_EVENT_TIMEOUT_T2_SHUTDOWN] = t->rto; in sctp_cmd_setup_t2()
867 struct sctp_association *asoc, in sctp_cmd_new_state() argument
870 struct sock *sk = asoc->base.sk; in sctp_cmd_new_state()
872 asoc->state = state; in sctp_cmd_new_state()
874 pr_debug("%s: asoc:%p[%s]\n", __func__, asoc, sctp_state_tbl[state]); in sctp_cmd_new_state()
880 if (sctp_state(asoc, ESTABLISHED) && sctp_sstate(sk, CLOSED)) in sctp_cmd_new_state()
884 if (sctp_state(asoc, SHUTDOWN_RECEIVED) && in sctp_cmd_new_state()
891 if (sctp_state(asoc, COOKIE_WAIT)) { in sctp_cmd_new_state()
895 asoc->timeouts[SCTP_EVENT_TIMEOUT_T1_INIT] = in sctp_cmd_new_state()
896 asoc->rto_initial; in sctp_cmd_new_state()
897 asoc->timeouts[SCTP_EVENT_TIMEOUT_T1_COOKIE] = in sctp_cmd_new_state()
898 asoc->rto_initial; in sctp_cmd_new_state()
901 if (sctp_state(asoc, ESTABLISHED)) { in sctp_cmd_new_state()
902 kfree(asoc->peer.cookie); in sctp_cmd_new_state()
903 asoc->peer.cookie = NULL; in sctp_cmd_new_state()
906 if (sctp_state(asoc, ESTABLISHED) || in sctp_cmd_new_state()
907 sctp_state(asoc, CLOSED) || in sctp_cmd_new_state()
908 sctp_state(asoc, SHUTDOWN_RECEIVED)) { in sctp_cmd_new_state()
912 if (waitqueue_active(&asoc->wait)) in sctp_cmd_new_state()
913 wake_up_interruptible(&asoc->wait); in sctp_cmd_new_state()
925 if (sctp_state(asoc, SHUTDOWN_PENDING) && in sctp_cmd_new_state()
926 !sctp_outq_is_empty(&asoc->outqueue)) in sctp_cmd_new_state()
927 sctp_outq_uncork(&asoc->outqueue, GFP_ATOMIC); in sctp_cmd_new_state()
932 struct sctp_association *asoc) in sctp_cmd_delete_tcb() argument
934 struct sock *sk = asoc->base.sk; in sctp_cmd_delete_tcb()
941 (!asoc->temp) && (sk->sk_shutdown != SHUTDOWN_MASK)) in sctp_cmd_delete_tcb()
944 sctp_association_free(asoc); in sctp_cmd_delete_tcb()
954 struct sctp_association *asoc, in sctp_cmd_setup_t4() argument
959 t = sctp_assoc_choose_alter_transport(asoc, chunk->transport); in sctp_cmd_setup_t4()
960 asoc->timeouts[SCTP_EVENT_TIMEOUT_T4_RTO] = t->rto; in sctp_cmd_setup_t4()
966 struct sctp_association *asoc, in sctp_cmd_process_operr() argument
975 ev = sctp_ulpevent_make_remote_error(asoc, chunk, 0, in sctp_cmd_process_operr()
980 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_cmd_process_operr()
997 if (asoc->peer.asconf_capable == 0) in sctp_cmd_process_operr()
1000 asoc->peer.asconf_capable = 0; in sctp_cmd_process_operr()
1018 static void sctp_cmd_del_non_primary(struct sctp_association *asoc) in sctp_cmd_del_non_primary() argument
1024 list_for_each_safe(pos, temp, &asoc->peer.transport_addr_list) { in sctp_cmd_del_non_primary()
1027 &asoc->peer.primary_addr)) { in sctp_cmd_del_non_primary()
1028 sctp_assoc_rm_peer(asoc, t); in sctp_cmd_del_non_primary()
1034 static void sctp_cmd_set_sk_err(struct sctp_association *asoc, int error) in sctp_cmd_set_sk_err() argument
1036 struct sock *sk = asoc->base.sk; in sctp_cmd_set_sk_err()
1044 struct sctp_association *asoc, in sctp_cmd_assoc_change() argument
1049 ev = sctp_ulpevent_make_assoc_change(asoc, 0, state, 0, in sctp_cmd_assoc_change()
1050 asoc->c.sinit_num_ostreams, in sctp_cmd_assoc_change()
1051 asoc->c.sinit_max_instreams, in sctp_cmd_assoc_change()
1054 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_cmd_assoc_change()
1058 struct sctp_association *asoc) in sctp_cmd_peer_no_auth() argument
1062 ev = sctp_ulpevent_make_authkey(asoc, 0, SCTP_AUTH_NO_AUTH, GFP_ATOMIC); in sctp_cmd_peer_no_auth()
1064 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_cmd_peer_no_auth()
1069 struct sctp_association *asoc) in sctp_cmd_adaptation_ind() argument
1073 ev = sctp_ulpevent_make_adaptation_indication(asoc, GFP_ATOMIC); in sctp_cmd_adaptation_ind()
1076 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_cmd_adaptation_ind()
1080 static void sctp_cmd_t1_timer_update(struct sctp_association *asoc, in sctp_cmd_t1_timer_update() argument
1086 t = asoc->init_last_sent_to; in sctp_cmd_t1_timer_update()
1087 asoc->init_err_counter++; in sctp_cmd_t1_timer_update()
1089 if (t->init_sent_count > (asoc->init_cycle + 1)) { in sctp_cmd_t1_timer_update()
1090 asoc->timeouts[timer] *= 2; in sctp_cmd_t1_timer_update()
1091 if (asoc->timeouts[timer] > asoc->max_init_timeo) { in sctp_cmd_t1_timer_update()
1092 asoc->timeouts[timer] = asoc->max_init_timeo; in sctp_cmd_t1_timer_update()
1094 asoc->init_cycle++; in sctp_cmd_t1_timer_update()
1098 asoc->init_err_counter, asoc->init_cycle, in sctp_cmd_t1_timer_update()
1099 asoc->timeouts[timer]); in sctp_cmd_t1_timer_update()
1108 static void sctp_cmd_send_msg(struct sctp_association *asoc, in sctp_cmd_send_msg() argument
1114 sctp_outq_tail(&asoc->outqueue, chunk, gfp); in sctp_cmd_send_msg()
1116 asoc->outqueue.sched->enqueue(&asoc->outqueue, msg); in sctp_cmd_send_msg()
1127 asoc, sctp_state_tbl[state], state_fn->name)
1130 pr_debug("%s[post-fn]: asoc:%p, status:%s\n", __func__, asoc, \
1135 asoc, sctp_state_tbl[(asoc && sctp_id2assoc(ep->base.sk, \
1136 sctp_assoc2id(asoc))) ? asoc->state : SCTP_STATE_CLOSED])
1146 struct sctp_endpoint *ep, struct sctp_association *asoc, in sctp_do_sm() argument
1167 status = state_fn->fn(net, ep, asoc, subtype, event_arg, &commands); in sctp_do_sm()
1171 ep, &asoc, event_arg, status, in sctp_do_sm()
1185 struct sctp_association **asoc, in sctp_side_effects() argument
1200 ep, *asoc, in sctp_side_effects()
1225 *asoc = NULL; in sctp_side_effects()
1271 struct sctp_association *asoc, in sctp_cmd_interpreter() argument
1308 sctp_outq_uncork(&asoc->outqueue, gfp); in sctp_cmd_interpreter()
1313 asoc = cmd->obj.asoc; in sctp_cmd_interpreter()
1314 BUG_ON(asoc->peer.primary_path == NULL); in sctp_cmd_interpreter()
1315 sctp_endpoint_add_asoc(ep, asoc); in sctp_cmd_interpreter()
1319 sctp_outq_teardown(&asoc->outqueue); in sctp_cmd_interpreter()
1324 sctp_outq_uncork(&asoc->outqueue, gfp); in sctp_cmd_interpreter()
1328 sctp_cmd_delete_tcb(commands, asoc); in sctp_cmd_interpreter()
1329 asoc = NULL; in sctp_cmd_interpreter()
1334 sctp_cmd_new_state(commands, asoc, cmd->obj.state); in sctp_cmd_interpreter()
1339 error = sctp_tsnmap_mark(&asoc->peer.tsn_map, in sctp_cmd_interpreter()
1344 asoc->stream.si->report_ftsn(&asoc->ulpq, cmd->obj.u32); in sctp_cmd_interpreter()
1348 asoc->stream.si->handle_ftsn(&asoc->ulpq, in sctp_cmd_interpreter()
1359 error = sctp_gen_sack(asoc, force, commands); in sctp_cmd_interpreter()
1364 error = sctp_cmd_process_sack(commands, asoc, in sctp_cmd_interpreter()
1370 new_obj = sctp_make_init_ack(asoc, chunk, GFP_ATOMIC, in sctp_cmd_interpreter()
1387 error = sctp_cmd_process_init(commands, asoc, chunk, in sctp_cmd_interpreter()
1393 new_obj = sctp_make_cookie_echo(asoc, chunk); in sctp_cmd_interpreter()
1412 asoc->init_last_sent_to = new_obj->transport; in sctp_cmd_interpreter()
1427 if ((asoc->peer.retran_path != in sctp_cmd_interpreter()
1428 asoc->peer.primary_path) && in sctp_cmd_interpreter()
1429 (asoc->init_err_counter > 0)) { in sctp_cmd_interpreter()
1441 asoc->overall_error_count = 0; in sctp_cmd_interpreter()
1444 new_obj = sctp_make_shutdown(asoc, chunk); in sctp_cmd_interpreter()
1456 __func__, cmd->obj.chunk, &asoc->ulpq); in sctp_cmd_interpreter()
1458 asoc->stream.si->ulpevent_data(&asoc->ulpq, in sctp_cmd_interpreter()
1466 __func__, cmd->obj.ulpevent, &asoc->ulpq); in sctp_cmd_interpreter()
1468 asoc->stream.si->enqueue_event(&asoc->ulpq, in sctp_cmd_interpreter()
1474 if (!asoc->outqueue.cork) { in sctp_cmd_interpreter()
1475 sctp_outq_cork(&asoc->outqueue); in sctp_cmd_interpreter()
1479 sctp_outq_tail(&asoc->outqueue, cmd->obj.chunk, gfp); in sctp_cmd_interpreter()
1491 sctp_retransmit(&asoc->outqueue, cmd->obj.transport, in sctp_cmd_interpreter()
1497 sctp_retransmit(&asoc->outqueue, cmd->obj.transport, in sctp_cmd_interpreter()
1503 sctp_do_ecn_ce_work(asoc, cmd->obj.u32); in sctp_cmd_interpreter()
1508 new_obj = sctp_do_ecn_ecne_work(asoc, cmd->obj.u32, in sctp_cmd_interpreter()
1517 sctp_do_ecn_cwr_work(asoc, cmd->obj.u32); in sctp_cmd_interpreter()
1521 sctp_cmd_setup_t2(commands, asoc, cmd->obj.chunk); in sctp_cmd_interpreter()
1525 timer = &asoc->timers[cmd->obj.to]; in sctp_cmd_interpreter()
1532 timer = &asoc->timers[cmd->obj.to]; in sctp_cmd_interpreter()
1533 timeout = asoc->timeouts[cmd->obj.to]; in sctp_cmd_interpreter()
1545 sctp_association_hold(asoc); in sctp_cmd_interpreter()
1550 timer = &asoc->timers[cmd->obj.to]; in sctp_cmd_interpreter()
1551 timeout = asoc->timeouts[cmd->obj.to]; in sctp_cmd_interpreter()
1553 sctp_association_hold(asoc); in sctp_cmd_interpreter()
1557 timer = &asoc->timers[cmd->obj.to]; in sctp_cmd_interpreter()
1559 sctp_association_put(asoc); in sctp_cmd_interpreter()
1564 t = sctp_assoc_choose_alter_transport(asoc, in sctp_cmd_interpreter()
1565 asoc->init_last_sent_to); in sctp_cmd_interpreter()
1566 asoc->init_last_sent_to = t; in sctp_cmd_interpreter()
1570 sctp_assoc_set_primary(asoc, t); in sctp_cmd_interpreter()
1580 sctp_cmd_t1_timer_update(asoc, in sctp_cmd_interpreter()
1595 sctp_cmd_t1_timer_update(asoc, in sctp_cmd_interpreter()
1602 list_for_each_entry(t, &asoc->peer.transport_addr_list, in sctp_cmd_interpreter()
1604 sctp_retransmit_mark(&asoc->outqueue, t, in sctp_cmd_interpreter()
1614 sctp_cmd_init_failed(commands, asoc, cmd->obj.u16); in sctp_cmd_interpreter()
1618 sctp_cmd_assoc_failed(commands, asoc, event_type, in sctp_cmd_interpreter()
1623 asoc->init_err_counter++; in sctp_cmd_interpreter()
1627 asoc->init_err_counter = 0; in sctp_cmd_interpreter()
1628 asoc->init_cycle = 0; in sctp_cmd_interpreter()
1629 list_for_each_entry(t, &asoc->peer.transport_addr_list, in sctp_cmd_interpreter()
1636 sctp_tsnmap_mark_dup(&asoc->peer.tsn_map, in sctp_cmd_interpreter()
1646 sctp_do_8_2_transport_strike(commands, asoc, in sctp_cmd_interpreter()
1657 sctp_do_8_2_transport_strike(commands, asoc, in sctp_cmd_interpreter()
1664 sctp_cmd_transport_on(commands, asoc, t, chunk); in sctp_cmd_interpreter()
1668 sctp_cmd_hb_timers_start(commands, asoc); in sctp_cmd_interpreter()
1677 sctp_cmd_hb_timers_stop(commands, asoc); in sctp_cmd_interpreter()
1692 sackh.a_rwnd = htonl(asoc->peer.rwnd + in sctp_cmd_interpreter()
1693 asoc->outqueue.outstanding_bytes); in sctp_cmd_interpreter()
1707 if (asoc) { in sctp_cmd_interpreter()
1708 sctp_outq_uncork(&asoc->outqueue, gfp); in sctp_cmd_interpreter()
1719 asoc->stream.si->start_pd(&asoc->ulpq, GFP_ATOMIC); in sctp_cmd_interpreter()
1723 asoc->stream.si->renege_events(&asoc->ulpq, in sctp_cmd_interpreter()
1729 sctp_cmd_setup_t4(commands, asoc, cmd->obj.chunk); in sctp_cmd_interpreter()
1733 sctp_cmd_process_operr(commands, asoc, chunk); in sctp_cmd_interpreter()
1736 asoc->peer.i.init_tag = 0; in sctp_cmd_interpreter()
1739 sctp_cmd_del_non_primary(asoc); in sctp_cmd_interpreter()
1742 sctp_cmd_t3_rtx_timers_stop(commands, asoc); in sctp_cmd_interpreter()
1745 t = asoc->peer.retran_path; in sctp_cmd_interpreter()
1746 asoc->peer.retran_path = asoc->peer.primary_path; in sctp_cmd_interpreter()
1747 sctp_outq_uncork(&asoc->outqueue, gfp); in sctp_cmd_interpreter()
1749 asoc->peer.retran_path = t; in sctp_cmd_interpreter()
1752 sctp_cmd_set_sk_err(asoc, cmd->obj.error); in sctp_cmd_interpreter()
1755 sctp_cmd_assoc_change(commands, asoc, in sctp_cmd_interpreter()
1759 sctp_cmd_adaptation_ind(commands, asoc); in sctp_cmd_interpreter()
1762 sctp_cmd_peer_no_auth(commands, asoc); in sctp_cmd_interpreter()
1766 error = sctp_auth_asoc_init_active_key(asoc, in sctp_cmd_interpreter()
1770 asoc->peer.i.init_tag = cmd->obj.u32; in sctp_cmd_interpreter()
1773 if (!asoc->outqueue.cork) { in sctp_cmd_interpreter()
1774 sctp_outq_cork(&asoc->outqueue); in sctp_cmd_interpreter()
1777 sctp_cmd_send_msg(asoc, cmd->obj.msg, gfp); in sctp_cmd_interpreter()
1780 sctp_asconf_queue_teardown(asoc); in sctp_cmd_interpreter()
1784 if (asoc && local_cork) { in sctp_cmd_interpreter()
1785 sctp_outq_uncork(&asoc->outqueue, gfp); in sctp_cmd_interpreter()
1788 asoc = cmd->obj.asoc; in sctp_cmd_interpreter()
1812 if (asoc && SCTP_EVENT_T_CHUNK == event_type && chunk) { in sctp_cmd_interpreter()
1814 sctp_outq_uncork(&asoc->outqueue, gfp); in sctp_cmd_interpreter()
1816 sctp_outq_uncork(&asoc->outqueue, gfp); in sctp_cmd_interpreter()