FreeBSD kernel IPv4 code
ip_fw.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _ip_fw3_opheader
 
struct  _ipfw_insn
 
struct  _ipfw_insn_u16
 
struct  _ipfw_insn_u32
 
struct  _ipfw_insn_ip
 
struct  _ipfw_insn_sa
 
struct  _ipfw_insn_sa6
 
struct  _ipfw_insn_mac
 
struct  _ipfw_insn_if
 
struct  _ipfw_insn_altq
 
struct  _ipfw_insn_limit
 
struct  _ipfw_insn_log
 
struct  nat44_cfg_spool
 
struct  nat44_cfg_redir
 
struct  nat44_cfg_nat
 
struct  _ipfw_insn_nat
 
struct  _ipfw_insn_ip6
 
struct  _ipfw_insn_icmp6
 
struct  ip_fw_rule
 
struct  ip_fw_bcounter
 
struct  ipfw_flow_id
 
struct  _ipfw_dyn_rule
 
struct  _ipfw_table_entry
 
struct  _ipfw_table_xentry
 
struct  _ipfw_table
 
struct  _ipfw_xtable
 
struct  _ipfw_obj_tlv
 
struct  _ipfw_obj_data
 
struct  _ipfw_obj_ntlv
 
struct  tflow_entry
 
struct  _ipfw_table_value
 
struct  _ipfw_obj_tentry
 
struct  _ipfw_obj_dyntlv
 
struct  _ipfw_obj_ctlv
 
struct  _ipfw_range_tlv
 
struct  _ipfw_ta_tinfo
 
struct  _ipfw_xtable_info
 
struct  _ipfw_iface_info
 
struct  _ipfw_ta_info
 
struct  _ipfw_obj_header
 
struct  _ipfw_obj_lheader
 
struct  _ipfw_cfg_lheader
 
struct  _ipfw_range_header
 
struct  _ipfw_sopt_info
 

Macros

#define IPFW_DEFAULT_RULE   65535
 
#define RESVD_SET   31 /*set for default and persistent rules*/
 
#define IPFW_MAX_SETS   32 /* Number of sets supported by ipfw*/
 
#define IPFW_ARG_MIN   1
 
#define IPFW_ARG_MAX   65534
 
#define IP_FW_TABLEARG   65535 /* Compat value for old clients */
 
#define IP_FW_TARG   0 /* Current tablearg value */
 
#define IP_FW_NAT44_GLOBAL   65535 /* arg1 value for "nat global" */
 
#define IPFW_CALLSTACK_SIZE   16
 
#define IP_FW_TABLE_XADD   86 /* add entry */
 
#define IP_FW_TABLE_XDEL   87 /* delete entry */
 
#define IP_FW_TABLE_XGETSIZE   88 /* get table size (deprecated) */
 
#define IP_FW_TABLE_XLIST   89 /* list table contents */
 
#define IP_FW_TABLE_XDESTROY   90 /* destroy table */
 
#define IP_FW_TABLES_XLIST   92 /* list all tables */
 
#define IP_FW_TABLE_XINFO   93 /* request info for one table */
 
#define IP_FW_TABLE_XFLUSH   94 /* flush table data */
 
#define IP_FW_TABLE_XCREATE   95 /* create new table */
 
#define IP_FW_TABLE_XMODIFY   96 /* modify existing table */
 
#define IP_FW_XGET   97 /* Retrieve configuration */
 
#define IP_FW_XADD   98 /* add rule */
 
#define IP_FW_XDEL   99 /* del rule */
 
#define IP_FW_XMOVE   100 /* move rules to different set */
 
#define IP_FW_XZERO   101 /* clear accounting */
 
#define IP_FW_XRESETLOG   102 /* zero rules logs */
 
#define IP_FW_SET_SWAP   103 /* Swap between 2 sets */
 
#define IP_FW_SET_MOVE   104 /* Move one set to another one */
 
#define IP_FW_SET_ENABLE   105 /* Enable/disable sets */
 
#define IP_FW_TABLE_XFIND   106 /* finds an entry */
 
#define IP_FW_XIFLIST   107 /* list tracked interfaces */
 
#define IP_FW_TABLES_ALIST   108 /* list table algorithms */
 
#define IP_FW_TABLE_XSWAP   109 /* swap two tables */
 
#define IP_FW_TABLE_VLIST   110 /* dump table value hash */
 
#define IP_FW_NAT44_XCONFIG   111 /* Create/modify NAT44 instance */
 
#define IP_FW_NAT44_DESTROY   112 /* Destroys NAT44 instance */
 
#define IP_FW_NAT44_XGETCONFIG   113 /* Get NAT44 instance config */
 
#define IP_FW_NAT44_LIST_NAT   114 /* List all NAT44 instances */
 
#define IP_FW_NAT44_XGETLOG   115 /* Get log from NAT44 instance */
 
#define IP_FW_DUMP_SOPTCODES   116 /* Dump available sopts/versions */
 
#define IP_FW_DUMP_SRVOBJECTS   117 /* Dump existing named objects */
 
#define IP_FW_NAT64STL_CREATE   130 /* Create stateless NAT64 instance */
 
#define IP_FW_NAT64STL_DESTROY   131 /* Destroy stateless NAT64 instance */
 
#define IP_FW_NAT64STL_CONFIG   132 /* Modify stateless NAT64 instance */
 
#define IP_FW_NAT64STL_LIST   133 /* List stateless NAT64 instances */
 
#define IP_FW_NAT64STL_STATS   134 /* Get NAT64STL instance statistics */
 
#define IP_FW_NAT64STL_RESET_STATS   135 /* Reset NAT64STL instance statistics */
 
#define IP_FW_NAT64LSN_CREATE   140 /* Create stateful NAT64 instance */
 
#define IP_FW_NAT64LSN_DESTROY   141 /* Destroy stateful NAT64 instance */
 
#define IP_FW_NAT64LSN_CONFIG   142 /* Modify stateful NAT64 instance */
 
#define IP_FW_NAT64LSN_LIST   143 /* List stateful NAT64 instances */
 
#define IP_FW_NAT64LSN_STATS   144 /* Get NAT64LSN instance statistics */
 
#define IP_FW_NAT64LSN_LIST_STATES   145 /* Get stateful NAT64 states */
 
#define IP_FW_NAT64LSN_RESET_STATS   146 /* Reset NAT64LSN instance statistics */
 
#define IP_FW_NPTV6_CREATE   150 /* Create NPTv6 instance */
 
#define IP_FW_NPTV6_DESTROY   151 /* Destroy NPTv6 instance */
 
#define IP_FW_NPTV6_CONFIG   152 /* Modify NPTv6 instance */
 
#define IP_FW_NPTV6_LIST   153 /* List NPTv6 instances */
 
#define IP_FW_NPTV6_STATS   154 /* Get NPTv6 instance statistics */
 
#define IP_FW_NPTV6_RESET_STATS   155 /* Reset NPTv6 instance statistics */
 
#define IP_FW_NAT64CLAT_CREATE   160 /* Create clat NAT64 instance */
 
#define IP_FW_NAT64CLAT_DESTROY   161 /* Destroy clat NAT64 instance */
 
#define IP_FW_NAT64CLAT_CONFIG   162 /* Modify clat NAT64 instance */
 
#define IP_FW_NAT64CLAT_LIST   163 /* List clat NAT64 instances */
 
