/* Note: The CWR is considered a Control chunk.  */
struct sctp_chunk* sctp_make_cwr(const struct sctp_association *asoc, const __u32 lowest_tsn, const struct sctp_chunk *chunk)
/* Note: The CWR is considered a Control chunk.  */
struct sctp_chunk* sctp_make_cwr(const struct sctp_association *asoc, const __u32 lowest_tsn, const struct sctp_chunk *chunk)
{
	struct sctp_chunk *retval;
	sctp_cwrhdr_t cwr;
	cwr.lowest_tsn = htonl(lowest_tsn);
	retval = sctp_make_chunk(asoc, SCTP_CID_ECN_CWR, 0,
				 sizeof(sctp_cwrhdr_t));
	if (!retval)
		goto nodata;
	retval->subh.ecn_cwr_hdr =
		sctp_addto_chunk(retval, sizeof(cwr), &cwr);
	if (chunk)
		retval->transport = chunk->transport;
nodata:
	return retval;
}