summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/ng_ppp.h
diff options
context:
space:
mode:
authorarchie <archie@FreeBSD.org>2000-10-06 23:42:02 +0000
committerarchie <archie@FreeBSD.org>2000-10-06 23:42:02 +0000
commita5984fa40eeb4f40d06d1f1266a995af112d7ee5 (patch)
tree5f45750444c54d176dde7c4165a0bc14cba8d25f /sys/netgraph/ng_ppp.h
parent61ad84caf216f9c69a3844b1f4fa76b26021231e (diff)
downloadFreeBSD-src-a5984fa40eeb4f40d06d1f1266a995af112d7ee5.zip
FreeBSD-src-a5984fa40eeb4f40d06d1f1266a995af112d7ee5.tar.gz
More complete fix for multi-link sequence number handling bugs.
Add a new control message for querying the sequence number state.
Diffstat (limited to 'sys/netgraph/ng_ppp.h')
-rw-r--r--sys/netgraph/ng_ppp.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/sys/netgraph/ng_ppp.h b/sys/netgraph/ng_ppp.h
index ce05881..b75931e 100644
--- a/sys/netgraph/ng_ppp.h
+++ b/sys/netgraph/ng_ppp.h
@@ -34,7 +34,7 @@
* THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
* OF SUCH DAMAGE.
*
- * Author: Archie Cobbs <archie@whistle.com>
+ * Author: Archie Cobbs <archie@freebsd.org>
*
* $FreeBSD$
* $Whistle: ng_ppp.h,v 1.8 1999/01/25 02:40:02 archie Exp $
@@ -45,7 +45,7 @@
/* Node type name and magic cookie */
#define NG_PPP_NODE_TYPE "ppp"
-#define NGM_PPP_COOKIE 940897794
+#define NGM_PPP_COOKIE 940897795
/* Maximum number of supported links */
#define NG_PPP_MAX_LINKS 16
@@ -78,11 +78,29 @@
enum {
NGM_PPP_SET_CONFIG = 1, /* takes struct ng_ppp_node_conf */
NGM_PPP_GET_CONFIG, /* returns ng_ppp_node_conf */
+ NGM_PPP_GET_MP_STATE, /* returns ng_ppp_mp_state */
NGM_PPP_GET_LINK_STATS, /* takes link #, returns stats struct */
NGM_PPP_CLR_LINK_STATS, /* takes link #, clears link stats */
NGM_PPP_GETCLR_LINK_STATS, /* takes link #, returns & clrs stats */
};
+/* Multi-link sequence number state (for debugging) */
+struct ng_ppp_mp_state {
+ int32_t rseq[NG_PPP_MAX_LINKS]; /* highest rec'd MP seq # */
+ int32_t mseq; /* min rseq[i] */
+ int32_t xseq; /* next xmit MP seq # */
+};
+
+/* Keep this in sync with the above structure definition */
+#define NG_PPP_MP_STATE_TYPE_INFO(atype) { \
+ { \
+ { "rseq", (atype) }, \
+ { "mseq", &ng_parse_hint32_type }, \
+ { "xseq", &ng_parse_hint32_type }, \
+ { NULL }, \
+ } \
+}
+
/* Per-link config structure */
struct ng_ppp_link_conf {
u_char enableLink; /* enable this link */
OpenPOWER on IntegriCloud