#define IP_FW_NAT64CLAT_STATS   164 /* Get NAT64CLAT instance statistics */
 
#define IP_FW_NAT64CLAT_RESET_STATS   165 /* Reset NAT64CLAT instance statistics */
 
#define EXT_FRAGMENT   0x1
 
#define EXT_HOPOPTS   0x2
 
#define EXT_ROUTING   0x4
 
#define EXT_AH   0x8
 
#define EXT_ESP   0x10
 
#define EXT_DSTOPTS   0x20
 
#define EXT_RTHDR0   0x40
 
#define EXT_RTHDR2   0x80
 
#define F_NOT   0x80
 
#define F_OR   0x40
 
#define F_LEN_MASK   0x3f
 
#define F_LEN(cmd)   ((cmd)->len & F_LEN_MASK)
 
#define F_INSN_SIZE(t)   ((sizeof (t))/sizeof(u_int32_t))
 
#define DYN_SRC_ADDR   0x1
 
#define DYN_SRC_PORT   0x2
 
#define DYN_DST_ADDR   0x4
 
#define DYN_DST_PORT   0x8
 
#define NAT44_REDIR_ADDR   0x01
 
#define NAT44_REDIR_PORT   0x02
 
#define NAT44_REDIR_PROTO   0x04
 
#define APPLY_MASK(addr, mask)
 
#define IPFW_RULE_NOOPT   0x01 /* Has no options in body */
 
#define IPFW_RULE_JUSTOPTS   0x02 /* new format of rule body */
 
#define ACTION_PTR(rule)    (ipfw_insn *)( (u_int32_t *)((rule)->cmd) + ((rule)->act_ofs) )
 
#define RULESIZE(rule)   (sizeof(*(rule)) + (rule)->cmd_len * 4 - 4)
 
#define IS_IP4_FLOW_ID(id)   ((id)->addr_type == 4)
 
#define IS_IP6_FLOW_ID(id)   ((id)->addr_type == 6)
 
#define IPFW_DYN_ORPHANED   0x40000 /* state's parent rule was deleted */
 
#define IP_FW_IPOPT_LSRR   0x01
 
#define IP_FW_IPOPT_SSRR   0x02
 
#define IP_FW_IPOPT_RR   0x04
 
#define IP_FW_IPOPT_TS   0x08
 
#define IP_FW_TCPOPT_MSS   0x01
 
#define IP_FW_TCPOPT_WINDOW   0x02
 
#define IP_FW_TCPOPT_SACK   0x04
 
#define IP_FW_TCPOPT_TS   0x08
 
#define IP_FW_TCPOPT_CC   0x10
 
#define ICMP_REJECT_RST   0x100 /* fake ICMP code (send a TCP RST) */
 
#define ICMP6_UNREACH_RST   0x100 /* fake ICMPv6 code (send a TCP RST) */
 
#define ICMP_REJECT_ABORT   0x101 /* fake ICMP code (send an SCTP ABORT) */
 
#define ICMP6_UNREACH_ABORT   0x101 /* fake ICMPv6 code (send an SCTP ABORT) */
 
#define IPFW_TABLE_ADDR   1 /* Table for holding IPv4/IPv6 prefixes */
 
#define IPFW_TABLE_INTERFACE   2 /* Table for holding interface names */
 
#define IPFW_TABLE_NUMBER   3 /* Table for holding ports/uid/gid/etc */
 
#define IPFW_TABLE_FLOW   4 /* Table for holding flow data */
 
#define IPFW_TABLE_MAXTYPE   4 /* Maximum valid number */
 
#define IPFW_TABLE_CIDR   IPFW_TABLE_ADDR /* compat */
 
#define IPFW_VTYPE_LEGACY   0xFFFFFFFF /* All data is filled in */
 
#define IPFW_VTYPE_SKIPTO   0x00000001 /* skipto/call/callreturn */
 
#define IPFW_VTYPE_PIPE   0x00000002 /* pipe/queue */
 
#define IPFW_VTYPE_FIB   0x00000004 /* setfib */
 
#define IPFW_VTYPE_NAT   0x00000008 /* nat */
 
#define IPFW_VTYPE_DSCP   0x00000010 /* dscp */
 
#define IPFW_VTYPE_TAG   0x00000020 /* tag/untag */
 
#define IPFW_VTYPE_DIVERT   0x00000040 /* divert/tee */
 
#define IPFW_VTYPE_NETGRAPH   0x00000080 /* netgraph/ngtee */
 
#define IPFW_VTYPE_LIMIT   0x00000100 /* limit */
 
#define IPFW_VTYPE_NH4   0x00000200 /* IPv4 nexthop */
 
#define IPFW_VTYPE_NH6   0x00000400 /* IPv6 nexthop */
 
#define IPFW_TCF_INET   0x01 /* CIDR flags: IPv4 record */
 
#define IPFW_TLV_TBL_NAME   1
 
#define IPFW_TLV_TBLNAME_LIST   2
 
#define IPFW_TLV_RULE_LIST   3
 
#define IPFW_TLV_DYNSTATE_LIST   4
 
#define IPFW_TLV_TBL_ENT   5
 
#define IPFW_TLV_DYN_ENT   6
 
#define IPFW_TLV_RULE_ENT   7
 
#define IPFW_TLV_TBLENT_LIST   8
 
#define IPFW_TLV_RANGE   9
 
#define IPFW_TLV_EACTION   10
 
#define IPFW_TLV_COUNTERS   11
 
#define IPFW_TLV_OBJDATA   12
 
#define IPFW_TLV_STATE_NAME   14
 
#define IPFW_TLV_EACTION_BASE   1000
 
#define IPFW_TLV_EACTION_NAME(arg)   (IPFW_TLV_EACTION_BASE + (arg))
 
#define IPFW_TF_UPDATE   0x01 /* Update record if exists */
 
#define IPFW_CTF_ATOMIC   0x01 /* Perform atomic operation */
 
#define IPFW_TR_IGNORED   0 /* Entry was ignored (rollback) */
 
#define IPFW_TR_ADDED   1 /* Entry was successfully added */
 
#define IPFW_TR_UPDATED   2 /* Entry was successfully updated*/
 
#define IPFW_TR_DELETED   3 /* Entry was successfully deleted*/
 
#define IPFW_TR_LIMIT   4 /* Entry was ignored (limit) */
 
#define IPFW_TR_NOTFOUND   5 /* Entry was not found */
 
#define IPFW_TR_EXISTS   6 /* Entry already exists */
 
#define IPFW_TR_ERROR   7 /* Request has failed (unknown) */
 
#define IPFW_DF_LAST   0x01 /* Last state in chain */
 
#define IPFW_RCFLAG_RANGE   0x01 /* rule range is set */
 
#define IPFW_RCFLAG_ALL   0x02 /* match ALL rules */
 
#define IPFW_RCFLAG_SET   0x04 /* match rules in given set */
 
#define IPFW_RCFLAG_DYNAMIC   0x08 /* match only dynamic states */
 
#define IPFW_RCFLAG_USER
 
#define IPFW_RCFLAG_DEFAULT   0x0100 /* Do not skip defaul rule */
 
#define IPFW_TACLASS_HASH   1 /* algo is based on hash */
 
#define IPFW_TACLASS_ARRAY   2 /* algo is based on array */
 
#define IPFW_TACLASS_RADIX   3 /* algo is based on radix tree */
 
