/usr/include/linux/netfilter
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _XT_HASHLIMIT_H #define _XT_HASHLIMIT_H #include <linux/types.h> #include <linux/limits.h> #include <linux/if.h> /* timings are in milliseconds. */ #define XT_HASHLIMIT_SCALE 10000 #define XT_HASHLIMIT_SCALE_v2 1000000llu /* 1/10,000 sec period => max of 10,000/sec. Min rate is then 429490 * seconds, or one packet every 59 hours. */ /* packet length accounting is done in 16-byte steps */ #define XT_HASHLIMIT_BYTE_SHIFT 4 /* details of this structure hidden by the implementation */ struct xt_hashlimit_htable; enum { XT_HASHLIMIT_HASH_DIP = 1 << 0, XT_HASHLIMIT_HASH_DPT = 1 << 1, XT_HASHLIMIT_HASH_SIP = 1 << 2, XT_HASHLIMIT_HASH_SPT = 1 << 3, XT_HASHLIMIT_INVERT = 1 << 4, XT_HASHLIMIT_BYTES = 1 << 5, XT_HASHLIMIT_RATE_MATCH = 1 << 6, }; struct hashlimit_cfg { __u32 mode; /* bitmask of XT_HASHLIMIT_HASH_* */ __u32 avg; /* Average secs between packets * scale */ __u32 burst; /* Period multiplier for upper limit. */ /* user specified */ __u32 size; /* how many buckets */ __u32 max; /* max number of entries */ __u32 gc_interval; /* gc interval */ __u32 expire; /* when do entries expire? */ }; struct xt_hashlimit_info { char name [IFNAMSIZ]; /* name */ struct hashlimit_cfg cfg; /* Used internally by the kernel */ struct xt_hashlimit_htable *hinfo; union { void *ptr; struct xt_hashlimit_info *master; } u; }; struct hashlimit_cfg1 { __u32 mode; /* bitmask of XT_HASHLIMIT_HASH_* */ __u32 avg; /* Average secs between packets * scale */ __u32 burst; /* Period multiplier for upper limit. */ /* user specified */ __u32 size; /* how many buckets */ __u32 max; /* max number of entries */ __u32 gc_interval; /* gc interval */ __u32 expire; /* when do entries expire? */ __u8 srcmask, dstmask; }; struct hashlimit_cfg2 { __u64 avg; /* Average secs between packets * scale */ __u64 burst; /* Period multiplier for upper limit. */ __u32 mode; /* bitmask of XT_HASHLIMIT_HASH_* */ /* user specified */ __u32 size; /* how many buckets */ __u32 max; /* max number of entries */ __u32 gc_interval; /* gc interval */ __u32 expire; /* when do entries expire? */ __u8 srcmask, dstmask; }; struct hashlimit_cfg3 { __u64 avg; /* Average secs between packets * scale */ __u64 burst; /* Period multiplier for upper limit. */ __u32 mode; /* bitmask of XT_HASHLIMIT_HASH_* */ /* user specified */ __u32 size; /* how many buckets */ __u32 max; /* max number of entries */ __u32 gc_interval; /* gc interval */ __u32 expire; /* when do entries expire? */ __u32 interval; __u8 srcmask, dstmask; }; struct xt_hashlimit_mtinfo1 { char name[IFNAMSIZ]; struct hashlimit_cfg1 cfg; /* Used internally by the kernel */ struct xt_hashlimit_htable *hinfo __attribute__((aligned(8))); }; struct xt_hashlimit_mtinfo2 { char name[NAME_MAX]; struct hashlimit_cfg2 cfg; /* Used internally by the kernel */ struct xt_hashlimit_htable *hinfo __attribute__((aligned(8))); }; struct xt_hashlimit_mtinfo3 { char name[NAME_MAX]; struct hashlimit_cfg3 cfg; /* Used internally by the kernel */ struct xt_hashlimit_htable *hinfo __attribute__((aligned(8))); }; #endif /* _XT_HASHLIMIT_H */
.
Edit
..
Edit
ipset
Edit
nf_conntrack_common.h
Edit
nf_conntrack_ftp.h
Edit
nf_conntrack_sctp.h
Edit
nf_conntrack_tcp.h
Edit
nf_conntrack_tuple_common.h
Edit
nf_log.h
Edit
nf_nat.h
Edit
nf_synproxy.h
Edit
nf_tables.h
Edit
nf_tables_compat.h
Edit
nfnetlink.h
Edit
nfnetlink_acct.h
Edit
nfnetlink_compat.h
Edit
nfnetlink_conntrack.h
Edit
nfnetlink_cthelper.h
Edit
nfnetlink_cttimeout.h
Edit
nfnetlink_hook.h
Edit
nfnetlink_log.h
Edit
nfnetlink_osf.h
Edit
nfnetlink_queue.h
Edit
x_tables.h
Edit
xt_AUDIT.h
Edit
xt_CHECKSUM.h
Edit
xt_CLASSIFY.h
Edit
xt_CONNMARK.h
Edit
xt_CONNSECMARK.h
Edit
xt_CT.h
Edit
xt_DSCP.h
Edit
xt_HMARK.h
Edit
xt_IDLETIMER.h
Edit
xt_LED.h
Edit
xt_LOG.h
Edit
xt_MARK.h
Edit
xt_NFLOG.h
Edit
xt_NFQUEUE.h
Edit
xt_RATEEST.h
Edit
xt_SECMARK.h
Edit
xt_SYNPROXY.h
Edit
xt_TCPMSS.h
Edit
xt_TCPOPTSTRIP.h
Edit
xt_TEE.h
Edit
xt_TPROXY.h
Edit
xt_addrtype.h
Edit
xt_bpf.h
Edit
xt_cgroup.h
Edit
xt_cluster.h
Edit
xt_comment.h
Edit
xt_connbytes.h
Edit
xt_connlabel.h
Edit
xt_connlimit.h
Edit
xt_connmark.h
Edit
xt_conntrack.h
Edit
xt_cpu.h
Edit
xt_dccp.h
Edit
xt_devgroup.h
Edit
xt_dscp.h
Edit
xt_ecn.h
Edit
xt_esp.h
Edit
xt_hashlimit.h
Edit
xt_helper.h
Edit
xt_ipcomp.h
Edit
xt_iprange.h
Edit
xt_ipvs.h
Edit
xt_l2tp.h
Edit
xt_length.h
Edit
xt_limit.h
Edit
xt_mac.h
Edit
xt_mark.h
Edit
xt_multiport.h
Edit
xt_nfacct.h
Edit
xt_osf.h
Edit
xt_owner.h
Edit
xt_physdev.h
Edit
xt_pkttype.h
Edit
xt_policy.h
Edit
xt_quota.h
Edit
xt_rateest.h
Edit
xt_realm.h
Edit
xt_recent.h
Edit
xt_rpfilter.h
Edit
xt_sctp.h
Edit
xt_set.h
Edit
xt_socket.h
Edit
xt_state.h
Edit
xt_statistic.h
Edit
xt_string.h
Edit
xt_tcpmss.h
Edit
xt_tcpudp.h
Edit
xt_time.h
Edit
xt_u32.h
Edit