Diff for /src/sys/netinet/tcp_var.h between versions 1.15 and 1.16

version 1.15, 2004/03/14 08:21:53 version 1.16, 2004/04/07 17:01:25
Line 41 Line 41
   
 #include <netinet/in_pcb.h>             /* needed for in_conninfo, inp_gen_t */  #include <netinet/in_pcb.h>             /* needed for in_conninfo, inp_gen_t */
   
   #ifndef _NETINET_TCP_STATS_H_
   #include <netinet/tcp_stats.h>
   #endif
   
 /*  /*
  * Kernel variables for tcp.   * Kernel variables for tcp.
  */   */
Line 305  struct rmxp_tao { Line 309  struct rmxp_tao {
           + (tp)->t_rttvar) >> TCP_DELTA_SHIFT)            + (tp)->t_rttvar) >> TCP_DELTA_SHIFT)
   
 /*  /*
  * TCP statistics.  
  * Many of these should be kept per connection,  
  * but that's inconvenient at the moment.  
  */  
 struct  tcpstat {  
         u_long  tcps_connattempt;       /* connections initiated */  
         u_long  tcps_accepts;           /* connections accepted */  
         u_long  tcps_connects;          /* connections established */  
         u_long  tcps_drops;             /* connections dropped */  
         u_long  tcps_conndrops;         /* embryonic connections dropped */  
         u_long  tcps_closed;            /* conn. closed (includes drops) */  
         u_long  tcps_segstimed;         /* segs where we tried to get rtt */  
         u_long  tcps_rttupdated;        /* times we succeeded */  
         u_long  tcps_delack;            /* delayed acks sent */  
         u_long  tcps_timeoutdrop;       /* conn. dropped in rxmt timeout */  
         u_long  tcps_rexmttimeo;        /* retransmit timeouts */  
         u_long  tcps_persisttimeo;      /* persist timeouts */  
         u_long  tcps_keeptimeo;         /* keepalive timeouts */  
         u_long  tcps_keepprobe;         /* keepalive probes sent */  
         u_long  tcps_keepdrops;         /* connections dropped in keepalive */  
   
         u_long  tcps_sndtotal;          /* total packets sent */  
         u_long  tcps_sndpack;           /* data packets sent */  
         u_long  tcps_sndbyte;           /* data bytes sent */  
         u_long  tcps_sndrexmitpack;     /* data packets retransmitted */  
         u_long  tcps_sndrexmitbyte;     /* data bytes retransmitted */  
         u_long  tcps_sndfastrexmit;     /* Fast Retransmissions */  
         u_long  tcps_sndearlyrexmit;    /* early Fast Retransmissions */  
         u_long  tcps_sndlimited;        /* Limited Transmit packets */  
         u_long  tcps_sndrtobad;         /* spurious RTO retransmissions */  
         u_long  tcps_sndfastrexmitbad;  /* spurious Fast Retransmissions */  
         u_long  tcps_sndearlyrexmitbad; /* spurious early Fast Retransmissions,  
                                            a subset of tcps_sndfastrexmitbad */  
         u_long  tcps_eifeldetected;     /* Eifel-detected spurious rexmits */  
         u_long  tcps_rttcantdetect;     /* Eifel but not 1/2 RTT-detectable */  
         u_long  tcps_rttdetected;       /* RTT-detected spurious RTO rexmits */  
         u_long  tcps_sndacks;           /* ack-only packets sent */  
         u_long  tcps_sndprobe;          /* window probes sent */  
         u_long  tcps_sndurg;            /* packets sent with URG only */  
         u_long  tcps_sndwinup;          /* window update-only packets sent */  
         u_long  tcps_sndctrl;           /* control (SYN|FIN|RST) packets sent */  
   
         u_long  tcps_rcvtotal;          /* total packets received */  
         u_long  tcps_rcvpack;           /* packets received in sequence */  
         u_long  tcps_rcvbyte;           /* bytes received in sequence */  
         u_long  tcps_rcvbadsum;         /* packets received with ccksum errs */  
         u_long  tcps_rcvbadoff;         /* packets received with bad offset */  
         u_long  tcps_rcvmemdrop;        /* packets dropped for lack of memory */  
         u_long  tcps_rcvshort;          /* packets received too short */  
         u_long  tcps_rcvduppack;        /* duplicate-only packets received */  
         u_long  tcps_rcvdupbyte;        /* duplicate-only bytes received */  
         u_long  tcps_rcvpartduppack;    /* packets with some duplicate data */  
         u_long  tcps_rcvpartdupbyte;    /* dup. bytes in part-dup. packets */  
         u_long  tcps_rcvoopack;         /* out-of-order packets received */  
         u_long  tcps_rcvoobyte;         /* out-of-order bytes received */  
         u_long  tcps_rcvpackafterwin;   /* packets with data after window */  
         u_long  tcps_rcvbyteafterwin;   /* bytes rcvd after window */  
         u_long  tcps_rcvafterclose;     /* packets rcvd after "close" */  
         u_long  tcps_rcvwinprobe;       /* rcvd window probe packets */  
         u_long  tcps_rcvdupack;         /* rcvd duplicate acks */  
         u_long  tcps_rcvacktoomuch;     /* rcvd acks for unsent data */  
         u_long  tcps_rcvackpack;        /* rcvd ack packets */  
         u_long  tcps_rcvackbyte;        /* bytes acked by rcvd acks */  
         u_long  tcps_rcvwinupd;         /* rcvd window update packets */  
         u_long  tcps_pawsdrop;          /* segments dropped due to PAWS */  
         u_long  tcps_predack;           /* times hdr predict ok for acks */  
         u_long  tcps_preddat;           /* times hdr predict ok for data pkts */  
         u_long  tcps_pcbcachemiss;  
         u_long  tcps_cachedrtt;         /* times cached RTT in route updated */  
         u_long  tcps_cachedrttvar;      /* times cached rttvar updated */  
         u_long  tcps_cachedssthresh;    /* times cached ssthresh updated */  
         u_long  tcps_usedrtt;           /* times RTT initialized from route */  
         u_long  tcps_usedrttvar;        /* times RTTVAR initialized from rt */  
         u_long  tcps_usedssthresh;      /* times ssthresh initialized from rt*/  
         u_long  tcps_persistdrop;       /* timeout in persist state */  
         u_long  tcps_badsyn;            /* bogus SYN, e.g. premature ACK */  
         u_long  tcps_mturesent;         /* resends due to MTU discovery */  
         u_long  tcps_listendrop;        /* listen queue overflows */  
   
         u_long  tcps_sc_added;          /* entry added to syncache */  
         u_long  tcps_sc_retransmitted;  /* syncache entry was retransmitted */  
         u_long  tcps_sc_dupsyn;         /* duplicate SYN packet */  
         u_long  tcps_sc_dropped;        /* could not reply to packet */  
         u_long  tcps_sc_completed;      /* successful extraction of entry */  
         u_long  tcps_sc_bucketoverflow; /* syncache per-bucket limit hit */  
         u_long  tcps_sc_cacheoverflow;  /* syncache cache limit hit */  
         u_long  tcps_sc_reset;          /* RST removed entry from syncache */  
         u_long  tcps_sc_stale;          /* timed out or listen socket gone */  
         u_long  tcps_sc_aborted;        /* syncache entry aborted */  
         u_long  tcps_sc_badack;         /* removed due to bad ACK */  
         u_long  tcps_sc_unreach;        /* ICMP unreachable received */  
         u_long  tcps_sc_zonefail;       /* zalloc() failed */  
         u_long  tcps_sc_sendcookie;     /* SYN cookie sent */  
         u_long  tcps_sc_recvcookie;     /* SYN cookie received */  
 };  
   
 /*  
  * TCB structure exported to user-land via sysctl(3).   * TCB structure exported to user-land via sysctl(3).
  * Evil hack: declare only if in_pcb.h and sys/socketvar.h have been   * Evil hack: declare only if in_pcb.h and sys/socketvar.h have been
  * included.  Not all of our clients do.   * included.  Not all of our clients do.
Line 457  SYSCTL_DECL(_net_inet_tcp); Line 364  SYSCTL_DECL(_net_inet_tcp);
 #endif  #endif
   
 extern  struct inpcbinfo tcbinfo[];  extern  struct inpcbinfo tcbinfo[];
 extern  struct tcpstat tcpstat; /* tcp statistics */  
 extern  int tcp_mssdflt;        /* XXX */  extern  int tcp_mssdflt;        /* XXX */
 extern  int tcp_delack_enabled;  extern  int tcp_delack_enabled;
 extern  int tcp_do_newreno;  extern  int tcp_do_newreno;

Removed from v.1.15  
changed lines
  Added in v.1.16