#define IPFW_TATFLAGS_DATA   0x0001 /* Has data filled in */
 
#define IPFW_TATFLAGS_AFDATA   0x0002 /* Separate data per AF */
 
#define IPFW_TATFLAGS_AFITEM   0x0004 /* diff. items per AF */
 
#define IPFW_TGFLAGS_LOCKED   0x01 /* Tables is locked from changes*/
 
#define IPFW_TFFLAG_SRCIP   0x01
 
#define IPFW_TFFLAG_DSTIP   0x02
 
#define IPFW_TFFLAG_SRCPORT   0x04
 
#define IPFW_TFFLAG_DSTPORT   0x08
 
#define IPFW_TFFLAG_PROTO   0x10
 
#define IPFW_TMFLAGS_LIMIT   0x0002 /* Change limit value */
 
#define IPFW_TMFLAGS_LOCK   0x0004 /* Change table lock state */
 
#define IPFW_IFFLAG_RESOLVED   0x01 /* Interface exists */
 
#define IPFW_CFG_GET_STATIC   0x01
 
#define IPFW_CFG_GET_STATES   0x02
 
#define IPFW_CFG_GET_COUNTERS   0x04
 

Typedefs

typedef struct _ip_fw3_opheader ip_fw3_opheader
 
typedef struct _ipfw_insn ipfw_insn
 
typedef struct _ipfw_insn_u16 ipfw_insn_u16
 
typedef struct _ipfw_insn_u32 ipfw_insn_u32
 
typedef struct _ipfw_insn_ip ipfw_insn_ip
 
typedef struct _ipfw_insn_sa ipfw_insn_sa
 
typedef struct _ipfw_insn_sa6 ipfw_insn_sa6
 
typedef struct _ipfw_insn_mac ipfw_insn_mac
 
typedef struct _ipfw_insn_if ipfw_insn_if
 
typedef struct _ipfw_insn_altq ipfw_insn_altq
 
typedef struct _ipfw_insn_limit ipfw_insn_limit
 
typedef struct _ipfw_insn_log ipfw_insn_log
 
typedef struct _ipfw_insn_nat ipfw_insn_nat
 
typedef struct _ipfw_insn_ip6 ipfw_insn_ip6
 
typedef struct _ipfw_insn_icmp6 ipfw_insn_icmp6
 
typedef struct _ipfw_dyn_rule ipfw_dyn_rule
 
typedef struct _ipfw_table_entry ipfw_table_entry
 
typedef struct _ipfw_table_xentry ipfw_table_xentry
 
typedef struct _ipfw_table ipfw_table
 
typedef struct _ipfw_xtable ipfw_xtable
 
typedef struct _ipfw_obj_tlv ipfw_obj_tlv
 
typedef struct _ipfw_obj_data ipfw_obj_data
 
typedef struct _ipfw_obj_ntlv ipfw_obj_ntlv
 
typedef struct _ipfw_table_value ipfw_table_value
 
typedef struct _ipfw_obj_tentry ipfw_obj_tentry
 
typedef struct _ipfw_obj_dyntlv ipfw_obj_dyntlv
 
typedef struct _ipfw_obj_ctlv ipfw_obj_ctlv
 
typedef struct _ipfw_range_tlv ipfw_range_tlv
 
typedef struct _ipfw_ta_tinfo ipfw_ta_tinfo
 
typedef struct _ipfw_xtable_info ipfw_xtable_info
 
typedef struct _ipfw_iface_info ipfw_iface_info
 
typedef struct _ipfw_ta_info ipfw_ta_info
 
typedef struct _ipfw_obj_header ipfw_obj_header
 
typedef struct _ipfw_obj_lheader ipfw_obj_lheader
 
typedef struct _ipfw_cfg_lheader ipfw_cfg_lheader
 
typedef struct _ipfw_range_header ipfw_range_header
 
typedef struct _ipfw_sopt_info ipfw_sopt_info
 

Enumerations

enum  ipfw_opcodes {
  O_NOP , O_IP_SRC , O_IP_SRC_MASK , O_IP_SRC_ME ,
  O_IP_SRC_SET , O_IP_DST , O_IP_DST_MASK , O_IP_DST_ME ,
  O_IP_DST_SET , O_IP_SRCPORT , O_IP_DSTPORT , O_PROTO ,
  O_MACADDR2 , O_MAC_TYPE , O_LAYER2 , O_IN ,
  O_FRAG , O_RECV , O_XMIT , O_VIA ,
  O_IPOPT , O_IPLEN , O_IPID , O_IPTOS ,
  O_IPPRECEDENCE , O_IPTTL , O_IPVER , O_UID ,
  O_GID , O_ESTAB , O_TCPFLAGS , O_TCPWIN ,
  O_TCPSEQ , O_TCPACK , O_ICMPTYPE , O_TCPOPTS ,
  O_VERREVPATH , O_VERSRCREACH , O_PROBE_STATE , O_KEEP_STATE ,
  O_LIMIT , O_LIMIT_PARENT , O_LOG , O_PROB ,
  O_CHECK_STATE , O_ACCEPT , O_DENY , O_REJECT ,
  O_COUNT , O_SKIPTO , O_PIPE , O_QUEUE ,
  O_DIVERT , O_TEE , O_FORWARD_IP , O_FORWARD_MAC ,
  O_NAT , O_REASS , O_IPSEC , O_IP_SRC_LOOKUP ,
  O_IP_DST_LOOKUP , O_ANTISPOOF , O_JAIL , O_ALTQ ,
  O_DIVERTED , O_TCPDATALEN , O_IP6_SRC , O_IP6_SRC_ME ,
  O_IP6_SRC_MASK , O_IP6_DST , O_IP6_DST_ME , O_IP6_DST_MASK ,
  O_FLOW6ID , O_ICMP6TYPE , O_EXT_HDR , O_IP6 ,
  O_NETGRAPH , O_NGTEE , O_IP4 , O_UNREACH6 ,
  O_TAG , O_TAGGED , O_SETFIB , O_FIB ,
  O_SOCKARG , O_CALLRETURN , O_FORWARD_IP6 , O_DSCP ,
  O_SETDSCP , O_IP_FLOW_LOOKUP , O_EXTERNAL_ACTION , O_EXTERNAL_INSTANCE ,
  O_EXTERNAL_DATA , O_SKIP_ACTION , O_TCPMSS , O_LAST_OPCODE
}
 

Functions

struct _ipfw_dyn_rule __aligned (8)
 

Variables

ipfw_dyn_rulenext
 
struct ip_fw * rule
 
ipfw_dyn_ruleparent
 
u_int64_t pcnt
 
u_int64_t bcnt
 
struct ipfw_flow_id id
 
u_int32_t expire
 
u_int32_t bucket
 
u_int32_t state
 
u_int32_t ack_fwd
 
u_int32_t ack_rev
 
u_int16_t dyn_type
 
u_int16_t count
 
u_int16_t kidx
 

Macro Definition Documentation

◆ ACTION_PTR

#define ACTION_PTR (   rule)     (ipfw_insn *)( (u_int32_t *)((rule)->cmd) + ((rule)->act_ofs) )

Definition at line 667 of file ip_fw.h.

◆ APPLY_MASK

