summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/ng_pptpgre.h
diff options
context:
space:
mode:
authorarchie <archie@FreeBSD.org>2000-07-25 00:23:19 +0000
committerarchie <archie@FreeBSD.org>2000-07-25 00:23:19 +0000
commit02b7ccf840396091c0927b4f1918caec74f6722c (patch)
tree51c7e6936394901c9e5df56db277b5627a9b720c /sys/netgraph/ng_pptpgre.h
parent60328e3aef4d63fcd77887e459f11eead2bf3b82 (diff)
downloadFreeBSD-src-02b7ccf840396091c0927b4f1918caec74f6722c.zip
FreeBSD-src-02b7ccf840396091c0927b4f1918caec74f6722c.tar.gz
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.
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 8488a8d..f8fb7c3 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 } \
} \
}
OpenPOWER on IntegriCloud