16f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 238c67328SNicolas Dichtel #ifndef XT_HMARK_H_ 338c67328SNicolas Dichtel #define XT_HMARK_H_ 438c67328SNicolas Dichtel 538c67328SNicolas Dichtel #include <linux/types.h> 61ffad83dSMikko Rapeli #include <linux/netfilter.h> 738c67328SNicolas Dichtel 838c67328SNicolas Dichtel enum { 938c67328SNicolas Dichtel XT_HMARK_SADDR_MASK, 1038c67328SNicolas Dichtel XT_HMARK_DADDR_MASK, 1138c67328SNicolas Dichtel XT_HMARK_SPI, 1238c67328SNicolas Dichtel XT_HMARK_SPI_MASK, 1338c67328SNicolas Dichtel XT_HMARK_SPORT, 1438c67328SNicolas Dichtel XT_HMARK_DPORT, 1538c67328SNicolas Dichtel XT_HMARK_SPORT_MASK, 1638c67328SNicolas Dichtel XT_HMARK_DPORT_MASK, 1738c67328SNicolas Dichtel XT_HMARK_PROTO_MASK, 1838c67328SNicolas Dichtel XT_HMARK_RND, 1938c67328SNicolas Dichtel XT_HMARK_MODULUS, 2038c67328SNicolas Dichtel XT_HMARK_OFFSET, 2138c67328SNicolas Dichtel XT_HMARK_CT, 2238c67328SNicolas Dichtel XT_HMARK_METHOD_L3, 2338c67328SNicolas Dichtel XT_HMARK_METHOD_L3_4, 2438c67328SNicolas Dichtel }; 2538c67328SNicolas Dichtel #define XT_HMARK_FLAG(flag) (1 << flag) 2638c67328SNicolas Dichtel 2738c67328SNicolas Dichtel union hmark_ports { 2838c67328SNicolas Dichtel struct { 2938c67328SNicolas Dichtel __u16 src; 3038c67328SNicolas Dichtel __u16 dst; 3138c67328SNicolas Dichtel } p16; 3238c67328SNicolas Dichtel struct { 3338c67328SNicolas Dichtel __be16 src; 3438c67328SNicolas Dichtel __be16 dst; 3538c67328SNicolas Dichtel } b16; 3638c67328SNicolas Dichtel __u32 v32; 3738c67328SNicolas Dichtel __be32 b32; 3838c67328SNicolas Dichtel }; 3938c67328SNicolas Dichtel 4038c67328SNicolas Dichtel struct xt_hmark_info { 4138c67328SNicolas Dichtel union nf_inet_addr src_mask; 4238c67328SNicolas Dichtel union nf_inet_addr dst_mask; 4338c67328SNicolas Dichtel union hmark_ports port_mask; 4438c67328SNicolas Dichtel union hmark_ports port_set; 4538c67328SNicolas Dichtel __u32 flags; 4638c67328SNicolas Dichtel __u16 proto_mask; 4738c67328SNicolas Dichtel __u32 hashrnd; 4838c67328SNicolas Dichtel __u32 hmodulus; 4938c67328SNicolas Dichtel __u32 hoffset; /* Mark offset to start from */ 5038c67328SNicolas Dichtel }; 5138c67328SNicolas Dichtel 5238c67328SNicolas Dichtel #endif /* XT_HMARK_H_ */ 53