#define APPLY_MASK (   addr,
  mask 
)
Value:
do { \
(addr)->__u6_addr.__u6_addr32[0] &= (mask)->__u6_addr.__u6_addr32[0]; \
(addr)->__u6_addr.__u6_addr32[1] &= (mask)->__u6_addr.__u6_addr32[1]; \
(addr)->__u6_addr.__u6_addr32[2] &= (mask)->__u6_addr.__u6_addr32[2]; \
(addr)->__u6_addr.__u6_addr32[3] &= (mask)->__u6_addr.__u6_addr32[3]; \
} while (0)

Definition at line 563 of file ip_fw.h.

◆ DYN_DST_ADDR

#define DYN_DST_ADDR   0x4

Definition at line 439 of file ip_fw.h.

◆ DYN_DST_PORT

#define DYN_DST_PORT   0x8

Definition at line 440 of file ip_fw.h.

◆ DYN_SRC_ADDR

#define DYN_SRC_ADDR   0x1

Definition at line 437 of file ip_fw.h.

◆ DYN_SRC_PORT

#define DYN_SRC_PORT   0x2

Definition at line 438 of file ip_fw.h.

◆ EXT_AH

#define EXT_AH   0x8

Definition at line 308 of file ip_fw.h.

◆ EXT_DSTOPTS

#define EXT_DSTOPTS   0x20

Definition at line 310 of file ip_fw.h.

◆ EXT_ESP

#define EXT_ESP   0x10

Definition at line 309 of file ip_fw.h.

◆ EXT_FRAGMENT

#define EXT_FRAGMENT   0x1

Definition at line 305 of file ip_fw.h.

◆ EXT_HOPOPTS

#define EXT_HOPOPTS   0x2

Definition at line 306 of file ip_fw.h.

◆ EXT_ROUTING

#define EXT_ROUTING   0x4

Definition at line 307 of file ip_fw.h.

◆ EXT_RTHDR0

#define EXT_RTHDR0   0x40

Definition at line 311 of file ip_fw.h.

◆ EXT_RTHDR2

#define EXT_RTHDR2   0x80

Definition at line 312 of file ip_fw.h.

◆ F_INSN_SIZE

#define F_INSN_SIZE (   t)    ((sizeof (t))/sizeof(u_int32_t))

Definition at line 356 of file ip_fw.h.

◆ F_LEN

#define F_LEN (   cmd)    ((cmd)->len & F_LEN_MASK)

Definition at line 347 of file ip_fw.h.

◆ F_LEN_MASK

#define F_LEN_MASK   0x3f

Definition at line 346 of file ip_fw.h.

◆ F_NOT

#define F_NOT   0x80

Definition at line 344 of file ip_fw.h.

◆ F_OR

#define F_OR   0x40

Definition at line 345 of file ip_fw.h.

◆ ICMP6_UNREACH_ABORT

#define ICMP6_UNREACH_ABORT   0x101 /* fake ICMPv6 code (send an SCTP ABORT) */

Definition at line 747 of file ip_fw.h.

◆ ICMP6_UNREACH_RST

#define ICMP6_UNREACH_RST   0x100 /* fake ICMPv6 code (send a TCP RST) */

Definition at line 745 of file ip_fw.h.

◆ ICMP_REJECT_ABORT

#define ICMP_REJECT_ABORT   0x101 /* fake ICMP code (send an SCTP ABORT) */

Definition at line 746 of file ip_fw.h.

◆ ICMP_REJECT_RST

#define ICMP_REJECT_RST   0x100 /* fake ICMP code (send a TCP RST) */

Definition at line 744 of file ip_fw.h.

◆ IP_FW_DUMP_SOPTCODES

#define IP_FW_DUMP_SOPTCODES   116 /* Dump available sopts/versions */

Definition at line 112 of file ip_fw.h.

◆ IP_FW_DUMP_SRVOBJECTS

#define IP_FW_DUMP_SRVOBJECTS   117 /* Dump existing named objects */

Definition at line 113 of file ip_fw.h.

◆ IP_FW_IPOPT_LSRR

#define IP_FW_IPOPT_LSRR   0x01

Definition at line 730 of file ip_fw.h.

◆ IP_FW_IPOPT_RR

#define IP_FW_IPOPT_RR   0x04

Definition at line 732 of file ip_fw.h.

◆ IP_FW_IPOPT_SSRR

#define IP_FW_IPOPT_SSRR   0x02

Definition at line 731 of file ip_fw.h.

◆ IP_FW_IPOPT_TS

#define IP_FW_IPOPT_TS   0x08

Definition at line 733 of file ip_fw.h.

◆ IP_FW_NAT44_DESTROY

#define IP_FW_NAT44_DESTROY   112 /* Destroys NAT44 instance */

Definition at line 107 of file ip_fw.h.

◆ IP_FW_NAT44_GLOBAL

#define IP_FW_NAT44_GLOBAL   65535 /* arg1 value for "nat global" */

Definition at line 65 of file ip_fw.h.

◆ IP_FW_NAT44_LIST_NAT

#define IP_FW_NAT44_LIST_NAT   114 /* List all NAT44 instances */

Definition at line 109 of file ip_fw.h.

◆ IP_FW_NAT44_XCONFIG

#define IP_FW_NAT44_XCONFIG   111 /* Create/modify NAT44 instance */

Definition at line 106 of file ip_fw.h.

◆ IP_FW_NAT44_XGETCONFIG

#define IP_FW_NAT44_XGETCONFIG   113 /* Get NAT44 instance config */

Definition at line 108 of file ip_fw.h.

◆ IP_FW_NAT44_XGETLOG

#define IP_FW_NAT44_XGETLOG   115 /* Get log from NAT44 instance */

Definition at line 110 of file ip_fw.h.

◆ IP_FW_NAT64CLAT_CONFIG

#define IP_FW_NAT64CLAT_CONFIG   162 /* Modify clat NAT64 instance */

Definition at line 139 of file ip_fw.h.

◆ IP_FW_NAT64CLAT_CREATE

#define IP_FW_NAT64CLAT_CREATE   160 /* Create clat NAT64 instance */

Definition at line 137 of file ip_fw.h.

◆ IP_FW_NAT64CLAT_DESTROY

#define IP_FW_NAT64CLAT_DESTROY   161 /* Destroy clat NAT64 instance */

Definition at line 138 of file ip_fw.h.

◆ IP_FW_NAT64CLAT_LIST

#define IP_FW_NAT64CLAT_LIST   163 /* List clat NAT64 instances */

Definition at line 140 of file ip_fw.h.

◆ IP_FW_NAT64CLAT_RESET_STATS

#define IP_FW_NAT64CLAT_RESET_STATS   165 /* Reset NAT64CLAT instance statistics */

Definition at line 142 of file ip_fw.h.

◆ IP_FW_NAT64CLAT_STATS

#define IP_FW_NAT64CLAT_STATS   164 /* Get NAT64CLAT instance statistics */

Definition at line 141 of file ip_fw.h.

◆ IP_FW_NAT64LSN_CONFIG

#define IP_FW_NAT64LSN_CONFIG   142 /* Modify stateful NAT64 instance */

Definition at line 124 of file ip_fw.h.

◆ IP_FW_NAT64LSN_CREATE

#define IP_FW_NAT64LSN_CREATE   140 /* Create stateful NAT64 instance */

Definition at line 122 of file ip_fw.h.

◆ IP_FW_NAT64LSN_DESTROY

