*** ../../vanilla3.0/tcp.h Tue Apr 28 10:28:03 1998 --- tcp.h Tue Sep 15 15:58:39 1998 *************** *** 1,7 **** /* BSDI tcp.h,v 2.11 1996/10/11 16:01:49 pjd Exp */ /* ! * Copyright (c) 1982, 1986, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without --- 1,7 ---- /* BSDI tcp.h,v 2.11 1996/10/11 16:01:49 pjd Exp */ /* ! * Copyright (c) 1982, 1986, 1993, 1998 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without *************** *** 77,88 **** --- 77,111 ---- #define TCPOPT_SACK_PERMITTED 4 /* Experimental */ #define TCPOLEN_SACK_PERMITTED 2 #define TCPOPT_SACK 5 /* Experimental */ + #define TCPOLEN_SACK 8 /* 2*sizeof(tcp_seq): len of a sack block */ #define TCPOPT_TIMESTAMP 8 #define TCPOLEN_TIMESTAMP 10 #define TCPOLEN_TSTAMP_APPA (TCPOLEN_TIMESTAMP+2) /* appendix A */ #define TCPOPT_TSTAMP_HDR \ (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP) + + #ifdef SACK + /* Option definitions */ + #define TCPOPT_SACK_PERMIT_HDR \ + (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_SACK_PERMITTED<<8|TCPOLEN_SACK_PERMITTED) + #define TCPOPT_SACK_HDR (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_SACK<<8) + /* User-settable options */ + #define TCP_SACK_DISABLE 0x300 /* disable SACKs(if enabled by deflt.)*/ + #define TCP_DO_SACK 0x301 /* enable SACKs(if disabled by deflt.)*/ + /* Miscellaneous constants */ + #define MAX_SACK_BLKS 6 /* Max # SACK blocks stored at sender side */ + #define TCP_MAX_SACK 3 /* Max # SACKs sent in any segment */ + #endif /* SACK */ + + #if defined(SACK) || defined(NEWRENO) + #define TCP_MAXBURST 4 + #endif + + #ifndef NTOHL + #define NTOHL(d) ((d) = ntohl((d))) + #endif + /* * Default maximum segment size for TCP.