44#ifndef _NETGRAPH_NG_PPP_H_
45#define _NETGRAPH_NG_PPP_H_
48#define NG_PPP_NODE_TYPE "ppp"
49#define NGM_PPP_COOKIE 940897795
55#define NG_PPP_MAX_LINKS 16
58#define NG_PPP_BUNDLE_LINKNUM 0xffff
61#define NG_PPP_MAX_LATENCY 1000
62#define NG_PPP_MAX_BANDWIDTH 125000
65#define NG_PPP_HOOK_BYPASS "bypass"
66#define NG_PPP_HOOK_COMPRESS "compress"
67#define NG_PPP_HOOK_DECOMPRESS "decompress"
68#define NG_PPP_HOOK_ENCRYPT "encrypt"
69#define NG_PPP_HOOK_DECRYPT "decrypt"
70#define NG_PPP_HOOK_VJC_IP "vjc_ip"
71#define NG_PPP_HOOK_VJC_COMP "vjc_vjcomp"
72#define NG_PPP_HOOK_VJC_UNCOMP "vjc_vjuncomp"
73#define NG_PPP_HOOK_VJC_VJIP "vjc_vjip"
74#define NG_PPP_HOOK_INET "inet"
75#define NG_PPP_HOOK_ATALK "atalk"
76#define NG_PPP_HOOK_IPX "ipx"
77#define NG_PPP_HOOK_IPV6 "ipv6"
79#define NG_PPP_HOOK_LINK_PREFIX "link"
115#define NG_PPP_MP_STATE_TYPE_INFO(atype) { \
116 { "rseq", (atype) }, \
117 { "mseq", &ng_parse_hint32_type }, \
118 { "xseq", &ng_parse_hint32_type }, \
133#define NG_PPP_LINK_TYPE_INFO { \
134 { "enableLink", &ng_parse_uint8_type }, \
135 { "enableProtoComp", &ng_parse_uint8_type }, \
136 { "enableACFComp", &ng_parse_uint8_type }, \
137 { "mru", &ng_parse_uint16_type }, \
138 { "latency", &ng_parse_uint32_type }, \
139 { "bandwidth", &ng_parse_uint32_type }, \
163#define NG_PPP_BUND_TYPE_INFO { \
164 { "mrru", &ng_parse_uint16_type }, \
165 { "enableMultilink", &ng_parse_uint8_type }, \
166 { "recvShortSeq", &ng_parse_uint8_type }, \
167 { "xmitShortSeq", &ng_parse_uint8_type }, \
168 { "enableRoundRobin", &ng_parse_uint8_type }, \
169 { "enableIP", &ng_parse_uint8_type }, \
170 { "enableIPv6", &ng_parse_uint8_type }, \
171 { "enableAtalk", &ng_parse_uint8_type }, \
172 { "enableIPX", &ng_parse_uint8_type }, \
173 { "enableCompression", &ng_parse_uint8_type }, \
174 { "enableDecompression", &ng_parse_uint8_type }, \
175 { "enableEncryption", &ng_parse_uint8_type }, \
176 { "enableDecryption", &ng_parse_uint8_type }, \
177 { "enableVJCompression", &ng_parse_uint8_type }, \
178 { "enableVJDecompression", &ng_parse_uint8_type }, \
189#define NG_PPP_CONFIG_TYPE_INFO(bctype, arytype) { \
190 { "bund", (bctype) }, \
191 { "links", (arytype) }, \
208#define NG_PPP_STATS_TYPE_INFO { \
209 { "xmitFrames", &ng_parse_uint32_type }, \
210 { "xmitOctets", &ng_parse_uint32_type }, \
211 { "recvFrames", &ng_parse_uint32_type }, \
212 { "recvOctets", &ng_parse_uint32_type }, \
213 { "badProtos", &ng_parse_uint32_type }, \
214 { "runts", &ng_parse_uint32_type }, \
215 { "dupFragments", &ng_parse_uint32_type }, \
216 { "dropFragments", &ng_parse_uint32_type }, \
233#define NG_PPP_STATS64_TYPE_INFO { \
234 { "xmitFrames", &ng_parse_uint64_type }, \
235 { "xmitOctets", &ng_parse_uint64_type }, \
236 { "recvFrames", &ng_parse_uint64_type }, \
237 { "recvOctets", &ng_parse_uint64_type }, \
238 { "badProtos", &ng_parse_uint64_type }, \
239 { "runts", &ng_parse_uint64_type }, \
240 { "dupFragments", &ng_parse_uint64_type }, \
241 { "dropFragments", &ng_parse_uint64_type }, \
@ NGM_PPP_GETCLR_LINK_STATS
@ NGM_PPP_GETCLR_LINK_STATS64
@ NGM_PPP_GET_LINK_STATS64
@ NG_PPP_DECOMPRESS_SIMPLE
u_char enableVJDecompression
u_char enableVJCompression
u_char enableDecompression
int32_t rseq[NG_PPP_MAX_LINKS]
struct ng_ppp_link_conf links[NG_PPP_MAX_LINKS]
struct ng_ppp_bund_conf bund