#define IP_FW_NAT64LSN_DESTROY   141 /* Destroy stateful NAT64 instance */

Definition at line 123 of file ip_fw.h.

◆ IP_FW_NAT64LSN_LIST

#define IP_FW_NAT64LSN_LIST   143 /* List stateful NAT64 instances */

Definition at line 125 of file ip_fw.h.

◆ IP_FW_NAT64LSN_LIST_STATES

#define IP_FW_NAT64LSN_LIST_STATES   145 /* Get stateful NAT64 states */

Definition at line 127 of file ip_fw.h.

◆ IP_FW_NAT64LSN_RESET_STATS

#define IP_FW_NAT64LSN_RESET_STATS   146 /* Reset NAT64LSN instance statistics */

Definition at line 128 of file ip_fw.h.

◆ IP_FW_NAT64LSN_STATS

#define IP_FW_NAT64LSN_STATS   144 /* Get NAT64LSN instance statistics */

Definition at line 126 of file ip_fw.h.

◆ IP_FW_NAT64STL_CONFIG

#define IP_FW_NAT64STL_CONFIG   132 /* Modify stateless NAT64 instance */

Definition at line 117 of file ip_fw.h.

◆ IP_FW_NAT64STL_CREATE

#define IP_FW_NAT64STL_CREATE   130 /* Create stateless NAT64 instance */

Definition at line 115 of file ip_fw.h.

◆ IP_FW_NAT64STL_DESTROY

#define IP_FW_NAT64STL_DESTROY   131 /* Destroy stateless NAT64 instance */

Definition at line 116 of file ip_fw.h.

◆ IP_FW_NAT64STL_LIST

#define IP_FW_NAT64STL_LIST   133 /* List stateless NAT64 instances */

Definition at line 118 of file ip_fw.h.

◆ IP_FW_NAT64STL_RESET_STATS

#define IP_FW_NAT64STL_RESET_STATS   135 /* Reset NAT64STL instance statistics */

Definition at line 120 of file ip_fw.h.

◆ IP_FW_NAT64STL_STATS

#define IP_FW_NAT64STL_STATS   134 /* Get NAT64STL instance statistics */

Definition at line 119 of file ip_fw.h.

◆ IP_FW_NPTV6_CONFIG

#define IP_FW_NPTV6_CONFIG   152 /* Modify NPTv6 instance */

Definition at line 132 of file ip_fw.h.

◆ IP_FW_NPTV6_CREATE

#define IP_FW_NPTV6_CREATE   150 /* Create NPTv6 instance */

Definition at line 130 of file ip_fw.h.

◆ IP_FW_NPTV6_DESTROY

#define IP_FW_NPTV6_DESTROY   151 /* Destroy NPTv6 instance */

Definition at line 131 of file ip_fw.h.

◆ IP_FW_NPTV6_LIST

#define IP_FW_NPTV6_LIST   153 /* List NPTv6 instances */

Definition at line 133 of file ip_fw.h.

◆ IP_FW_NPTV6_RESET_STATS

#define IP_FW_NPTV6_RESET_STATS   155 /* Reset NPTv6 instance statistics */

Definition at line 135 of file ip_fw.h.

◆ IP_FW_NPTV6_STATS

#define IP_FW_NPTV6_STATS   154 /* Get NPTv6 instance statistics */

Definition at line 134 of file ip_fw.h.

◆ IP_FW_SET_ENABLE

#define IP_FW_SET_ENABLE   105 /* Enable/disable sets */

Definition at line 99 of file ip_fw.h.

◆ IP_FW_SET_MOVE

#define IP_FW_SET_MOVE   104 /* Move one set to another one */

Definition at line 98 of file ip_fw.h.

◆ IP_FW_SET_SWAP

#define IP_FW_SET_SWAP   103 /* Swap between 2 sets */

Definition at line 97 of file ip_fw.h.

◆ IP_FW_TABLE_VLIST

#define IP_FW_TABLE_VLIST   110 /* dump table value hash */

Definition at line 104 of file ip_fw.h.

◆ IP_FW_TABLE_XADD

#define IP_FW_TABLE_XADD   86 /* add entry */

Definition at line 81 of file ip_fw.h.

◆ IP_FW_TABLE_XCREATE

#define IP_FW_TABLE_XCREATE   95 /* create new table */

Definition at line 89 of file ip_fw.h.

◆ IP_FW_TABLE_XDEL

#define IP_FW_TABLE_XDEL   87 /* delete entry */

Definition at line 82 of file ip_fw.h.

◆ IP_FW_TABLE_XDESTROY

#define IP_FW_TABLE_XDESTROY   90 /* destroy table */

Definition at line 85 of file ip_fw.h.

◆ IP_FW_TABLE_XFIND

#define IP_FW_TABLE_XFIND   106 /* finds an entry */

Definition at line 100 of file ip_fw.h.

◆ IP_FW_TABLE_XFLUSH

#define IP_FW_TABLE_XFLUSH   94 /* flush table data */

Definition at line 88 of file ip_fw.h.

◆ IP_FW_TABLE_XGETSIZE

#define IP_FW_TABLE_XGETSIZE   88 /* get table size (deprecated) */

Definition at line 83 of file ip_fw.h.

◆ IP_FW_TABLE_XINFO

#define IP_FW_TABLE_XINFO   93 /* request info for one table */

Definition at line 87 of file ip_fw.h.

◆ IP_FW_TABLE_XLIST

#define IP_FW_TABLE_XLIST   89 /* list table contents */

Definition at line 84 of file ip_fw.h.

◆ IP_FW_TABLE_XMODIFY

#define IP_FW_TABLE_XMODIFY   96 /* modify existing table */

Definition at line 90 of file ip_fw.h.

◆ IP_FW_TABLE_XSWAP

#define IP_FW_TABLE_XSWAP   109 /* swap two tables */

Definition at line 103 of file ip_fw.h.

◆ IP_FW_TABLEARG

#define IP_FW_TABLEARG   65535 /* Compat value for old clients */

Definition at line 63 of file ip_fw.h.

◆ IP_FW_TABLES_ALIST

#define IP_FW_TABLES_ALIST   108 /* list table algorithms */

Definition at line 102 of file ip_fw.h.

◆ IP_FW_TABLES_XLIST

#define IP_FW_TABLES_XLIST   92 /* list all tables */

Definition at line 86 of file ip_fw.h.

◆ IP_FW_TARG

#define IP_FW_TARG   0 /* Current tablearg value */

Definition at line 64 of file ip_fw.h.

◆ IP_FW_TCPOPT_CC

#define IP_FW_TCPOPT_CC   0x10

Definition at line 742 of file ip_fw.h.

◆ IP_FW_TCPOPT_MSS

#define IP_FW_TCPOPT_MSS   0x01

Definition at line 738 of file ip_fw.h.

◆ IP_FW_TCPOPT_SACK

#define IP_FW_TCPOPT_SACK   0x04

Definition at line 740 of file ip_fw.h.

◆ IP_FW_TCPOPT_TS

#define IP_FW_TCPOPT_TS   0x08

Definition at line 741 of file ip_fw.h.

◆ IP_FW_TCPOPT_WINDOW

#define IP_FW_TCPOPT_WINDOW   0x02

Definition at line 739 of file ip_fw.h.

◆ IP_FW_XADD

#define IP_FW_XADD   98 /* add rule */

