Diff for /src/sys/netinet/tcp_var.h between versions 1.18 and 1.19

version 1.18, 2004/04/23 10:21:08 version 1.19, 2004/04/29 10:06:41
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 196  struct tcpcb { Line 192  struct tcpcb {
 #define ENTER_FASTRECOVERY(tp)  tp->t_flags |= TF_FASTRECOVERY  #define ENTER_FASTRECOVERY(tp)  tp->t_flags |= TF_FASTRECOVERY
 #define EXIT_FASTRECOVERY(tp)   tp->t_flags &= ~TF_FASTRECOVERY  #define EXIT_FASTRECOVERY(tp)   tp->t_flags &= ~TF_FASTRECOVERY
   
   #ifdef _KERNEL
   
   #if defined(SMP)
   #define _GD     mycpu
   #define tcpstat tcpstats_ary[_GD->gd_cpuid]
   #else /* !SMP */
   #define tcpstat tcpstats_ary[0]
   #endif
   
   struct tcp_stats;
   extern struct tcp_stats         tcpstats_ary[MAXCPU];
   #endif
   
   /*
    * TCP statistics.
    */
   struct tcp_stats {
           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 */
   };
   
 /*  /*
  * Structure to hold TCP options that are only used during segment   * Structure to hold TCP options that are only used during segment
  * processing (in tcp_input), but not held in the tcpcb.   * processing (in tcp_input), but not held in the tcpcb.

Removed from v.1.18  
changed lines
  Added in v.1.19