1#ifndef XT_HMARK_H_ 2#define XT_HMARK_H_ 3 4#include <linux/types.h> 5 6enum { 7 XT_HMARK_SADDR_MASK, 8 XT_HMARK_DADDR_MASK, 9 XT_HMARK_SPI, 10 XT_HMARK_SPI_MASK, 11 XT_HMARK_SPORT, 12 XT_HMARK_DPORT, 13 XT_HMARK_SPORT_MASK, 14 XT_HMARK_DPORT_MASK, 15 XT_HMARK_PROTO_MASK, 16 XT_HMARK_RND, 17 XT_HMARK_MODULUS, 18 XT_HMARK_OFFSET, 19 XT_HMARK_CT, 20 XT_HMARK_METHOD_L3, 21 XT_HMARK_METHOD_L3_4, 22}; 23#define XT_HMARK_FLAG(flag) (1 << flag) 24 25union hmark_ports { 26 struct { 27 __u16 src; 28 __u16 dst; 29 } p16; 30 struct { 31 __be16 src; 32 __be16 dst; 33 } b16; 34 __u32 v32; 35 __be32 b32; 36}; 37 38struct xt_hmark_info { 39 union nf_inet_addr src_mask; 40 union nf_inet_addr dst_mask; 41 union hmark_ports port_mask; 42 union hmark_ports port_set; 43 __u32 flags; 44 __u16 proto_mask; 45 __u32 hashrnd; 46 __u32 hmodulus; 47 __u32 hoffset; /* Mark offset to start from */ 48}; 49 50#endif /* XT_HMARK_H_ */ 51