diff options
author | archie <archie@FreeBSD.org> | 2000-07-25 00:23:19 +0000 |
---|---|---|
committer | archie <archie@FreeBSD.org> | 2000-07-25 00:23:19 +0000 |
commit | 02b7ccf840396091c0927b4f1918caec74f6722c (patch) | |
tree | 51c7e6936394901c9e5df56db277b5627a9b720c /sys/netgraph/ng_pptpgre.h | |
parent | 60328e3aef4d63fcd77887e459f11eead2bf3b82 (diff) | |
download | FreeBSD-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.h | 6 |
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 } \ } \ } |