Definition at line 92 of file ip_fw.h.

◆ IP_FW_XDEL

#define IP_FW_XDEL   99 /* del rule */

Definition at line 93 of file ip_fw.h.

◆ IP_FW_XGET

#define IP_FW_XGET   97 /* Retrieve configuration */

Definition at line 91 of file ip_fw.h.

◆ IP_FW_XIFLIST

#define IP_FW_XIFLIST   107 /* list tracked interfaces */

Definition at line 101 of file ip_fw.h.

◆ IP_FW_XMOVE

#define IP_FW_XMOVE   100 /* move rules to different set */

Definition at line 94 of file ip_fw.h.

◆ IP_FW_XRESETLOG

#define IP_FW_XRESETLOG   102 /* zero rules logs */

Definition at line 96 of file ip_fw.h.

◆ IP_FW_XZERO

#define IP_FW_XZERO   101 /* clear accounting */

Definition at line 95 of file ip_fw.h.

◆ IPFW_ARG_MAX

#define IPFW_ARG_MAX   65534

Definition at line 62 of file ip_fw.h.

◆ IPFW_ARG_MIN

#define IPFW_ARG_MIN   1

Definition at line 61 of file ip_fw.h.

◆ IPFW_CALLSTACK_SIZE

#define IPFW_CALLSTACK_SIZE   16

Definition at line 71 of file ip_fw.h.

◆ IPFW_CFG_GET_COUNTERS

#define IPFW_CFG_GET_COUNTERS   0x04

Definition at line 1045 of file ip_fw.h.

◆ IPFW_CFG_GET_STATES

#define IPFW_CFG_GET_STATES   0x02

Definition at line 1044 of file ip_fw.h.

◆ IPFW_CFG_GET_STATIC

#define IPFW_CFG_GET_STATIC   0x01

Definition at line 1043 of file ip_fw.h.

◆ IPFW_CTF_ATOMIC

#define IPFW_CTF_ATOMIC   0x01 /* Perform atomic operation */

Definition at line 911 of file ip_fw.h.

◆ IPFW_DEFAULT_RULE

#define IPFW_DEFAULT_RULE   65535

Definition at line 39 of file ip_fw.h.

◆ IPFW_DF_LAST

#define IPFW_DF_LAST   0x01 /* Last state in chain */

Definition at line 926 of file ip_fw.h.

◆ IPFW_DYN_ORPHANED

#define IPFW_DYN_ORPHANED   0x40000 /* state's parent rule was deleted */

Definition at line 13 of file ip_fw.h.

◆ IPFW_IFFLAG_RESOLVED

#define IPFW_IFFLAG_RESOLVED   0x01 /* Interface exists */

Definition at line 1015 of file ip_fw.h.

◆ IPFW_MAX_SETS

#define IPFW_MAX_SETS   32 /* Number of sets supported by ipfw*/

Definition at line 42 of file ip_fw.h.

◆ IPFW_RCFLAG_ALL

#define IPFW_RCFLAG_ALL   0x02 /* match ALL rules */

Definition at line 947 of file ip_fw.h.

◆ IPFW_RCFLAG_DEFAULT

#define IPFW_RCFLAG_DEFAULT   0x0100 /* Do not skip defaul rule */

Definition at line 954 of file ip_fw.h.

◆ IPFW_RCFLAG_DYNAMIC

#define IPFW_RCFLAG_DYNAMIC   0x08 /* match only dynamic states */

Definition at line 949 of file ip_fw.h.

◆ IPFW_RCFLAG_RANGE

#define IPFW_RCFLAG_RANGE   0x01 /* rule range is set */

Definition at line 946 of file ip_fw.h.

◆ IPFW_RCFLAG_SET

#define IPFW_RCFLAG_SET   0x04 /* match rules in given set */

Definition at line 948 of file ip_fw.h.

◆ IPFW_RCFLAG_USER

#define IPFW_RCFLAG_USER
Value:
IPFW_RCFLAG_SET | IPFW_RCFLAG_DYNAMIC)
#define IPFW_RCFLAG_RANGE
Definition: ip_fw.h:946
#define IPFW_RCFLAG_ALL
Definition: ip_fw.h:947
#define IPFW_RCFLAG_DYNAMIC
Definition: ip_fw.h:949

Definition at line 951 of file ip_fw.h.

◆ IPFW_RULE_JUSTOPTS

#define IPFW_RULE_JUSTOPTS   0x02 /* new format of rule body */

Definition at line 628 of file ip_fw.h.

◆ IPFW_RULE_NOOPT

#define IPFW_RULE_NOOPT   0x01 /* Has no options in body */

Definition at line 627 of file ip_fw.h.

◆ IPFW_TABLE_ADDR

#define IPFW_TABLE_ADDR   1 /* Table for holding IPv4/IPv6 prefixes */

Definition at line 753 of file ip_fw.h.

◆ IPFW_TABLE_CIDR

#define IPFW_TABLE_CIDR   IPFW_TABLE_ADDR /* compat */

Definition at line 759 of file ip_fw.h.

◆ IPFW_TABLE_FLOW

#define IPFW_TABLE_FLOW   4 /* Table for holding flow data */

Definition at line 756 of file ip_fw.h.

◆ IPFW_TABLE_INTERFACE

#define IPFW_TABLE_INTERFACE   2 /* Table for holding interface names */

Definition at line 754 of file ip_fw.h.

◆ IPFW_TABLE_MAXTYPE

#define IPFW_TABLE_MAXTYPE   4 /* Maximum valid number */

Definition at line 757 of file ip_fw.h.

◆ IPFW_TABLE_NUMBER

#define IPFW_TABLE_NUMBER   3 /* Table for holding ports/uid/gid/etc */

Definition at line 755 of file ip_fw.h.

◆ IPFW_TACLASS_ARRAY

#define IPFW_TACLASS_ARRAY   2 /* algo is based on array */

Definition at line 971 of file ip_fw.h.

◆ IPFW_TACLASS_HASH

#define IPFW_TACLASS_HASH   1 /* algo is based on hash */

Definition at line 970 of file ip_fw.h.

◆ IPFW_TACLASS_RADIX

#define IPFW_TACLASS_RADIX   3 /* algo is based on radix tree */

Definition at line 972 of file ip_fw.h.

◆ IPFW_TATFLAGS_AFDATA

#define IPFW_TATFLAGS_AFDATA   0x0002 /* Separate data per AF */

Definition at line 975 of file ip_fw.h.

◆ IPFW_TATFLAGS_AFITEM

#define IPFW_TATFLAGS_AFITEM   0x0004 /* diff. items per AF */

Definition at line 976 of file ip_fw.h.

◆ IPFW_TATFLAGS_DATA

#define IPFW_TATFLAGS_DATA   0x0001 /* Has data filled in */

Definition at line 974 of file ip_fw.h.

◆ IPFW_TCF_INET

#define IPFW_TCF_INET   0x01 /* CIDR flags: IPv4 record */

Definition at line 795 of file ip_fw.h.

◆ IPFW_TF_UPDATE

#define IPFW_TF_UPDATE   0x01 /* Update record if exists */

Definition at line 909 of file ip_fw.h.

◆ IPFW_TFFLAG_DSTIP

#define IPFW_TFFLAG_DSTIP   0x02

Definition at line 999 of file ip_fw.h.

◆ IPFW_TFFLAG_DSTPORT

