diff options
author | archie <archie@FreeBSD.org> | 2000-10-06 23:42:02 +0000 |
---|---|---|
committer | archie <archie@FreeBSD.org> | 2000-10-06 23:42:02 +0000 |
commit | a5984fa40eeb4f40d06d1f1266a995af112d7ee5 (patch) | |
tree | 5f45750444c54d176dde7c4165a0bc14cba8d25f /sys/netgraph/ng_ppp.h | |
parent | 61ad84caf216f9c69a3844b1f4fa76b26021231e (diff) | |
download | FreeBSD-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.h | 22 |
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 */ |