#include <sys/param.h>
#include <sys/errno.h>
#include <sys/kernel.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/queue.h>
#include <sys/socket.h>
#include <sys/systm.h>
#include <net/ethernet.h>
#include <net/if.h>
#include <net/if_vlan_var.h>
#include <netgraph/ng_message.h>
#include <netgraph/ng_parse.h>
#include <netgraph/ng_vlan.h>
#include <netgraph/netgraph.h>
Go to the source code of this file.
◆ ETHER_VLAN_HDR_LEN
#define ETHER_VLAN_HDR_LEN (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN) |
◆ HOOK_VLAN_TAG_SET_MASK
#define HOOK_VLAN_TAG_SET_MASK ((uintptr_t)((~0) & ~(VLAN_TAG_MASK))) |
◆ IS_HOOK_VLAN_SET
◆ VLAN_TAG_MASK
#define VLAN_TAG_MASK 0xFFFF |
◆ priv_p
◆ m_chk()
static __inline int m_chk |
( |
struct mbuf ** |
mp, |
|
|
int |
len |
|
) |
| |
|
static |
◆ NETGRAPH_INIT()
NETGRAPH_INIT |
( |
vlan |
, |
|
|
& |
ng_vlan_typestruct |
|
) |
| |
◆ ng_vlan_constructor()
static int ng_vlan_constructor |
( |
node_p |
node | ) |
|
|
static |
◆ ng_vlan_disconnect()
static int ng_vlan_disconnect |
( |
hook_p |
hook | ) |
|
|
static |
◆ ng_vlan_getTableLength()
static int ng_vlan_getTableLength |
( |
const struct ng_parse_type * |
type, |
|
|
const u_char * |
start, |
|
|
const u_char * |
buf |
|
) |
| |
|
static |
◆ ng_vlan_newhook()
static int ng_vlan_newhook |
( |
node_p |
node, |
|
|
hook_p |
hook, |
|
|
const char * |
name |
|
) |
| |
|
static |
◆ ng_vlan_rcvdata()
Definition at line 514 of file ng_vlan.c.
References ETHER_VLAN_HDR_LEN, IS_HOOK_VLAN_SET, m_chk(), NG_FREE_ITEM, NG_FWD_NEW_DATA, NG_HOOK_NODE, NG_HOOK_PRIVATE, NG_NODE_PRIVATE, NGI_GET_M, VLAN_ENCAP_FROM_FILTER, VLAN_ENCAP_FROM_NOMATCH, and VLAN_TAG_MASK.
◆ ng_vlan_rcvmsg()
Definition at line 253 of file ng_vlan.c.
References ng_mesg::ng_msghdr::arglen, ng_vlan_filter::cfi, ng_mesg::ng_msghdr::cmd, ng_mesg::data, ng_vlan_table::filter, ng_mesg::header, ng_vlan_filter::hook_name, HOOK_VLAN_TAG_SET_MASK, IS_HOOK_VLAN_SET, ng_vlan_table::n, NG_COPYMESSAGE, ng_findhook(), NG_FREE_MSG, NG_HOOK_IS_VALID, NG_HOOK_NAME, NG_HOOK_NOT_VALID, NG_HOOK_PRIVATE, NG_HOOK_SET_PRIVATE, NG_HOOKSIZ, NG_MKRESPONSE, NG_NODE_PRIVATE, NG_RESPOND_MSG, NG_SEND_MSG_HOOK, NG_VLAN_USE_OLD_VLAN_NAME, NGI_GET_MSG, NGM_FLOW_COOKIE, NGM_VLAN_ADD_FILTER, NGM_VLAN_COOKIE, NGM_VLAN_DEL_FILTER, NGM_VLAN_DEL_VID_FLT, NGM_VLAN_GET_DECAP, NGM_VLAN_GET_ENCAP, NGM_VLAN_GET_ENCAP_PROTO, NGM_VLAN_GET_TABLE, NGM_VLAN_SET_DECAP, NGM_VLAN_SET_ENCAP, NGM_VLAN_SET_ENCAP_PROTO, ng_vlan_filter::pcp, ng_mesg::ng_msghdr::typecookie, ng_vlan_filter::vid, and ng_vlan_filter::vlan.
◆ ng_vlan_shutdown()
static int ng_vlan_shutdown |
( |
node_p |
node | ) |
|
|
static |
◆ ng_vlan_cmdlist
◆ ng_vlan_constructor
◆ ng_vlan_disconnect
◆ ng_vlan_filter_fields
Initial value:=
#define NG_VLAN_FILTER_FIELDS
Definition at line 76 of file ng_vlan.c.
◆ ng_vlan_filter_type
Initial value:= {
}
const struct ng_parse_type ng_parse_struct_type
static const struct ng_parse_struct_field ng_vlan_filter_fields[]
Definition at line 78 of file ng_vlan.c.
◆ ng_vlan_newhook
◆ ng_vlan_rcvdata
◆ ng_vlan_rcvmsg
◆ ng_vlan_shutdown
◆ ng_vlan_table_array_info
Initial value:= {
}
static int ng_vlan_getTableLength(const struct ng_parse_type *type, const u_char *start, const u_char *buf)
static const struct ng_parse_type ng_vlan_filter_type
Definition at line 94 of file ng_vlan.c.
◆ ng_vlan_table_array_type
Initial value:= {
}
const struct ng_parse_type ng_parse_array_type
static const struct ng_parse_array_info ng_vlan_table_array_info
Definition at line 98 of file ng_vlan.c.
◆ ng_vlan_table_fields
Initial value:=
#define NG_VLAN_TABLE_FIELDS
Definition at line 102 of file ng_vlan.c.
◆ ng_vlan_table_type
Initial value:= {
}
static const struct ng_parse_struct_field ng_vlan_table_fields[]
Definition at line 104 of file ng_vlan.c.
◆ ng_vlan_typestruct
Initial value:= {
}
static ng_disconnect_t ng_vlan_disconnect
static ng_shutdown_t ng_vlan_shutdown
static ng_rcvmsg_t ng_vlan_rcvmsg
static const struct ng_cmdlist ng_vlan_cmdlist[]
static ng_newhook_t ng_vlan_newhook
static ng_constructor_t ng_vlan_constructor
static ng_rcvdata_t ng_vlan_rcvdata
#define NG_VLAN_NODE_TYPE
Definition at line 184 of file ng_vlan.c.