Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/ip_fw.h
Show First 20 Lines • Show All 663 Lines • ▼ Show 20 Lines | |||||
* fib is used in the kernel to record the fib in use. | * fib is used in the kernel to record the fib in use. | ||||
* _flags is used in the kernel to store tcp flags for dynamic rules. | * _flags is used in the kernel to store tcp flags for dynamic rules. | ||||
*/ | */ | ||||
struct ipfw_flow_id { | struct ipfw_flow_id { | ||||
uint32_t dst_ip; | uint32_t dst_ip; | ||||
uint32_t src_ip; | uint32_t src_ip; | ||||
uint16_t dst_port; | uint16_t dst_port; | ||||
uint16_t src_port; | uint16_t src_port; | ||||
uint8_t fib; | uint8_t fib; /* XXX: must be uint16_t */ | ||||
uint8_t proto; | uint8_t proto; | ||||
uint8_t _flags; /* protocol-specific flags */ | uint8_t _flags; /* protocol-specific flags */ | ||||
uint8_t addr_type; /* 4=ip4, 6=ip6, 1=ether ? */ | uint8_t addr_type; /* 4=ip4, 6=ip6, 1=ether ? */ | ||||
struct in6_addr dst_ip6; | struct in6_addr dst_ip6; | ||||
struct in6_addr src_ip6; | struct in6_addr src_ip6; | ||||
uint32_t flow_id6; | uint32_t flow_id6; | ||||
uint32_t extra; /* queue/pipe or frag_id */ | uint32_t extra; /* queue/pipe or frag_id */ | ||||
}; | }; | ||||
#endif | #endif | ||||
#define IS_IP4_FLOW_ID(id) ((id)->addr_type == 4) | |||||
#define IS_IP6_FLOW_ID(id) ((id)->addr_type == 6) | #define IS_IP6_FLOW_ID(id) ((id)->addr_type == 6) | ||||
/* | /* | ||||
* Dynamic ipfw rule. | * Dynamic ipfw rule. | ||||
*/ | */ | ||||
typedef struct _ipfw_dyn_rule ipfw_dyn_rule; | typedef struct _ipfw_dyn_rule ipfw_dyn_rule; | ||||
struct _ipfw_dyn_rule { | struct _ipfw_dyn_rule { | ||||
▲ Show 20 Lines • Show All 361 Lines • Show Last 20 Lines |