diff options
author | Archie Cobbs <archie@FreeBSD.org> | 2000-07-25 00:23:19 +0000 |
---|---|---|
committer | Archie Cobbs <archie@FreeBSD.org> | 2000-07-25 00:23:19 +0000 |
commit | 678f9e335efa5d4759d235773b06e7a5a4c91236 (patch) | |
tree | 75d18925a828154f6911ba0696d9298af2bd1b9a /sys/netgraph/ng_pptpgre.h | |
parent | c27eebfde8c04a4e0d30bde64ad064898e2eb8c9 (diff) | |
download | src-678f9e335efa5d4759d235773b06e7a5a4c91236.tar.gz src-678f9e335efa5d4759d235773b06e7a5a4c91236.zip |
Several fixes:
- Fix slowness when operating over fast connections, where the timeout(9)
granularity is on the same order of magnitude as the round trip time.
timeout(9) can happen up to 1 tick early, which was causing receive
ack timeouts to happen too early, causing bogus "lost" packets.
- Increase the local time counter to 64 bits to avoid roll-over.
- Keep statistics on memory allocation failures.
- Add a new option to always include the ack when sending data packets.
Might be useful in high packet loss situations. Might not.
Notes
Notes:
svn path=/head/; revision=63822
Diffstat (limited to 'sys/netgraph/ng_pptpgre.h')
-rw-r--r-- | sys/netgraph/ng_pptpgre.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/netgraph/ng_pptpgre.h b/sys/netgraph/ng_pptpgre.h index 8488a8dc559e..f8fb7c34918f 100644 --- a/sys/netgraph/ng_pptpgre.h +++ b/sys/netgraph/ng_pptpgre.h @@ -45,7 +45,7 @@ /* Node type name and magic cookie */ #define NG_PPTPGRE_NODE_TYPE "pptpgre" -#define NGM_PPTPGRE_COOKIE 942783546 +#define NGM_PPTPGRE_COOKIE 942783547 /* Hook names */ #define NG_PPTPGRE_HOOK_UPPER "upper" /* to upper layers */ @@ -55,6 +55,7 @@ struct ng_pptpgre_conf { u_char enabled; /* enables traffic flow */ u_char enableDelayedAck;/* enables delayed acks */ + u_char enableAlwaysAck;/* always include ack with data */ u_int16_t cid; /* my call id */ u_int16_t peerCid; /* peer call id */ u_int16_t recvWin; /* peer recv window size */ @@ -67,6 +68,7 @@ struct ng_pptpgre_conf { { \ { "enabled", &ng_parse_int8_type }, \ { "enableDelayedAck", &ng_parse_int8_type }, \ + { "enableAlwaysAck", &ng_parse_int8_type }, \ { "cid", &ng_parse_int16_type }, \ { "peerCid", &ng_parse_int16_type }, \ { "recvWin", &ng_parse_int16_type }, \ @@ -92,6 +94,7 @@ struct ng_pptpgre_stats { u_int32_t recvDuplicates; /* packets rec'd with duplicate seq # */ u_int32_t recvLoneAcks; /* ack-only packets rec'd */ u_int32_t recvAckTimeouts; /* times peer failed to ack in time */ + u_int32_t memoryFailures; /* times we couldn't allocate memory */ }; /* Keep this in sync with the above structure definition */ @@ -112,6 +115,7 @@ struct ng_pptpgre_stats { { "recvDuplicates", &ng_parse_int32_type }, \ { "recvLoneAcks", &ng_parse_int32_type }, \ { "recvAckTimeouts", &ng_parse_int32_type }, \ + { "memoryFailures", &ng_parse_int32_type }, \ { NULL } \ } \ } |