svn commit: r200847 - in head/sys: dev/cxgb/ulp/iw_cxgb netinet

John Baldwin jhb at FreeBSD.org
Tue Dec 22 15:47:40 UTC 2009


Author: jhb
Date: Tue Dec 22 15:47:40 2009
New Revision: 200847
URL: http://svn.freebsd.org/changeset/base/200847

Log:
  - Rename the __tcpi_(snd|rcv)_mss fields of the tcp_info structure to remove
    the leading underscores since they are now implemented.
  - Implement the tcpi_rto and tcpi_last_data_recv fields in the tcp_info
    structure.
  
  Reviewed by:	rwatson
  MFC after:	2 weeks

Modified:
  head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c
  head/sys/netinet/tcp.h
  head/sys/netinet/tcp_usrreq.c

Modified: head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c
==============================================================================
--- head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c	Tue Dec 22 15:45:38 2009	(r200846)
+++ head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c	Tue Dec 22 15:47:40 2009	(r200847)
@@ -203,7 +203,7 @@ static int set_tcpinfo(struct iwch_ep *e
 
 	ep->snd_seq = ti.tcpi_snd_nxt;
 	ep->rcv_seq = ti.tcpi_rcv_nxt;
-	ep->emss = ti.__tcpi_snd_mss - sizeof(struct tcpiphdr);
+	ep->emss = ti.tcpi_snd_mss - sizeof(struct tcpiphdr);
 	ep->hwtid = TOEPCB(ep->com.so)->tp_tid; /* XXX */
 	if (ti.tcpi_options & TCPI_OPT_TIMESTAMPS)
 		ep->emss -= 12;

Modified: head/sys/netinet/tcp.h
==============================================================================
--- head/sys/netinet/tcp.h	Tue Dec 22 15:45:38 2009	(r200846)
+++ head/sys/netinet/tcp.h	Tue Dec 22 15:47:40 2009	(r200847)
@@ -181,10 +181,10 @@ struct tcp_info {
 	u_int8_t	tcpi_snd_wscale:4,	/* RFC1323 send shift value. */
 			tcpi_rcv_wscale:4;	/* RFC1323 recv shift value. */
 
-	u_int32_t	__tcpi_rto;
+	u_int32_t	tcpi_rto;		/* Retransmission timeout (usec). */
 	u_int32_t	__tcpi_ato;
-	u_int32_t	__tcpi_snd_mss;
-	u_int32_t	__tcpi_rcv_mss;
+	u_int32_t	tcpi_snd_mss;		/* Max segment size for send. */
+	u_int32_t	tcpi_rcv_mss;		/* Max segment size for receive. */
 
 	u_int32_t	__tcpi_unacked;
 	u_int32_t	__tcpi_sacked;
@@ -195,7 +195,7 @@ struct tcp_info {
 	/* Times; measurements in usecs. */
 	u_int32_t	__tcpi_last_data_sent;
 	u_int32_t	__tcpi_last_ack_sent;	/* Also unimpl. on Linux? */
-	u_int32_t	__tcpi_last_data_recv;
+	u_int32_t	tcpi_last_data_recv;	/* Time since last recv data. */
 	u_int32_t	__tcpi_last_ack_recv;
 
 	/* Metrics; variable units. */

Modified: head/sys/netinet/tcp_usrreq.c
==============================================================================
--- head/sys/netinet/tcp_usrreq.c	Tue Dec 22 15:45:38 2009	(r200846)
+++ head/sys/netinet/tcp_usrreq.c	Tue Dec 22 15:47:40 2009	(r200847)
@@ -1194,6 +1194,8 @@ tcp_fill_info(struct tcpcb *tp, struct t
 		ti->tcpi_rcv_wscale = tp->rcv_scale;
 	}
 
+	ti->tcpi_rto = tp->t_rxtcur * tick;
+	ti->tcpi_last_data_recv = (long)(ticks - (int)tp->t_rcvtime) * tick;
 	ti->tcpi_rtt = ((u_int64_t)tp->t_srtt * tick) >> TCP_RTT_SHIFT;
 	ti->tcpi_rttvar = ((u_int64_t)tp->t_rttvar * tick) >> TCP_RTTVAR_SHIFT;
 
@@ -1208,8 +1210,8 @@ tcp_fill_info(struct tcpcb *tp, struct t
 	ti->tcpi_snd_wnd = tp->snd_wnd;
 	ti->tcpi_snd_bwnd = tp->snd_bwnd;
 	ti->tcpi_snd_nxt = tp->snd_nxt;
-	ti->__tcpi_snd_mss = tp->t_maxseg;
-	ti->__tcpi_rcv_mss = tp->t_maxseg;
+	ti->tcpi_snd_mss = tp->t_maxseg;
+	ti->tcpi_rcv_mss = tp->t_maxseg;
 	if (tp->t_flags & TF_TOE)
 		ti->tcpi_options |= TCPI_OPT_TOE;
 }


More information about the svn-src-head mailing list