#define IPFW_TFFLAG_DSTPORT   0x08

Definition at line 1001 of file ip_fw.h.

◆ IPFW_TFFLAG_PROTO

#define IPFW_TFFLAG_PROTO   0x10

Definition at line 1002 of file ip_fw.h.

◆ IPFW_TFFLAG_SRCIP

#define IPFW_TFFLAG_SRCIP   0x01

Definition at line 998 of file ip_fw.h.

◆ IPFW_TFFLAG_SRCPORT

#define IPFW_TFFLAG_SRCPORT   0x04

Definition at line 1000 of file ip_fw.h.

◆ IPFW_TGFLAGS_LOCKED

#define IPFW_TGFLAGS_LOCKED   0x01 /* Tables is locked from changes*/

Definition at line 996 of file ip_fw.h.

◆ IPFW_TLV_COUNTERS

#define IPFW_TLV_COUNTERS   11

Definition at line 828 of file ip_fw.h.

◆ IPFW_TLV_DYN_ENT

#define IPFW_TLV_DYN_ENT   6

Definition at line 823 of file ip_fw.h.

◆ IPFW_TLV_DYNSTATE_LIST

#define IPFW_TLV_DYNSTATE_LIST   4

Definition at line 821 of file ip_fw.h.

◆ IPFW_TLV_EACTION

#define IPFW_TLV_EACTION   10

Definition at line 827 of file ip_fw.h.

◆ IPFW_TLV_EACTION_BASE

#define IPFW_TLV_EACTION_BASE   1000

Definition at line 832 of file ip_fw.h.

◆ IPFW_TLV_EACTION_NAME

#define IPFW_TLV_EACTION_NAME (   arg)    (IPFW_TLV_EACTION_BASE + (arg))

Definition at line 833 of file ip_fw.h.

◆ IPFW_TLV_OBJDATA

#define IPFW_TLV_OBJDATA   12

Definition at line 829 of file ip_fw.h.

◆ IPFW_TLV_RANGE

#define IPFW_TLV_RANGE   9

Definition at line 826 of file ip_fw.h.

◆ IPFW_TLV_RULE_ENT

#define IPFW_TLV_RULE_ENT   7

Definition at line 824 of file ip_fw.h.

◆ IPFW_TLV_RULE_LIST

#define IPFW_TLV_RULE_LIST   3

Definition at line 820 of file ip_fw.h.

◆ IPFW_TLV_STATE_NAME

#define IPFW_TLV_STATE_NAME   14

Definition at line 830 of file ip_fw.h.

◆ IPFW_TLV_TBL_ENT

#define IPFW_TLV_TBL_ENT   5

Definition at line 822 of file ip_fw.h.

◆ IPFW_TLV_TBL_NAME

#define IPFW_TLV_TBL_NAME   1

Definition at line 818 of file ip_fw.h.

◆ IPFW_TLV_TBLENT_LIST

#define IPFW_TLV_TBLENT_LIST   8

Definition at line 825 of file ip_fw.h.

◆ IPFW_TLV_TBLNAME_LIST

#define IPFW_TLV_TBLNAME_LIST   2

Definition at line 819 of file ip_fw.h.

◆ IPFW_TMFLAGS_LIMIT

#define IPFW_TMFLAGS_LIMIT   0x0002 /* Change limit value */

Definition at line 1004 of file ip_fw.h.

◆ IPFW_TMFLAGS_LOCK

#define IPFW_TMFLAGS_LOCK   0x0004 /* Change table lock state */

Definition at line 1005 of file ip_fw.h.

◆ IPFW_TR_ADDED

#define IPFW_TR_ADDED   1 /* Entry was successfully added */

Definition at line 914 of file ip_fw.h.

◆ IPFW_TR_DELETED

#define IPFW_TR_DELETED   3 /* Entry was successfully deleted*/

Definition at line 916 of file ip_fw.h.

◆ IPFW_TR_ERROR

#define IPFW_TR_ERROR   7 /* Request has failed (unknown) */

Definition at line 920 of file ip_fw.h.

◆ IPFW_TR_EXISTS

#define IPFW_TR_EXISTS   6 /* Entry already exists */

Definition at line 919 of file ip_fw.h.

◆ IPFW_TR_IGNORED

#define IPFW_TR_IGNORED   0 /* Entry was ignored (rollback) */

Definition at line 913 of file ip_fw.h.

◆ IPFW_TR_LIMIT

#define IPFW_TR_LIMIT   4 /* Entry was ignored (limit) */

Definition at line 917 of file ip_fw.h.

◆ IPFW_TR_NOTFOUND

#define IPFW_TR_NOTFOUND   5 /* Entry was not found */

Definition at line 918 of file ip_fw.h.

◆ IPFW_TR_UPDATED

#define IPFW_TR_UPDATED   2 /* Entry was successfully updated*/

Definition at line 915 of file ip_fw.h.

◆ IPFW_VTYPE_DIVERT

#define IPFW_VTYPE_DIVERT   0x00000040 /* divert/tee */

Definition at line 769 of file ip_fw.h.

◆ IPFW_VTYPE_DSCP

#define IPFW_VTYPE_DSCP   0x00000010 /* dscp */

Definition at line 767 of file ip_fw.h.

◆ IPFW_VTYPE_FIB

#define IPFW_VTYPE_FIB   0x00000004 /* setfib */

Definition at line 765 of file ip_fw.h.

◆ IPFW_VTYPE_LEGACY

#define IPFW_VTYPE_LEGACY   0xFFFFFFFF /* All data is filled in */

Definition at line 762 of file ip_fw.h.

◆ IPFW_VTYPE_LIMIT

#define IPFW_VTYPE_LIMIT   0x00000100 /* limit */

Definition at line 771 of file ip_fw.h.

◆ IPFW_VTYPE_NAT

#define IPFW_VTYPE_NAT   0x00000008 /* nat */

Definition at line 766 of file ip_fw.h.

◆ IPFW_VTYPE_NETGRAPH

#define IPFW_VTYPE_NETGRAPH   0x00000080 /* netgraph/ngtee */

Definition at line 770 of file ip_fw.h.

◆ IPFW_VTYPE_NH4

#define IPFW_VTYPE_NH4   0x00000200 /* IPv4 nexthop */

Definition at line 772 of file ip_fw.h.

◆ IPFW_VTYPE_NH6

#define IPFW_VTYPE_NH6   0x00000400 /* IPv6 nexthop */

Definition at line 773 of file ip_fw.h.

◆ IPFW_VTYPE_PIPE

#define IPFW_VTYPE_PIPE   0x00000002 /* pipe/queue */

Definition at line 764 of file ip_fw.h.

◆ IPFW_VTYPE_SKIPTO

#define IPFW_VTYPE_SKIPTO   0x00000001 /* skipto/call/callreturn */

Definition at line 763 of file ip_fw.h.

◆ IPFW_VTYPE_TAG

#define IPFW_VTYPE_TAG   0x00000020 /* tag/untag */

Definition at line 768 of file ip_fw.h.

◆ IS_IP4_FLOW_ID

#define IS_IP4_FLOW_ID (   id)    ((id)->addr_type == 4)

Definition at line 696 of file ip_fw.h.

◆ IS_IP6_FLOW_ID

#define IS_IP6_FLOW_ID (   id)    ((id)->addr_type == 6)

Definition at line 697 of file ip_fw.h.

