aboutsummaryrefslogtreecommitdiff
path: root/sys/netgraph/ng_pptpgre.h
diff options
context:
space:
mode:
authorArchie Cobbs <archie@FreeBSD.org>2000-07-25 00:23:19 +0000
committerArchie Cobbs <archie@FreeBSD.org>2000-07-25 00:23:19 +0000
commit678f9e335efa5d4759d235773b06e7a5a4c91236 (patch)
tree75d18925a828154f6911ba0696d9298af2bd1b9a /sys/netgraph/ng_pptpgre.h
parentc27eebfde8c04a4e0d30bde64ad064898e2eb8c9 (diff)
downloadsrc-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.h6
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 } \
} \
}