Lines Matching defs:retval

208 	struct sctp_chunk *retval = NULL;
311 retval = sctp_make_control(asoc, SCTP_CID_INIT, 0, chunksize, gfp);
312 if (!retval)
315 retval->subh.init_hdr =
316 sctp_addto_chunk(retval, sizeof(init), &init);
317 retval->param_hdr.v =
318 sctp_addto_chunk(retval, addrs_len, addrs.v);
329 sctp_addto_chunk(retval, sizeof(sat), &sat);
330 sctp_addto_chunk(retval, num_types * sizeof(__u16), &types);
333 sctp_addto_chunk(retval, sizeof(ecap_param), &ecap_param);
341 sctp_addto_chunk(retval, sizeof(ext_param), &ext_param);
342 sctp_addto_param(retval, num_ext, extensions);
346 sctp_addto_chunk(retval, sizeof(prsctp_param), &prsctp_param);
352 sctp_addto_chunk(retval, sizeof(aiparam), &aiparam);
357 sctp_addto_chunk(retval, sizeof(asoc->c.auth_random),
360 sctp_addto_chunk(retval, ntohs(auth_hmacs->length),
363 sctp_addto_chunk(retval, ntohs(auth_chunks->length),
368 return retval;
380 struct sctp_chunk *retval = NULL;
464 retval = sctp_make_control(asoc, SCTP_CID_INIT_ACK, 0, chunksize, gfp);
465 if (!retval)
478 retval->transport =
482 retval->subh.init_hdr =
483 sctp_addto_chunk(retval, sizeof(initack), &initack);
484 retval->param_hdr.v = sctp_addto_chunk(retval, addrs_len, addrs.v);
485 sctp_addto_chunk(retval, cookie_len, cookie);
487 sctp_addto_chunk(retval, sizeof(ecap_param), &ecap_param);
491 sctp_addto_chunk(retval, sizeof(ext_param), &ext_param);
492 sctp_addto_param(retval, num_ext, extensions);
495 sctp_addto_chunk(retval, sizeof(prsctp_param), &prsctp_param);
501 sctp_addto_chunk(retval, sizeof(aiparam), &aiparam);
505 sctp_addto_chunk(retval, ntohs(auth_random->length),
508 sctp_addto_chunk(retval, ntohs(auth_hmacs->length),
511 sctp_addto_chunk(retval, ntohs(auth_chunks->length),
516 retval->asoc = (struct sctp_association *) asoc;
522 return retval;
562 struct sctp_chunk *retval;
570 retval = sctp_make_control(asoc, SCTP_CID_COOKIE_ECHO, 0,
572 if (!retval)
574 retval->subh.cookie_hdr =
575 sctp_addto_chunk(retval, cookie_len, cookie);
587 retval->transport = chunk->transport;
590 return retval;
614 struct sctp_chunk *retval;
616 retval = sctp_make_control(asoc, SCTP_CID_COOKIE_ACK, 0, 0, GFP_ATOMIC);
627 if (retval && chunk && chunk->transport)
628 retval->transport =
632 return retval;
662 struct sctp_chunk *retval;
666 retval = sctp_make_control(asoc, SCTP_CID_ECN_CWR, 0,
669 if (!retval)
672 retval->subh.ecn_cwr_hdr =
673 sctp_addto_chunk(retval, sizeof(cwr), &cwr);
686 retval->transport = chunk->transport;
689 return retval;
696 struct sctp_chunk *retval;
700 retval = sctp_make_control(asoc, SCTP_CID_ECN_ECNE, 0,
702 if (!retval)
704 retval->subh.ecne_hdr =
705 sctp_addto_chunk(retval, sizeof(ecne), &ecne);
708 return retval;
718 struct sctp_chunk *retval;
732 retval = sctp_make_data(asoc, flags, sizeof(dp) + len, gfp);
733 if (!retval)
736 retval->subh.data_hdr = sctp_addto_chunk(retval, sizeof(dp), &dp);
737 memcpy(&retval->sinfo, sinfo, sizeof(struct sctp_sndrcvinfo));
739 return retval;
752 struct sctp_chunk *retval;
777 retval = sctp_make_control(asoc, SCTP_CID_SACK, 0, len, GFP_ATOMIC);
778 if (!retval)
811 retval->transport = asoc->peer.last_data_from;
813 retval->subh.sack_hdr =
814 sctp_addto_chunk(retval, sizeof(sack), &sack);
818 sctp_addto_chunk(retval, sizeof(__u32) * num_gabs,
824 sctp_addto_chunk(retval, sizeof(__u32) * num_dup_tsns,
842 return retval;
850 struct sctp_chunk *retval;
856 retval = sctp_make_control(asoc, SCTP_CID_SHUTDOWN, 0,
858 if (!retval)
861 retval->subh.shutdown_hdr =
862 sctp_addto_chunk(retval, sizeof(shut), &shut);
865 retval->transport = chunk->transport;
867 return retval;
873 struct sctp_chunk *retval;
875 retval = sctp_make_control(asoc, SCTP_CID_SHUTDOWN_ACK, 0, 0,
887 if (retval && chunk)
888 retval->transport = chunk->transport;
890 return retval;
897 struct sctp_chunk *retval;
905 retval = sctp_make_control(asoc, SCTP_CID_SHUTDOWN_COMPLETE, flags,
918 if (retval && chunk)
919 retval->transport = chunk->transport;
921 return retval;
931 struct sctp_chunk *retval;
945 retval = sctp_make_control(asoc, SCTP_CID_ABORT, flags, hint,
957 if (retval && chunk)
958 retval->transport = chunk->transport;
960 return retval;
969 struct sctp_chunk *retval;
972 retval = sctp_make_abort(asoc, chunk,
975 if (!retval)
980 sctp_init_cause(retval, SCTP_ERROR_NO_DATA, sizeof(payload));
981 sctp_addto_chunk(retval, sizeof(payload), (const void *)&payload);
993 retval->transport = chunk->transport;
996 return retval;
1004 struct sctp_chunk *retval;
1008 retval = sctp_make_abort(asoc, NULL,
1010 if (!retval)
1024 sctp_init_cause(retval, SCTP_ERROR_USER_ABORT, paylen);
1025 sctp_addto_chunk(retval, paylen, payload);
1030 return retval;
1035 sctp_chunk_free(retval);
1036 retval = NULL;
1038 return retval;
1071 struct sctp_chunk *retval;
1074 retval = sctp_make_abort(asoc, chunk, sizeof(struct sctp_errhdr) +
1076 if (!retval)
1079 sctp_init_cause(retval, SCTP_ERROR_PROTO_VIOLATION, paylen +
1084 sctp_addto_chunk(retval, paylen, payload);
1085 sctp_addto_param(retval, sizeof(phdr), &phdr);
1088 return retval;
1099 struct sctp_chunk *retval;
1101 retval = sctp_make_abort(asoc, chunk, payload_len);
1102 if (!retval)
1105 sctp_init_cause(retval, SCTP_ERROR_PROTO_VIOLATION,
1107 sctp_addto_chunk(retval, sizeof(error), error);
1108 sctp_addto_param(retval, sizeof(*param), param);
1111 return retval;
1120 struct sctp_chunk *retval;
1122 retval = sctp_make_abort(asoc, chunk, payload_len);
1123 if (!retval)
1126 sctp_init_cause(retval, SCTP_ERROR_PROTO_VIOLATION, sizeof(error));
1127 sctp_addto_chunk(retval, sizeof(error), error);
1130 return retval;
1137 struct sctp_chunk *retval;
1139 retval = sctp_make_abort(asoc, chunk,
1141 if (!retval)
1144 sctp_init_cause(retval, SCTP_ERROR_NEW_ENCAP_PORT, sizeof(nep));
1147 sctp_addto_chunk(retval, sizeof(nep), &nep);
1150 return retval;
1159 struct sctp_chunk *retval;
1161 retval = sctp_make_control(asoc, SCTP_CID_HEARTBEAT, 0,
1164 if (!retval)
1177 retval->transport = (struct sctp_transport *) transport;
1178 retval->subh.hbs_hdr = sctp_addto_chunk(retval, sizeof(hbinfo),
1180 retval->pmtu_probe = !!probe_size;
1183 return retval;
1191 struct sctp_chunk *retval;
1193 retval = sctp_make_control(asoc, SCTP_CID_HEARTBEAT_ACK, 0, paylen,
1195 if (!retval)
1198 retval->subh.hbs_hdr = sctp_addto_chunk(retval, paylen, payload);
1210 retval->transport = chunk->transport;
1213 return retval;
1229 struct sctp_chunk *retval;
1231 retval = sctp_make_control(asoc, SCTP_CID_PAD, 0, len, GFP_ATOMIC);
1232 if (!retval)
1235 skb_put_zero(retval->skb, len);
1236 retval->chunk_hdr->length = htons(ntohs(retval->chunk_hdr->length) + len);
1237 retval->chunk_end = skb_tail_pointer(retval->skb);
1239 return retval;
1250 struct sctp_chunk *retval;
1252 retval = sctp_make_control(asoc, SCTP_CID_ERROR, 0,
1255 if (!retval)
1267 retval->transport = chunk->transport;
1270 return retval;
1303 struct sctp_chunk *retval;
1305 retval = sctp_make_op_error_space(asoc, chunk, paylen + reserve_tail);
1306 if (!retval)
1309 sctp_init_cause(retval, cause_code, paylen + reserve_tail);
1310 sctp_addto_chunk(retval, paylen, payload);
1312 sctp_addto_param(retval, reserve_tail, NULL);
1315 return retval;
1323 struct sctp_chunk *retval;
1330 retval = sctp_make_control(asoc, SCTP_CID_AUTH, 0,
1333 if (!retval)
1339 retval->subh.auth_hdr = sctp_addto_chunk(retval, sizeof(auth_hdr),
1342 skb_put_zero(retval->skb, hmac_desc->hmac_len);
1345 retval->chunk_hdr->length =
1346 htons(ntohs(retval->chunk_hdr->length) + hmac_desc->hmac_len);
1347 retval->chunk_end = skb_tail_pointer(retval->skb);
1349 return retval;
1371 struct sctp_chunk *retval;
1373 retval = kmem_cache_zalloc(sctp_chunk_cachep, gfp);
1375 if (!retval)
1380 INIT_LIST_HEAD(&retval->list);
1381 retval->skb = skb;
1382 retval->asoc = (struct sctp_association *)asoc;
1383 retval->singleton = 1;
1385 retval->fast_retransmit = SCTP_CAN_FRTX;
1388 INIT_LIST_HEAD(&retval->transmitted_list);
1389 INIT_LIST_HEAD(&retval->frag_list);
1391 refcount_set(&retval->refcnt, 1);
1394 return retval;
1425 struct sctp_chunk *retval;
1446 retval = sctp_chunkify(skb, asoc, sk, gfp);
1447 if (!retval) {
1452 retval->chunk_hdr = chunk_hdr;
1453 retval->chunk_end = ((__u8 *)chunk_hdr) + sizeof(*chunk_hdr);
1457 retval->auth = 1;
1459 return retval;
1653 struct sctp_cookie_param *retval;
1676 retval = kzalloc(*cookie_len, GFP_ATOMIC);
1677 if (!retval) {
1682 cookie = (struct sctp_signed_cookie *) retval->body;
1685 retval->p.type = SCTP_PARAM_STATE_COOKIE;
1686 retval->p.length = htons(*cookie_len);
1718 return retval;
1728 struct sctp_association *retval = NULL;
1831 retval = sctp_association_new(ep, ep->base.sk, scope, gfp);
1832 if (!retval) {
1838 retval->peer.port = ntohs(chunk->sctp_hdr->source);
1841 memcpy(&retval->c, bear_cookie, sizeof(*bear_cookie));
1843 if (sctp_assoc_set_bind_addr_from_cookie(retval, bear_cookie,
1850 if (list_empty(&retval->base.bind_addr.address_list)) {
1851 sctp_add_bind_addr(&retval->base.bind_addr, &chunk->dest,
1856 retval->next_tsn = retval->c.initial_tsn;
1857 retval->ctsn_ack_point = retval->next_tsn - 1;
1858 retval->addip_serial = retval->c.initial_tsn;
1859 retval->strreset_outseq = retval->c.initial_tsn;
1860 retval->adv_peer_ack_point = retval->ctsn_ack_point;
1861 retval->peer.prsctp_capable = retval->c.prsctp_capable;
1862 retval->peer.adaptation_ind = retval->c.adaptation_ind;
1865 return retval;
1868 if (retval)
1869 sctp_association_free(retval);
2085 int retval = SCTP_IERROR_NO_ERROR;
2089 retval = SCTP_IERROR_ERROR;
2094 retval = SCTP_IERROR_ERROR;
2108 retval = SCTP_IERROR_NOMEM;
2122 return retval;
2141 int retval = SCTP_IERROR_NO_ERROR;
2175 retval = SCTP_IERROR_ABORT;
2182 retval = SCTP_IERROR_ABORT;
2203 retval = SCTP_IERROR_ABORT;
2219 retval = SCTP_IERROR_ABORT;
2245 retval = SCTP_IERROR_ABORT;
2253 retval = sctp_process_unk_param(asoc, param, chunk, err_chunk);
2256 return retval;
2522 int retval = 1, i;
2605 retval = 0;
2674 retval = 0;
2688 retval = 0;
2704 retval = 0;
2718 return retval;
2739 __u32 retval;
2741 get_random_bytes(&retval, sizeof(__u32));
2742 return retval;
2772 struct sctp_chunk *retval;
2784 retval = sctp_make_control(asoc, SCTP_CID_ASCONF, 0, length,
2786 if (!retval)
2791 retval->subh.addip_hdr =
2792 sctp_addto_chunk(retval, sizeof(asconf), &asconf);
2793 retval->param_hdr.v =
2794 sctp_addto_chunk(retval, addrlen, &addrparam);
2796 return retval;
2831 struct sctp_chunk *retval;
2863 retval = sctp_make_asconf(asoc, laddr, totallen);
2864 if (!retval)
2877 sctp_addto_chunk(retval, paramlen, &param);
2878 sctp_addto_chunk(retval, addr_param_len, &addr_param);
2890 sctp_addto_chunk(retval, paramlen, &param);
2891 sctp_addto_chunk(retval, addr_param_len, &addr_param);
2893 return retval;
2916 struct sctp_chunk *retval;
2926 retval = sctp_make_asconf(asoc, addr, len);
2927 if (!retval)
2934 sctp_addto_chunk(retval, sizeof(param), &param);
2935 sctp_addto_chunk(retval, addrlen, &addrparam);
2937 return retval;
2963 struct sctp_chunk *retval;
2967 retval = sctp_make_control(asoc, SCTP_CID_ASCONF_ACK, 0, length,
2969 if (!retval)
2974 retval->subh.addip_hdr =
2975 sctp_addto_chunk(retval, sizeof(asconf), &asconf);
2977 return retval;
3446 int retval = 0;
3488 retval = 1;
3524 return retval;
3532 struct sctp_chunk *retval = NULL;
3540 retval = sctp_make_control(asoc, SCTP_CID_FWD_TSN, 0, hint, GFP_ATOMIC);
3542 if (!retval)
3546 retval->subh.fwdtsn_hdr =
3547 sctp_addto_chunk(retval, sizeof(ftsn_hdr), &ftsn_hdr);
3552 sctp_addto_chunk(retval, sizeof(skip), &skip);
3555 return retval;
3562 struct sctp_chunk *retval = NULL;
3568 retval = sctp_make_control(asoc, SCTP_CID_I_FWD_TSN, 0, hint,
3570 if (!retval)
3574 retval->subh.ifwdtsn_hdr =
3575 sctp_addto_chunk(retval, sizeof(ftsn_hdr), &ftsn_hdr);
3577 sctp_addto_chunk(retval, nstreams * sizeof(skiplist[0]), skiplist);
3579 return retval;
3601 struct sctp_chunk *retval;
3603 retval = sctp_make_control(asoc, SCTP_CID_RECONF, 0, length,
3605 if (!retval)
3608 reconf = (struct sctp_reconf_chunk *)retval->chunk_hdr;
3609 retval->param_hdr.v = (u8 *)(reconf + 1);
3611 return retval;
3656 struct sctp_chunk *retval;
3662 retval = sctp_make_reconf(asoc, SCTP_PAD4(outlen) + SCTP_PAD4(inlen));
3663 if (!retval)
3673 sctp_addto_chunk(retval, sizeof(outreq), &outreq);
3676 sctp_addto_chunk(retval, stream_len, stream_list);
3684 sctp_addto_chunk(retval, sizeof(inreq), &inreq);
3687 sctp_addto_chunk(retval, stream_len, stream_list);
3690 return retval;
3707 struct sctp_chunk *retval;
3709 retval = sctp_make_reconf(asoc, length);
3710 if (!retval)
3717 sctp_addto_chunk(retval, sizeof(tsnreq), &tsnreq);
3719 return retval;
3739 struct sctp_chunk *retval;
3741 retval = sctp_make_reconf(asoc, (!!out + !!in) * size);
3742 if (!retval)
3752 sctp_addto_chunk(retval, size, &addstrm);
3762 sctp_addto_chunk(retval, size, &addstrm);
3765 return retval;
3784 struct sctp_chunk *retval;
3786 retval = sctp_make_reconf(asoc, length);
3787 if (!retval)
3795 sctp_addto_chunk(retval, sizeof(resp), &resp);
3797 return retval;
3822 struct sctp_chunk *retval;
3824 retval = sctp_make_reconf(asoc, length);
3825 if (!retval)
3836 sctp_addto_chunk(retval, sizeof(tsnresp), &tsnresp);
3838 return retval;