diff options
Diffstat (limited to 'net/sctp/outqueue.c')
| -rw-r--r-- | net/sctp/outqueue.c | 13 | 
1 files changed, 10 insertions, 3 deletions
diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c index 0dab62b67b9a..577e3bc4ee6f 100644 --- a/net/sctp/outqueue.c +++ b/net/sctp/outqueue.c @@ -36,6 +36,7 @@  #include <net/sctp/sctp.h>  #include <net/sctp/sm.h>  #include <net/sctp/stream_sched.h> +#include <trace/events/sctp.h>  /* Declare internal functions here.  */  static int sctp_acked(struct sctp_sackhdr *sack, __u32 tsn); @@ -279,7 +280,7 @@ void sctp_outq_free(struct sctp_outq *q)  /* Put a new chunk in an sctp_outq.  */  void sctp_outq_tail(struct sctp_outq *q, struct sctp_chunk *chunk, gfp_t gfp)  { -	struct net *net = sock_net(q->asoc->base.sk); +	struct net *net = q->asoc->base.net;  	pr_debug("%s: outq:%p, chunk:%p[%s]\n", __func__, q, chunk,  		 chunk && chunk->chunk_hdr ? @@ -533,7 +534,7 @@ void sctp_retransmit_mark(struct sctp_outq *q,  void sctp_retransmit(struct sctp_outq *q, struct sctp_transport *transport,  		     enum sctp_retransmit_reason reason)  { -	struct net *net = sock_net(q->asoc->base.sk); +	struct net *net = q->asoc->base.net;  	switch (reason) {  	case SCTP_RTXR_T3_RTX: @@ -1238,6 +1239,12 @@ int sctp_outq_sack(struct sctp_outq *q, struct sctp_chunk *chunk)  	/* Grab the association's destination address list. */  	transport_list = &asoc->peer.transport_addr_list; +	/* SCTP path tracepoint for congestion control debugging. */ +	if (trace_sctp_probe_path_enabled()) { +		list_for_each_entry(transport, transport_list, transports) +			trace_sctp_probe_path(transport, asoc); +	} +  	sack_ctsn = ntohl(sack->cum_tsn_ack);  	gap_ack_blocks = ntohs(sack->num_gap_ack_blocks);  	asoc->stats.gapcnt += gap_ack_blocks; @@ -1884,6 +1891,6 @@ void sctp_generate_fwdtsn(struct sctp_outq *q, __u32 ctsn)  	if (ftsn_chunk) {  		list_add_tail(&ftsn_chunk->list, &q->control_chunk_list); -		SCTP_INC_STATS(sock_net(asoc->base.sk), SCTP_MIB_OUTCTRLCHUNKS); +		SCTP_INC_STATS(asoc->base.net, SCTP_MIB_OUTCTRLCHUNKS);  	}  }  |