#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/mbuf.h>
#include <sys/malloc.h>
#include <sys/ctype.h>
#include <sys/errno.h>
#include <sys/syslog.h>
#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/ip_var.h>
#include <netinet/tcp.h>
#include <machine/in_cksum.h>
#include <net/dlt.h>
#include <net/ethernet.h>
#include <netinet/libalias/alias.h>
#include <netinet/libalias/alias_local.h>
#include <netgraph/ng_message.h>
#include <netgraph/ng_parse.h>
#include <netgraph/ng_nat.h>
#include <netgraph/netgraph.h>
Go to the source code of this file.
|
static unsigned int | ng_nat_translate_flags (unsigned int x) |
|
static int | ng_nat_listrdrs_ary_getLength (const struct ng_parse_type *type, const u_char *start, const u_char *buf) |
|
| NETGRAPH_INIT (nat, &typestruct) |
|
| MODULE_DEPEND (ng_nat, libalias, 1, 1, 1) |
|
| STAILQ_HEAD (rdrhead, ng_nat_rdr_lst) |
|
static int | ng_nat_constructor (node_p node) |
|
static int | ng_nat_newhook (node_p node, hook_p hook, const char *name) |
|
static int | ng_nat_rcvmsg (node_p node, item_p item, hook_p lasthook) |
|
static int | ng_nat_rcvdata (hook_p hook, item_p item) |
|
static int | ng_nat_shutdown (node_p node) |
|
static int | ng_nat_disconnect (hook_p hook) |
|
◆ COPY
Value: do { \
if (
priv->lib->F >= 0 &&
priv->lib->F < UINT32_MAX) \
else \
i->F = UINT32_MAX; \
} while (0)
◆ NGNAT_ADDR_DEFINED
◆ NGNAT_CONNECTED
#define NGNAT_CONNECTED 0x1 /* We have both hooks connected */ |
◆ priv_p
◆ MODULE_DEPEND()
MODULE_DEPEND |
( |
ng_nat |
, |
|
|
libalias |
, |
|
|
1 |
, |
|
|
1 |
, |
|
|
1 |
|
|
) |
| |
◆ NETGRAPH_INIT()
NETGRAPH_INIT |
( |
nat |
, |
|
|
& |
typestruct |
|
) |
| |
◆ ng_nat_constructor()
static int ng_nat_constructor |
( |
node_p |
node | ) |
|
|
static |
◆ ng_nat_disconnect()
static int ng_nat_disconnect |
( |
hook_p |
hook | ) |
|
|
static |
◆ ng_nat_listrdrs_ary_getLength()
static int ng_nat_listrdrs_ary_getLength |
( |
const struct ng_parse_type * |
type, |
|
|
const u_char * |
start, |
|
|
const u_char * |
buf |
|
) |
| |
|
static |
◆ ng_nat_newhook()
static int ng_nat_newhook |
( |
node_p |
node, |
|
|
hook_p |
hook, |
|
|
const char * |
name |
|
) |
| |
|
static |
◆ ng_nat_rcvdata()
◆ ng_nat_rcvmsg()
Definition at line 359 of file ng_nat.c.
References ng_nat_add_server::addr, ng_nat_redirect_port::alias_addr, ng_nat_redirect_addr::alias_addr, ng_nat_redirect_proto::alias_addr, ng_nat_redirect_port::alias_port, ng_mesg::ng_msghdr::arglen, ng_mesg::ng_msghdr::cmd, COPY, ng_mesg::data, ng_nat_redirect_port::description, ng_nat_redirect_addr::description, ng_nat_redirect_proto::description, ng_nat_mode::flags, ng_nat_libalias_info::fragmentIdLinkCount, ng_nat_libalias_info::fragmentPtrLinkCount, ng_mesg::header, ng_nat_libalias_info::icmpLinkCount, ng_nat_add_server::id, ng_nat_redirect_port::local_addr, ng_nat_redirect_addr::local_addr, ng_nat_redirect_proto::local_addr, ng_nat_redirect_port::local_port, ng_nat_mode::mask, NG_FREE_MSG, NG_MKRESPONSE, NG_NAT_DESC_LENGTH, NG_NAT_REDIRPROTO_ADDR, ng_nat_translate_flags(), NG_NODE_PRIVATE, NG_RESPOND_MSG, NGI_GET_MSG, NGM_NAT_ADD_SERVER, NGM_NAT_COOKIE, NGM_NAT_GET_DLT, NGM_NAT_LIBALIAS_INFO, NGM_NAT_LIST_REDIRECTS, NGM_NAT_PROXY_RULE, NGM_NAT_REDIRECT_ADDR, NGM_NAT_REDIRECT_DELETE, NGM_NAT_REDIRECT_DYNAMIC, NGM_NAT_REDIRECT_PORT, NGM_NAT_REDIRECT_PROTO, NGM_NAT_SET_DLT, NGM_NAT_SET_IPADDR, NGM_NAT_SET_MODE, NGM_NAT_SET_TARGET, NGNAT_ADDR_DEFINED, ng_nat_priv::node, ng_nat_add_server::port, ng_nat_libalias_info::pptpLinkCount, ng_nat_redirect_port::proto, ng_nat_redirect_proto::proto, ng_nat_libalias_info::protoLinkCount, ng_nat_list_redirects::redirects, ng_nat_redirect_port::remote_addr, ng_nat_redirect_proto::remote_addr, ng_nat_redirect_port::remote_port, ng_nat_libalias_info::sctpLinkCount, ng_nat_libalias_info::sockCount, ng_nat_libalias_info::tcpLinkCount, ng_nat_list_redirects::total_count, ng_mesg::ng_msghdr::typecookie, and ng_nat_libalias_info::udpLinkCount.
◆ ng_nat_shutdown()
static int ng_nat_shutdown |
( |
node_p |
node | ) |
|
|
static |
◆ ng_nat_translate_flags()
static unsigned int ng_nat_translate_flags |
( |
unsigned int |
x | ) |
|
|
static |
◆ STAILQ_HEAD()
◆ ng_nat_add_server_fields
◆ ng_nat_add_server_type
Initial value:= {
}
static const struct ng_parse_struct_field ng_nat_add_server_fields[]
const struct ng_parse_type ng_parse_struct_type
Definition at line 110 of file ng_nat.c.
◆ ng_nat_cmdlist
◆ ng_nat_constructor
◆ ng_nat_description_info
◆ ng_nat_description_type
Initial value:= {
}
static const struct ng_parse_fixedstring_info ng_nat_description_info
const struct ng_parse_type ng_parse_fixedstring_type
Definition at line 78 of file ng_nat.c.
◆ ng_nat_disconnect
◆ ng_nat_libalias_info_fields
◆ ng_nat_libalias_info_type
Initial value:= {
}
static const struct ng_parse_struct_field ng_nat_libalias_info_fields[]
Definition at line 156 of file ng_nat.c.
◆ ng_nat_list_redirects_fields
◆ ng_nat_list_redirects_type
Initial value:= {
}
static const struct ng_parse_struct_field ng_nat_list_redirects_fields[]
Definition at line 148 of file ng_nat.c.
◆ ng_nat_listrdrs_ary_info
Initial value:= {
NULL
}
static int ng_nat_listrdrs_ary_getLength(const struct ng_parse_type *type, const u_char *start, const u_char *buf)
static const struct ng_parse_type ng_nat_listrdrs_entry_type
Definition at line 135 of file ng_nat.c.
◆ ng_nat_listrdrs_ary_type
Initial value:= {
}
static const struct ng_parse_array_info ng_nat_listrdrs_ary_info
const struct ng_parse_type ng_parse_array_type
Definition at line 140 of file ng_nat.c.
◆ ng_nat_listrdrs_entry_fields
◆ ng_nat_listrdrs_entry_type
Initial value:= {
}
static const struct ng_parse_struct_field ng_nat_listrdrs_entry_fields[]
Definition at line 118 of file ng_nat.c.
◆ ng_nat_mode_fields
◆ ng_nat_mode_type
Initial value:= {
}
static const struct ng_parse_struct_field ng_nat_mode_fields[]
Definition at line 70 of file ng_nat.c.
◆ ng_nat_newhook
◆ ng_nat_rcvdata
◆ ng_nat_rcvmsg
◆ ng_nat_redirect_addr_fields
◆ ng_nat_redirect_addr_type
Initial value:= {
}
static const struct ng_parse_struct_field ng_nat_redirect_addr_fields[]
Definition at line 94 of file ng_nat.c.
◆ ng_nat_redirect_port_fields
◆ ng_nat_redirect_port_type
Initial value:= {
}
static const struct ng_parse_struct_field ng_nat_redirect_port_fields[]
Definition at line 86 of file ng_nat.c.
◆ ng_nat_redirect_proto_fields
◆ ng_nat_redirect_proto_type
Initial value:= {
}
static const struct ng_parse_struct_field ng_nat_redirect_proto_fields[]
Definition at line 102 of file ng_nat.c.
◆ ng_nat_shutdown
◆ typestruct
Initial value:= {
}
static ng_disconnect_t ng_nat_disconnect
static const struct ng_cmdlist ng_nat_cmdlist[]
static ng_rcvdata_t ng_nat_rcvdata
static ng_rcvmsg_t ng_nat_rcvmsg
static ng_constructor_t ng_nat_constructor
static ng_shutdown_t ng_nat_shutdown
static ng_newhook_t ng_nat_newhook
Definition at line 265 of file ng_nat.c.