◆ NAT44_REDIR_ADDR

#define NAT44_REDIR_ADDR   0x01

Definition at line 524 of file ip_fw.h.

◆ NAT44_REDIR_PORT

#define NAT44_REDIR_PORT   0x02

Definition at line 525 of file ip_fw.h.

◆ NAT44_REDIR_PROTO

#define NAT44_REDIR_PROTO   0x04

Definition at line 526 of file ip_fw.h.

◆ RESVD_SET

#define RESVD_SET   31 /*set for default and persistent rules*/

Definition at line 41 of file ip_fw.h.

◆ RULESIZE

#define RULESIZE (   rule)    (sizeof(*(rule)) + (rule)->cmd_len * 4 - 4)

Definition at line 670 of file ip_fw.h.

Typedef Documentation

◆ ip_fw3_opheader

◆ ipfw_cfg_lheader

◆ ipfw_dyn_rule

typedef struct _ipfw_dyn_rule ipfw_dyn_rule

Definition at line 702 of file ip_fw.h.

◆ ipfw_iface_info

◆ ipfw_insn

typedef struct _ipfw_insn ipfw_insn

◆ ipfw_insn_altq

◆ ipfw_insn_icmp6

◆ ipfw_insn_if

typedef struct _ipfw_insn_if ipfw_insn_if

◆ ipfw_insn_ip

typedef struct _ipfw_insn_ip ipfw_insn_ip

◆ ipfw_insn_ip6

typedef struct _ipfw_insn_ip6 ipfw_insn_ip6

◆ ipfw_insn_limit

◆ ipfw_insn_log

typedef struct _ipfw_insn_log ipfw_insn_log

◆ ipfw_insn_mac

typedef struct _ipfw_insn_mac ipfw_insn_mac

◆ ipfw_insn_nat

typedef struct _ipfw_insn_nat ipfw_insn_nat

◆ ipfw_insn_sa

typedef struct _ipfw_insn_sa ipfw_insn_sa

◆ ipfw_insn_sa6

typedef struct _ipfw_insn_sa6 ipfw_insn_sa6

◆ ipfw_insn_u16

typedef struct _ipfw_insn_u16 ipfw_insn_u16

◆ ipfw_insn_u32

typedef struct _ipfw_insn_u32 ipfw_insn_u32

◆ ipfw_obj_ctlv

typedef struct _ipfw_obj_ctlv ipfw_obj_ctlv

◆ ipfw_obj_data

typedef struct _ipfw_obj_data ipfw_obj_data

◆ ipfw_obj_dyntlv

◆ ipfw_obj_header

◆ ipfw_obj_lheader

◆ ipfw_obj_ntlv

typedef struct _ipfw_obj_ntlv ipfw_obj_ntlv

◆ ipfw_obj_tentry

◆ ipfw_obj_tlv

typedef struct _ipfw_obj_tlv ipfw_obj_tlv

◆ ipfw_range_header

◆ ipfw_range_tlv

◆ ipfw_sopt_info

◆ ipfw_ta_info

typedef struct _ipfw_ta_info ipfw_ta_info

◆ ipfw_ta_tinfo

typedef struct _ipfw_ta_tinfo ipfw_ta_tinfo

◆ ipfw_table

typedef struct _ipfw_table ipfw_table

◆ ipfw_table_entry

◆ ipfw_table_value

◆ ipfw_table_xentry

◆ ipfw_xtable

typedef struct _ipfw_xtable ipfw_xtable

◆ ipfw_xtable_info

Enumeration Type Documentation

◆ ipfw_opcodes

Enumerator
O_NOP 
O_IP_SRC 
O_IP_SRC_MASK 
O_IP_SRC_ME 
O_IP_SRC_SET 
O_IP_DST 
O_IP_DST_MASK 
O_IP_DST_ME 
O_IP_DST_SET 
O_IP_SRCPORT 
O_IP_DSTPORT 
O_PROTO 
O_MACADDR2 
O_MAC_TYPE 
O_LAYER2 
O_IN 
O_FRAG 
O_RECV 
O_XMIT 
O_VIA 
O_IPOPT 
O_IPLEN 
O_IPID 
O_IPTOS 
O_IPPRECEDENCE 
O_IPTTL 
O_IPVER 
O_UID 
O_GID 
O_ESTAB 
O_TCPFLAGS 
O_TCPWIN 
O_TCPSEQ 
O_TCPACK 
O_ICMPTYPE 
O_TCPOPTS 
O_VERREVPATH 
O_VERSRCREACH 
O_PROBE_STATE 
O_KEEP_STATE 
O_LIMIT 
O_LIMIT_PARENT 
O_LOG 
O_PROB 
O_CHECK_STATE 
O_ACCEPT 
O_DENY 
O_REJECT 
O_COUNT 
O_SKIPTO 
O_PIPE 
O_QUEUE 
O_DIVERT 
O_TEE 
O_FORWARD_IP 
O_FORWARD_MAC 
O_NAT 
O_REASS 
O_IPSEC 
O_IP_SRC_LOOKUP 
O_IP_DST_LOOKUP 
O_ANTISPOOF 
O_JAIL 
O_ALTQ 
O_DIVERTED 
O_TCPDATALEN 
O_IP6_SRC 
O_IP6_SRC_ME 
O_IP6_SRC_MASK 
O_IP6_DST 
O_IP6_DST_ME 
O_IP6_DST_MASK 
O_FLOW6ID 
O_ICMP6TYPE 
O_EXT_HDR 
O_IP6 
O_NETGRAPH 
O_NGTEE 
O_IP4 
O_UNREACH6 
O_TAG 
O_TAGGED 
O_SETFIB 
O_FIB 
O_SOCKARG 
O_CALLRETURN 
O_FORWARD_IP6 
O_DSCP 
O_SETDSCP 
O_IP_FLOW_LOOKUP 
O_EXTERNAL_ACTION 
O_EXTERNAL_INSTANCE 
O_EXTERNAL_DATA 
O_SKIP_ACTION 
O_TCPMSS 
O_LAST_OPCODE 

Definition at line 166 of file ip_fw.h.

Function Documentation

◆ __aligned()

struct _ipfw_dyn_rule __aligned ( )

Variable Documentation

◆ ack_fwd

u_int32_t ack_fwd

Definition at line 14 of file ip_fw.h.

◆ ack_rev

u_int32_t ack_rev

Definition at line 15 of file ip_fw.h.

◆ bcnt

u_int64_t bcnt

Definition at line 6 of file ip_fw.h.

◆ bucket

◆ count

◆ dyn_type

u_int16_t dyn_type

Definition at line 17 of file ip_fw.h.

◆ expire

u_int32_t expire

Definition at line 8 of file ip_fw.h.

Referenced by AddLink(), CleanupAliasData(), CleanupLink(), DeleteLink(), and SetExpire().

◆ id

◆ kidx

u_int16_t kidx

Definition at line 19 of file ip_fw.h.

◆ next

◆ parent

ipfw_dyn_rule* parent

Definition at line 4 of file ip_fw.h.

◆ pcnt

u_int64_t pcnt

Definition at line 5 of file ip_fw.h.

◆ rule

struct ip_fw* rule

Definition at line 1 of file ip_fw.h.

Referenced by ClearAllFWHoles(), ClearFWHole(), fill_rule(), and PunchFWHole().

◆ state