X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/9d866d2f2adf46349baed9bfd4270f0281cb2c02..c39aec4eaa8e548e19a1d8e10b8d1d452a7fb9b5:/usr/src/sys/netinet/tcp_var.h diff --git a/usr/src/sys/netinet/tcp_var.h b/usr/src/sys/netinet/tcp_var.h index 6ef78e0851..61c672e69e 100644 --- a/usr/src/sys/netinet/tcp_var.h +++ b/usr/src/sys/netinet/tcp_var.h @@ -3,13 +3,18 @@ * All rights reserved. * * Redistribution and use in source and binary forms are permitted - * provided that this notice is preserved and that due credit is given - * to the University of California at Berkeley. The name of the University - * may not be used to endorse or promote products derived from this - * software without specific prior written permission. This software - * is provided ``as is'' without express or implied warranty. + * provided that the above copyright notice and this paragraph are + * duplicated in all such forms and that any documentation, + * advertising materials, and other materials related to such + * distribution and use acknowledge that the software was developed + * by the University of California, Berkeley. The name of the + * University may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#)tcp_var.h 7.6.1.1 (Berkeley) %G% + * @(#)tcp_var.h 7.8 (Berkeley) %G% */ /* @@ -23,8 +28,65 @@ #ifndef BSD #define BSD 42 /* if we're not 4.3, pretend we're 4.2 */ +#define OLDSTAT /* set if we have to use old netstat binaries */ #endif +/* #define OLDSTAT /* set if we have to use old netstat binaries */ + +#if sun || BSD < 43 +#define TCP_COMPAT_42 /* set if we have to interop w/4.2 systems */ +#endif + +#ifndef SB_MAX +#ifdef SB_MAXCOUNT +#define SB_MAX SB_MAXCOUNT /* Sun has to be a little bit different... */ +#else +#define SB_MAX 32767 /* XXX */ +#endif SB_MAXCOUNT +#endif SB_MAX + +#ifndef IP_MAXPACKET +#define IP_MAXPACKET 65535 /* maximum packet size */ +#endif + +/* + * Bill Nowicki pointed out that the page size (CLBYTES) has + * nothing to do with the mbuf cluster size. So, we followed + * Sun's lead and made the new define MCLBYTES stand for the mbuf + * cluster size. The following define makes up backwards compatible + * with 4.3 and 4.2. If CLBYTES is >1024 on your machine, check + * this against the mbuf cluster definitions in /usr/include/sys/mbuf.h. + */ +#ifndef MCLBYTES +#define MCLBYTES CLBYTES /* XXX */ +#endif + +/* + * The routine in_localaddr is broken in Sun's 3.4. We redefine ours + * (in tcp_input.c) so we use can it but won't have a name conflict. + */ +#ifdef sun +#define in_localaddr tcp_in_localaddr +#endif + +/* --------------- end of TCP config ---------------- */ + +/* + * TCP configuration: This is a half-assed attempt to make TCP + * self-configure for a few varieties of 4.2 and 4.3-based unixes. + * If you don't have a) a 4.3bsd vax or b) a 3.x Sun (x<6), check + * this carefully (it's probably not right). Please send me mail + * if you run into configuration problems. + * - Van Jacobson (van@lbl-csam.arpa) + */ + +#ifndef BSD +#define BSD 42 /* if we're not 4.3, pretend we're 4.2 */ +#define OLDSTAT /* set if we have to use old netstat binaries */ +#endif + +/* #define OLDSTAT /* set if we have to use old netstat binaries */ + #if sun || BSD < 43 #define TCP_COMPAT_42 /* set if we have to interop w/4.2 systems */ #endif @@ -144,6 +206,38 @@ struct tcpcb { * but that's inconvenient at the moment. */ struct tcpstat { +#ifdef OLDSTAT + /* + * Declare statistics the same as in 4.3 + * at the start of tcpstat (same size and + * position) for netstat. + */ + int tcps_rcvbadsum; + int tcps_rcvbadoff; + int tcps_rcvshort; + int tcps_badsegs; + int tcps_unack; +#define tcps_badsum tcps_rcvbadsum +#define tcps_badoff tcps_rcvbadoff +#define tcps_hdrops tcps_rcvshort + +#endif OLDSTAT +#ifdef OLDSTAT + /* + * Declare statistics the same as in 4.3 + * at the start of tcpstat (same size and + * position) for netstat. + */ + int tcps_rcvbadsum; + int tcps_rcvbadoff; + int tcps_rcvshort; + int tcps_badsegs; + int tcps_unack; +#define tcps_badsum tcps_rcvbadsum +#define tcps_badoff tcps_rcvbadoff +#define tcps_hdrops tcps_rcvshort + +#endif OLDSTAT u_long tcps_connattempt; /* connections initiated */ u_long tcps_accepts; /* connections accepted */ u_long tcps_connects; /* connections established */ @@ -174,9 +268,13 @@ struct tcpstat { u_long tcps_rcvtotal; /* total packets received */ u_long tcps_rcvpack; /* packets received in sequence */ u_long tcps_rcvbyte; /* bytes received in sequence */ +#ifndef OLDSTAT +#ifndef OLDSTAT u_long tcps_rcvbadsum; /* packets received with ccksum errs */ u_long tcps_rcvbadoff; /* packets received with bad offset */ u_long tcps_rcvshort; /* packets received too short */ +#endif +#endif 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 */