FreeBSD kernel netgraph code
|
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/limits.h>
#include <sys/time.h>
#include <sys/mbuf.h>
#include <sys/malloc.h>
#include <sys/endian.h>
#include <sys/errno.h>
#include <sys/ctype.h>
#include <netgraph/ng_message.h>
#include <netgraph/netgraph.h>
#include <netgraph/ng_parse.h>
#include <netgraph/ng_ppp.h>
#include <netgraph/ng_vjc.h>
Go to the source code of this file.
Data Structures | |
struct | ng_ppp_frag |
struct | ng_ppp_link |
struct | ng_ppp_private |
Macros | |
#define | M_NETGRAPH_PPP M_NETGRAPH |
#define | PROT_VALID(p) (((p) & 0x0101) == 0x0001) |
#define | PROT_COMPRESSABLE(p) (((p) & 0xff00) == 0x0000) |
#define | PROT_ATALK 0x0029 |
#define | PROT_COMPD 0x00fd |
#define | PROT_CRYPTD 0x0053 |
#define | PROT_IP 0x0021 |
#define | PROT_IPV6 0x0057 |
#define | PROT_IPX 0x002b |
#define | PROT_LCP 0xc021 |
#define | PROT_MP 0x003d |
#define | PROT_VJCOMP 0x002d |
#define | PROT_VJUNCOMP 0x002f |
#define | MP_INITIAL_SEQ 0 /* per RFC 1990 */ |
#define | MP_MIN_LINK_MRU 32 |
#define | MP_SHORT_SEQ_MASK 0x00000fff /* short seq # mask */ |
#define | MP_SHORT_SEQ_HIBIT 0x00000800 /* short seq # high bit */ |
#define | MP_SHORT_FIRST_FLAG 0x00008000 /* first fragment in frame */ |
#define | MP_SHORT_LAST_FLAG 0x00004000 /* last fragment in frame */ |
#define | MP_LONG_SEQ_MASK 0x00ffffff /* long seq # mask */ |
#define | MP_LONG_SEQ_HIBIT 0x00800000 /* long seq # high bit */ |
#define | MP_LONG_FIRST_FLAG 0x80000000 /* first fragment in frame */ |
#define | MP_LONG_LAST_FLAG 0x40000000 /* last fragment in frame */ |
#define | MP_NOSEQ 0x7fffffff /* impossible sequence number */ |
#define | MP_SHORT_EXTEND(s) |
#define | MP_LONG_EXTEND(s) |
#define | MP_SHORT_SEQ_DIFF(x, y) MP_SHORT_EXTEND((x) - (y)) |
#define | MP_LONG_SEQ_DIFF(x, y) MP_LONG_EXTEND((x) - (y)) |
#define | MP_RECV_SEQ_DIFF(priv, x, y) |
#define | MP_NEXT_RECV_SEQ(priv, seq) |
#define | MP_MIN_FRAG_LEN 32 |
#define | MP_MAX_QUEUE_LEN 128 |
#define | MP_FRAGTIMER_INTERVAL (hz/2) |
#define | MP_AVERAGE_LINK_OVERHEAD 16 |
#define | HOOK_INDEX_MAX 13 |
#define | HOOK_INDEX_ATALK 0 |
#define | HOOK_INDEX_BYPASS 1 |
#define | HOOK_INDEX_COMPRESS 2 |
#define | HOOK_INDEX_ENCRYPT 3 |
#define | HOOK_INDEX_DECOMPRESS 4 |
#define | HOOK_INDEX_DECRYPT 5 |
#define | HOOK_INDEX_INET 6 |
#define | HOOK_INDEX_IPX 7 |
#define | HOOK_INDEX_VJC_COMP 8 |
#define | HOOK_INDEX_VJC_IP 9 |
#define | HOOK_INDEX_VJC_UNCOMP 10 |
#define | HOOK_INDEX_VJC_VJIP 11 |
#define | HOOK_INDEX_IPV6 12 |
#define | ERROUT(x) do { error = (x); goto done; } while (0) |
Typedefs | |
typedef struct ng_ppp_private * | priv_p |
Functions | |
static int | ng_ppp_proto_recv (node_p node, item_p item, uint16_t proto, uint16_t linkNum) |
static int | ng_ppp_hcomp_xmit (node_p node, item_p item, uint16_t proto) |
static int | ng_ppp_hcomp_recv (node_p node, item_p item, uint16_t proto, uint16_t linkNum) |
static int | ng_ppp_comp_xmit (node_p node, item_p item, uint16_t proto) |
static int | ng_ppp_comp_recv (node_p node, item_p item, uint16_t proto, uint16_t linkNum) |
static int | ng_ppp_crypt_xmit (node_p node, item_p item, uint16_t proto) |
static int | ng_ppp_crypt_recv (node_p node, item_p item, uint16_t proto, uint16_t linkNum) |
static int | ng_ppp_mp_xmit (node_p node, item_p item, uint16_t proto) |
static int | ng_ppp_mp_recv (node_p node, item_p item, uint16_t proto, uint16_t linkNum) |
static int | ng_ppp_link_xmit (node_p node, item_p item, uint16_t proto, uint16_t linkNum, int plen) |
static int | ng_ppp_bypass (node_p node, item_p item, uint16_t proto, uint16_t linkNum) |
static void | ng_ppp_bump_mseq (node_p node, int32_t new_mseq) |
static int | ng_ppp_frag_drop (node_p node) |
static int | ng_ppp_check_packet (node_p node) |
static void | ng_ppp_get_packet (node_p node, struct mbuf **mp) |
static int | ng_ppp_frag_process (node_p node, item_p oitem) |
static int | ng_ppp_frag_trim (node_p node) |
static void | ng_ppp_frag_timeout (node_p node, hook_p hook, void *arg1, int arg2) |
static void | ng_ppp_frag_checkstale (node_p node) |
static void | ng_ppp_frag_reset (node_p node) |
static void | ng_ppp_mp_strategy (node_p node, int len, int *distrib) |
static int | ng_ppp_intcmp (void *latency, const void *v1, const void *v2) |
static struct mbuf * | ng_ppp_addproto (struct mbuf *m, uint16_t proto, int compOK) |
static struct mbuf * | ng_ppp_cutproto (struct mbuf *m, uint16_t *proto) |
static struct mbuf * | ng_ppp_prepend (struct mbuf *m, const void *buf, int len) |
static int | ng_ppp_config_valid (node_p node, const struct ng_ppp_node_conf *newConf) |
static void | ng_ppp_update (node_p node, int newConf) |
static void | ng_ppp_start_frag_timer (node_p node) |
static void | ng_ppp_stop_frag_timer (node_p node) |
NETGRAPH_INIT (ppp, &ng_ppp_typestruct) | |
static int | ng_ppp_constructor (node_p node) |
static int | ng_ppp_newhook (node_p node, hook_p hook, const char *name) |
static int | ng_ppp_rcvmsg (node_p node, item_p item, hook_p lasthook) |
static int | ng_ppp_shutdown (node_p node) |
static int | ng_ppp_disconnect (hook_p hook) |
static int | ng_ppp_rcvdata_inet (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata_inet_fast (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata_ipv6 (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata_atalk (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata_ipx (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata_bypass (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata_vjc_comp (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata_vjc_uncomp (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata_vjc_vjip (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata_vjc_ip (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata_compress (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata_decompress (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata_encrypt (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata_decrypt (hook_p hook, item_p item) |
static int | ng_ppp_rcvdata (hook_p hook, item_p item) |
#define ERROUT | ( | x | ) | do { error = (x); goto done; } while (0) |
#define HOOK_INDEX_ATALK 0 |
#define HOOK_INDEX_BYPASS 1 |
#define HOOK_INDEX_COMPRESS 2 |
#define HOOK_INDEX_DECOMPRESS 4 |
#define HOOK_INDEX_DECRYPT 5 |
#define HOOK_INDEX_ENCRYPT 3 |
#define HOOK_INDEX_INET 6 |
#define HOOK_INDEX_IPV6 12 |
#define HOOK_INDEX_IPX 7 |
#define HOOK_INDEX_VJC_COMP 8 |
#define HOOK_INDEX_VJC_IP 9 |
#define HOOK_INDEX_VJC_UNCOMP 10 |
#define HOOK_INDEX_VJC_VJIP 11 |
#define MP_LONG_EXTEND | ( | s | ) |
#define MP_LONG_FIRST_FLAG 0x80000000 /* first fragment in frame */ |
#define MP_LONG_LAST_FLAG 0x40000000 /* last fragment in frame */ |
#define MP_LONG_SEQ_DIFF | ( | x, | |
y | |||
) | MP_LONG_EXTEND((x) - (y)) |
#define MP_LONG_SEQ_HIBIT 0x00800000 /* long seq # high bit */ |
#define MP_NEXT_RECV_SEQ | ( | priv, | |
seq | |||
) |
#define MP_NOSEQ 0x7fffffff /* impossible sequence number */ |
#define MP_RECV_SEQ_DIFF | ( | priv, | |
x, | |||
y | |||
) |
#define MP_SHORT_EXTEND | ( | s | ) |
#define MP_SHORT_FIRST_FLAG 0x00008000 /* first fragment in frame */ |
#define MP_SHORT_LAST_FLAG 0x00004000 /* last fragment in frame */ |
#define MP_SHORT_SEQ_DIFF | ( | x, | |
y | |||
) | MP_SHORT_EXTEND((x) - (y)) |
#define MP_SHORT_SEQ_HIBIT 0x00000800 /* short seq # high bit */ |
#define MP_SHORT_SEQ_MASK 0x00000fff /* short seq # mask */ |
typedef struct ng_ppp_private* priv_p |
NETGRAPH_INIT | ( | ppp | , |
& | ng_ppp_typestruct | ||
) |
|
static |
Definition at line 2418 of file ng_ppp.c.
References ng_ppp_prepend(), and PROT_COMPRESSABLE.
Referenced by ng_ppp_comp_recv(), ng_ppp_comp_xmit(), ng_ppp_crypt_xmit(), ng_ppp_link_xmit(), and ng_ppp_mp_xmit().
|
static |
Definition at line 1649 of file ng_ppp.c.
References MP_RECV_SEQ_DIFF, NG_NODE_PRIVATE, and ng_ppp_link::seq.
Referenced by ng_ppp_frag_drop(), and ng_ppp_get_packet().
Definition at line 891 of file ng_ppp.c.
References HOOK_INDEX_BYPASS, NG_FREE_ITEM, NG_FWD_ITEM_HOOK, NG_NODE_PRIVATE, ng_ppp_prepend(), NGI_GET_M, and NGI_M.
Referenced by ng_ppp_comp_recv(), ng_ppp_crypt_recv(), ng_ppp_proto_recv(), and ng_ppp_rcvdata().
|
static |
Definition at line 1673 of file ng_ppp.c.
References ng_ppp_frag::first, ng_ppp_frag::last, MP_NEXT_RECV_SEQ, MP_RECV_SEQ_DIFF, NG_NODE_PRIVATE, and ng_ppp_frag::seq.
Referenced by ng_ppp_frag_process().
Definition at line 1152 of file ng_ppp.c.
References HOOK_INDEX_DECOMPRESS, NG_FREE_ITEM, NG_FWD_ITEM_HOOK, NG_NODE_PRIVATE, ng_ppp_addproto(), ng_ppp_bypass(), NG_PPP_DECOMPRESS_FULL, ng_ppp_hcomp_recv(), NGI_GET_M, NGI_M, and PROT_COMPD.
Referenced by ng_ppp_crypt_recv(), and ng_ppp_rcvdata_decrypt().
Definition at line 1087 of file ng_ppp.c.
References HOOK_INDEX_COMPRESS, NG_FREE_ITEM, NG_FWD_ITEM_HOOK, NG_NODE_PRIVATE, ng_ppp_addproto(), ng_ppp_crypt_xmit(), NGI_GET_M, NGI_M, PROT_COMPD, and PROT_CRYPTD.
Referenced by ng_ppp_hcomp_xmit(), ng_ppp_rcvdata_vjc_comp(), ng_ppp_rcvdata_vjc_uncomp(), and ng_ppp_rcvdata_vjc_vjip().
|
static |
Definition at line 2568 of file ng_ppp.c.
References ng_ppp_link_conf::bandwidth, ng_ppp_node_conf::bund, ng_ppp_link_conf::enableLink, ng_ppp_bund_conf::enableMultilink, ng_ppp_link_conf::latency, ng_ppp_node_conf::links, MP_MIN_LINK_MRU, ng_ppp_link_conf::mru, NG_NODE_PRIVATE, NG_PPP_MAX_BANDWIDTH, NG_PPP_MAX_LATENCY, NG_PPP_MAX_LINKS, ng_ppp_bund_conf::recvShortSeq, and ng_ppp_bund_conf::xmitShortSeq.
Referenced by ng_ppp_rcvmsg().
|
static |
Definition at line 490 of file ng_ppp.c.
References M_NETGRAPH_PPP, MP_MAX_QUEUE_LEN, MP_NOSEQ, ng_callout_init, NG_NODE_SET_PRIVATE, and NG_PPP_MAX_LINKS.
Definition at line 1262 of file ng_ppp.c.
References HOOK_INDEX_DECRYPT, NG_FWD_ITEM_HOOK, NG_NODE_PRIVATE, ng_ppp_bypass(), ng_ppp_comp_recv(), and PROT_CRYPTD.
Referenced by ng_ppp_frag_checkstale(), ng_ppp_frag_process(), and ng_ppp_mp_recv().
Definition at line 1219 of file ng_ppp.c.
References HOOK_INDEX_ENCRYPT, NG_FREE_ITEM, NG_FWD_ITEM_HOOK, NG_NODE_PRIVATE, ng_ppp_addproto(), ng_ppp_mp_xmit(), NGI_GET_M, NGI_M, and PROT_CRYPTD.
Referenced by ng_ppp_comp_xmit(), and ng_ppp_rcvdata_compress().
|
static |
Definition at line 2435 of file ng_ppp.c.
References PROT_VALID.
Referenced by ng_ppp_frag_checkstale(), ng_ppp_frag_process(), ng_ppp_rcvdata(), ng_ppp_rcvdata_compress(), ng_ppp_rcvdata_decompress(), and ng_ppp_rcvdata_decrypt().
|
static |
Definition at line 757 of file ng_ppp.c.
References NG_HOOK_NODE, NG_HOOK_PRIVATE, NG_NODE_IS_VALID, NG_NODE_NUMHOOKS, NG_NODE_PRIVATE, ng_ppp_update(), and ng_rmnode_self().
|
static |
Definition at line 1887 of file ng_ppp.c.
References ng_ppp_frag::data, ng_ppp_frag::first, ng_ppp_frag::last, MP_NEXT_RECV_SEQ, NG_FREE_M, NG_NODE_PRIVATE, NG_NOFLAGS, ng_package_data(), NG_PPP_BUNDLE_LINKNUM, ng_ppp_crypt_recv(), ng_ppp_cutproto(), ng_ppp_get_packet(), ng_ppp_max_staleness, NGI_M, PROT_VALID, ng_ppp_frag::seq, and ng_ppp_frag::timestamp.
Referenced by ng_ppp_frag_timeout().
|
static |
Definition at line 1793 of file ng_ppp.c.
References ng_ppp_frag::data, NG_FREE_M, NG_NODE_PRIVATE, ng_ppp_bump_mseq(), and ng_ppp_frag::seq.
Referenced by ng_ppp_frag_process().
Definition at line 1824 of file ng_ppp.c.
References NG_FREE_ITEM, NG_FREE_M, NG_NODE_PRIVATE, NG_NOFLAGS, ng_package_data(), NG_PPP_BUNDLE_LINKNUM, ng_ppp_check_packet(), ng_ppp_crypt_recv(), ng_ppp_cutproto(), ng_ppp_frag_drop(), ng_ppp_frag_trim(), ng_ppp_get_packet(), NGI_M, and PROT_VALID.
Referenced by ng_ppp_mp_recv().
|
static |
Definition at line 2610 of file ng_ppp.c.
References ng_ppp_frag::data, NG_FREE_M, and NG_NODE_PRIVATE.
Referenced by ng_ppp_shutdown(), and ng_ppp_update().
Definition at line 1971 of file ng_ppp.c.
References NG_NODE_NOT_VALID, ng_ppp_frag_checkstale(), and ng_ppp_start_frag_timer().
Referenced by ng_ppp_start_frag_timer().
|
static |
Definition at line 1744 of file ng_ppp.c.
References ng_ppp_frag::data, ng_ppp_frag::first, ng_ppp_frag::last, MP_NEXT_RECV_SEQ, MP_RECV_SEQ_DIFF, NG_FREE_M, NG_NODE_PRIVATE, and ng_ppp_frag::seq.
Referenced by ng_ppp_frag_process().
|
static |
Definition at line 1706 of file ng_ppp.c.
References ng_ppp_frag::data, ng_ppp_frag::first, ng_ppp_frag::last, NG_NODE_PRIVATE, ng_ppp_bump_mseq(), and ng_ppp_frag::seq.
Referenced by ng_ppp_frag_checkstale(), and ng_ppp_frag_process().
Definition at line 1038 of file ng_ppp.c.
References HOOK_INDEX_VJC_COMP, HOOK_INDEX_VJC_UNCOMP, NG_FWD_ITEM_HOOK, NG_NODE_PRIVATE, ng_ppp_proto_recv(), PROT_VJCOMP, and PROT_VJUNCOMP.
Referenced by ng_ppp_comp_recv(), and ng_ppp_rcvdata_decompress().
Definition at line 972 of file ng_ppp.c.
References HOOK_INDEX_VJC_IP, NG_FWD_ITEM_HOOK, NG_NODE_PRIVATE, ng_ppp_comp_xmit(), and PROT_IP.
Referenced by ng_ppp_rcvdata_atalk(), ng_ppp_rcvdata_bypass(), ng_ppp_rcvdata_inet(), ng_ppp_rcvdata_ipv6(), and ng_ppp_rcvdata_ipx().
|
static |
Definition at line 2406 of file ng_ppp.c.
References ng_ppp_link::latency.
Referenced by ng_ppp_mp_strategy().
|
static |
Definition at line 1319 of file ng_ppp.c.
References ng_ppp_link::bytesInQueue, ng_ppp_link::conf, ng_ppp_link_conf::enableACFComp, ng_ppp_link_conf::enableProtoComp, ERROUT, ng_ppp_link::hook, ng_ppp_link::lastWrite, MP_AVERAGE_LINK_OVERHEAD, ng_ppp_link_conf::mru, NG_FREE_ITEM, NG_FREE_M, NG_FWD_NEW_DATA, NG_NODE_PRIVATE, ng_ppp_acf, ng_ppp_addproto(), NG_PPP_MAX_LINKS, ng_ppp_prepend(), NGI_GET_M, PROT_LCP, ng_ppp_link::stats, ng_ppp_link_stat64::xmitFrames, and ng_ppp_link_stat64::xmitOctets.
Referenced by ng_ppp_mp_xmit(), ng_ppp_rcvdata_bypass(), and ng_ppp_rcvdata_inet_fast().
Definition at line 1522 of file ng_ppp.c.
References ng_ppp_frag::data, ng_ppp_link_stat64::dropFragments, ng_ppp_link_stat64::dupFragments, ERROUT, ng_ppp_frag::first, ng_ppp_frag::last, MP_LONG_EXTEND, MP_LONG_FIRST_FLAG, MP_LONG_LAST_FLAG, MP_LONG_SEQ_DIFF, MP_RECV_SEQ_DIFF, MP_SHORT_EXTEND, MP_SHORT_FIRST_FLAG, MP_SHORT_LAST_FLAG, MP_SHORT_SEQ_DIFF, NG_FREE_ITEM, NG_FREE_M, NG_NODE_PRIVATE, ng_ppp_crypt_recv(), ng_ppp_frag_process(), NGI_GET_M, NGI_M, PROT_MP, ng_ppp_link_stat64::runts, ng_ppp_frag::seq, ng_ppp_link::seq, ng_ppp_link::stats, and ng_ppp_frag::timestamp.
Referenced by ng_ppp_rcvdata().
|
static |
Definition at line 2262 of file ng_ppp.c.
References ng_ppp_link_conf::bandwidth, ng_ppp_link::bytesInQueue, ng_ppp_link::conf, ng_ppp_link::lastWrite, ng_ppp_link::latency, NG_NODE_PRIVATE, ng_ppp_intcmp(), and NG_PPP_MAX_LINKS.
Referenced by ng_ppp_mp_xmit().
Definition at line 1989 of file ng_ppp.c.
References ng_ppp_link::conf, MP_LONG_FIRST_FLAG, MP_LONG_LAST_FLAG, MP_LONG_SEQ_MASK, MP_MIN_FRAG_LEN, MP_SHORT_FIRST_FLAG, MP_SHORT_LAST_FLAG, MP_SHORT_SEQ_MASK, ng_ppp_link_conf::mru, NG_FREE_ITEM, NG_FREE_M, NG_NODE_PRIVATE, NG_NOFLAGS, ng_package_data(), ng_ppp_addproto(), ng_ppp_link_xmit(), NG_PPP_MAX_LINKS, ng_ppp_mp_strategy(), ng_ppp_prepend(), NGI_GET_M, NGI_M, PROT_MP, and ng_ppp_link::seq.
Referenced by ng_ppp_crypt_xmit(), and ng_ppp_rcvdata_encrypt().
Definition at line 520 of file ng_ppp.c.
References fn, name, NG_HOOK_SET_PRIVATE, NG_HOOK_SET_RCVDATA, NG_NODE_PRIVATE, NG_PPP_HOOK_LINK_PREFIX, ng_ppp_hook_names, NG_PPP_MAX_LINKS, and ng_ppp_update().
|
static |
Definition at line 2460 of file ng_ppp.c.
Referenced by ng_ppp_addproto(), ng_ppp_bypass(), ng_ppp_link_xmit(), and ng_ppp_mp_xmit().
Definition at line 920 of file ng_ppp.c.
References HOOK_INDEX_ATALK, HOOK_INDEX_INET, HOOK_INDEX_IPV6, HOOK_INDEX_IPX, NG_FREE_ITEM, NG_FWD_ITEM_HOOK, NG_NODE_PRIVATE, ng_ppp_bypass(), NGI_GET_M, NGI_M, PROT_ATALK, PROT_IP, PROT_IPV6, and PROT_IPX.
Referenced by ng_ppp_hcomp_recv(), and ng_ppp_rcvdata_vjc_ip().
Definition at line 1405 of file ng_ppp.c.
References ng_ppp_link_stat64::badProtos, ng_ppp_link::conf, ng_ppp_link_conf::enableLink, ERROUT, NG_FREE_ITEM, NG_HOOK_NODE, NG_HOOK_PRIVATE, NG_NODE_PRIVATE, ng_ppp_bypass(), ng_ppp_cutproto(), NG_PPP_MAX_LINKS, ng_ppp_mp_recv(), NGI_GET_M, NGI_M, PROT_VALID, ng_ppp_link_stat64::recvFrames, ng_ppp_link_stat64::recvOctets, and ng_ppp_link::stats.
Definition at line 831 of file ng_ppp.c.
References NG_FREE_ITEM, NG_HOOK_NODE, NG_NODE_PRIVATE, ng_ppp_hcomp_xmit(), and PROT_ATALK.
Definition at line 863 of file ng_ppp.c.
References NG_FREE_ITEM, NG_HOOK_NODE, NG_PPP_BUNDLE_LINKNUM, ng_ppp_hcomp_xmit(), ng_ppp_link_xmit(), NGI_GET_M, and NGI_M.
Definition at line 1118 of file ng_ppp.c.
References NG_FREE_ITEM, NG_HOOK_NODE, NG_NODE_PRIVATE, NG_PPP_COMPRESS_FULL, NG_PPP_COMPRESS_NONE, ng_ppp_crypt_xmit(), ng_ppp_cutproto(), NGI_GET_M, NGI_M, PROT_COMPD, and PROT_VALID.
Definition at line 1189 of file ng_ppp.c.
References NG_FREE_ITEM, NG_HOOK_NODE, NG_NODE_PRIVATE, NG_PPP_BUNDLE_LINKNUM, ng_ppp_cutproto(), ng_ppp_hcomp_recv(), NGI_GET_M, NGI_M, and PROT_VALID.
Definition at line 1289 of file ng_ppp.c.
References NG_FREE_ITEM, NG_HOOK_NODE, NG_NODE_PRIVATE, NG_PPP_BUNDLE_LINKNUM, ng_ppp_comp_recv(), ng_ppp_cutproto(), NGI_GET_M, NGI_M, and PROT_VALID.
Definition at line 1249 of file ng_ppp.c.
References NG_FREE_ITEM, NG_HOOK_NODE, NG_NODE_PRIVATE, ng_ppp_mp_xmit(), and PROT_CRYPTD.
Definition at line 786 of file ng_ppp.c.
References NG_FREE_ITEM, NG_HOOK_NODE, NG_NODE_PRIVATE, ng_ppp_hcomp_xmit(), and PROT_IP.
Definition at line 802 of file ng_ppp.c.
References NG_HOOK_NODE, NG_NODE_PRIVATE, ng_ppp_link_xmit(), NGI_M, and PROT_IP.
Definition at line 815 of file ng_ppp.c.
References NG_FREE_ITEM, NG_HOOK_NODE, NG_NODE_PRIVATE, ng_ppp_hcomp_xmit(), and PROT_IPV6.
Definition at line 847 of file ng_ppp.c.
References NG_FREE_ITEM, NG_HOOK_NODE, NG_NODE_PRIVATE, ng_ppp_hcomp_xmit(), and PROT_IPX.
Definition at line 993 of file ng_ppp.c.
References NG_FREE_ITEM, NG_HOOK_NODE, NG_NODE_PRIVATE, ng_ppp_comp_xmit(), and PROT_VJCOMP.
Definition at line 1070 of file ng_ppp.c.
References NG_FREE_ITEM, NG_HOOK_NODE, NG_NODE_PRIVATE, NG_PPP_BUNDLE_LINKNUM, ng_ppp_proto_recv(), and PROT_IP.
Definition at line 1009 of file ng_ppp.c.
References NG_FREE_ITEM, NG_HOOK_NODE, NG_NODE_PRIVATE, ng_ppp_comp_xmit(), and PROT_VJUNCOMP.
Definition at line 1025 of file ng_ppp.c.
References NG_FREE_ITEM, NG_HOOK_NODE, NG_NODE_PRIVATE, ng_ppp_comp_xmit(), and PROT_IP.
Definition at line 583 of file ng_ppp.c.
References ng_mesg::ng_msghdr::arglen, ng_ppp_link_stat::badProtos, ng_ppp_node_conf::bund, ng_mesg::ng_msghdr::cmd, ng_mesg::data, ng_ppp_link_stat::dropFragments, ng_ppp_link_stat::dupFragments, ERROUT, ng_mesg::header, HOOK_INDEX_VJC_IP, ng_ppp_node_conf::links, MP_NOSEQ, ng_ppp_mp_state::mseq, NG_FREE_MSG, NG_FWD_ITEM_HOOK, NG_MKRESPONSE, NG_NODE_PRIVATE, NG_PPP_BUNDLE_LINKNUM, ng_ppp_config_valid(), NG_PPP_MAX_LINKS, ng_ppp_update(), NG_RESPOND_MSG, NGI_GET_MSG, NGI_MSG, NGM_PPP_CLR_LINK_STATS, NGM_PPP_COOKIE, NGM_PPP_GET_CONFIG, NGM_PPP_GET_LINK_STATS, NGM_PPP_GET_LINK_STATS64, NGM_PPP_GET_MP_STATE, NGM_PPP_GETCLR_LINK_STATS, NGM_PPP_GETCLR_LINK_STATS64, NGM_PPP_SET_CONFIG, NGM_VJC_COOKIE, ng_ppp_link_stat::recvFrames, ng_ppp_link_stat::recvOctets, ng_ppp_mp_state::rseq, ng_ppp_link_stat::runts, priv::stats, ng_mesg::ng_msghdr::typecookie, ng_ppp_link_stat::xmitFrames, ng_ppp_link_stat::xmitOctets, and ng_ppp_mp_state::xseq.
|
static |
Definition at line 735 of file ng_ppp.c.
References M_NETGRAPH_PPP, NG_NODE_PRIVATE, NG_NODE_SET_PRIVATE, NG_NODE_UNREF, ng_ppp_frag_reset(), and ng_ppp_stop_frag_timer().
|
static |
Definition at line 2627 of file ng_ppp.c.
References MP_FRAGTIMER_INTERVAL, ng_callout(), NG_NODE_PRIVATE, and ng_ppp_frag_timeout().
Referenced by ng_ppp_frag_timeout(), and ng_ppp_update().
|
static |
Definition at line 2640 of file ng_ppp.c.
References NG_NODE_PRIVATE, and ng_uncallout().
Referenced by ng_ppp_shutdown(), and ng_ppp_update().
|
static |
Definition at line 2473 of file ng_ppp.c.
References ng_ppp_link_conf::bandwidth, ng_ppp_link::bytesInQueue, ng_ppp_link::conf, ng_ppp_link_conf::enableLink, ng_ppp_link::hook, HOOK_INDEX_INET, HOOK_INDEX_VJC_COMP, HOOK_INDEX_VJC_IP, HOOK_INDEX_VJC_UNCOMP, HOOK_INDEX_VJC_VJIP, ng_ppp_link::lastWrite, ng_ppp_link::latency, MP_AVERAGE_LINK_OVERHEAD, MP_INITIAL_SEQ, MP_NOSEQ, NG_HOOK_SET_RCVDATA, NG_NODE_PRIVATE, ng_ppp_frag_reset(), NG_PPP_MAX_LINKS, ng_ppp_rcvdata_inet, ng_ppp_rcvdata_inet_fast, ng_ppp_start_frag_timer(), ng_ppp_stop_frag_timer(), and ng_ppp_link::seq.
Referenced by ng_ppp_disconnect(), ng_ppp_newhook(), and ng_ppp_rcvmsg().
ng_rcvdata_t* fn |
Definition at line 262 of file ng_ppp.c.
Referenced by ng_ppp_newhook(), and ng_send_fn2().
char* const name |
Definition at line 261 of file ng_ppp.c.
Referenced by cisco_newhook(), get_iffam_from_name(), ng_add_hook(), ng_atmllc_newhook(), ng_bpf_newhook(), ng_bridge_newhook(), ng_bridge_nodename(), ng_car_newhook(), ng_ccatm_newhook(), ng_checksum_newhook(), ng_con_nodes(), ng_decodeidname(), ng_deflate_newhook(), ng_eiface_newhook(), ng_etf_newhook(), ng_ether_attach(), ng_ether_ifnet_arrival_event(), ng_ether_newhook(), ng_ether_sanitize_ifname(), ng_findhook(), ng_gif_demux_newhook(), ng_gif_newhook(), ng_hci_newhook(), ng_iface_newhook(), ng_ipfw_findhook(), ng_ipfw_newhook(), ng_ksocket_newhook(), ng_ksocket_parse(), ng_l2cap_newhook(), ng_l2tp_newhook(), ng_mkpeer(), ng_mppc_newhook(), ng_name2noderef(), ng_name_node(), ng_nat_newhook(), ng_netflow_newhook(), ng_one2many_newhook(), ng_patch_newhook(), ng_ppp_newhook(), ng_pppoe_newhook(), ng_pptpgre_newhook(), ng_pred1_newhook(), ng_rfc1490_newhook(), ng_source_newhook(), ng_split_newhook(), ng_sscfu_newhook(), ng_sscop_newhook(), ng_tag_newhook(), ng_tee_newhook(), ng_ubt_newhook(), ng_UI_newhook(), ng_uni_newhook(), ng_unparse_composite(), ng_vjc_newhook(), ng_vlan_newhook(), ng_vlanrotate_newhook(), ng_xxx_newhook(), nga_newhook(), ngfrm_newhook(), nglmi_newhook(), ngp_newhook(), ngs_findhook(), ngs_newhook(), and ngt_newhook().
|
static |
Definition at line 475 of file ng_ppp.c.
Referenced by ng_ppp_link_xmit().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
const struct { ... } ng_ppp_hook_names[] |
Referenced by ng_ppp_newhook().
|
static |
|
static |
|
static |
|
static |
Definition at line 478 of file ng_ppp.c.
Referenced by ng_ppp_frag_checkstale().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 241 of file ng_ppp.c.
Referenced by ng_ppp_update().
|
static |
Definition at line 242 of file ng_ppp.c.
Referenced by ng_ppp_update().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |