X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fnet.h;h=a16db158e7966c1b7e6ad0ca02c0cc3251c3ed67;hp=a5765762168bbbdb537e933e7456b996ac3a30ce;hb=627f7c22b447bd464b536cd016278545674df93d;hpb=305505f5ec4bb738f175cd897fa409f08d2971a3 diff --git a/src/net.h b/src/net.h index a5765762..a16db158 100644 --- a/src/net.h +++ b/src/net.h @@ -1,7 +1,7 @@ /* net.h -- header for net.c Copyright (C) 1998-2002 Ivo Timmermans - 2000-2002 Guus Sliepen + 2000-2002 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: net.h,v 1.9.4.47 2002/03/18 22:47:20 guus Exp $ + $Id: net.h,v 1.9.4.52 2002/06/21 10:11:12 guus Exp $ */ #ifndef __TINC_NET_H__ @@ -28,22 +28,34 @@ #include #include +#ifdef HAVE_INTTYPES_H + #include +#endif + #include "config.h" -#define MTU 1514 /* 1500 bytes payload + 14 bytes ethernet header */ -#define MAXSIZE 1600 /* MTU + header (seqno) and trailer (CBC padding and HMAC) */ +#ifdef ENABLE_JUMBOGRAMS + #define MTU 9014 /* 9000 bytes payload + 14 bytes ethernet header */ + #define MAXSIZE 9100 /* MTU + header (seqno) and trailer (CBC padding and HMAC) */ + #define MAXBUFSIZE 9100 /* Must support TCP packets of length 9000. */ +#else + #define MTU 1514 /* 1500 bytes payload + 14 bytes ethernet header */ + #define MAXSIZE 1600 /* MTU + header (seqno) and trailer (CBC padding and HMAC) */ + #define MAXBUFSIZE 2100 /* Quite large but needed for support of keys up to 8192 bits. */ +#endif -#define MAXBUFSIZE 2048 /* Probably way too much, but it must fit every possible request. */ #define MAXSOCKETS 128 /* Overkill... */ +#define MAXQUEUELENGTH 8 /* Maximum number of packats in a single queue */ + typedef struct mac_t { - unsigned char x[6]; + uint8_t x[6]; } mac_t; typedef struct ipv4_t { - unsigned char x[4]; + uint8_t x[4]; } ipv4_t; typedef struct ip_mask_t { @@ -53,7 +65,7 @@ typedef struct ip_mask_t { typedef struct ipv6_t { - unsigned short x[8]; + uint16_t x[8]; } ipv6_t; typedef unsigned short port_t; @@ -75,8 +87,8 @@ typedef union { typedef struct vpn_packet_t { length_t len; /* the actual number of bytes in the `data' field */ int priority; /* priority or TOS */ - unsigned int seqno; /* 32 bits sequence number (network byte order of course) */ - unsigned char data[MAXSIZE]; + uint32_t seqno; /* 32 bits sequence number (network byte order of course) */ + uint8_t data[MAXSIZE]; } vpn_packet_t; typedef struct queue_element_t {