logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

nf_nat.h (1587B)


  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. #ifndef _NETFILTER_NF_NAT_H
  3. #define _NETFILTER_NF_NAT_H
  4. #include <linux/netfilter.h>
  5. #include <linux/netfilter/nf_conntrack_tuple_common.h>
  6. #define NF_NAT_RANGE_MAP_IPS (1 << 0)
  7. #define NF_NAT_RANGE_PROTO_SPECIFIED (1 << 1)
  8. #define NF_NAT_RANGE_PROTO_RANDOM (1 << 2)
  9. #define NF_NAT_RANGE_PERSISTENT (1 << 3)
  10. #define NF_NAT_RANGE_PROTO_RANDOM_FULLY (1 << 4)
  11. #define NF_NAT_RANGE_PROTO_OFFSET (1 << 5)
  12. #define NF_NAT_RANGE_NETMAP (1 << 6)
  13. #define NF_NAT_RANGE_PROTO_RANDOM_ALL \
  14. (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY)
  15. #define NF_NAT_RANGE_MASK \
  16. (NF_NAT_RANGE_MAP_IPS | NF_NAT_RANGE_PROTO_SPECIFIED | \
  17. NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PERSISTENT | \
  18. NF_NAT_RANGE_PROTO_RANDOM_FULLY | NF_NAT_RANGE_PROTO_OFFSET | \
  19. NF_NAT_RANGE_NETMAP)
  20. struct nf_nat_ipv4_range {
  21. unsigned int flags;
  22. __be32 min_ip;
  23. __be32 max_ip;
  24. union nf_conntrack_man_proto min;
  25. union nf_conntrack_man_proto max;
  26. };
  27. struct nf_nat_ipv4_multi_range_compat {
  28. unsigned int rangesize;
  29. struct nf_nat_ipv4_range range[1];
  30. };
  31. struct nf_nat_range {
  32. unsigned int flags;
  33. union nf_inet_addr min_addr;
  34. union nf_inet_addr max_addr;
  35. union nf_conntrack_man_proto min_proto;
  36. union nf_conntrack_man_proto max_proto;
  37. };
  38. struct nf_nat_range2 {
  39. unsigned int flags;
  40. union nf_inet_addr min_addr;
  41. union nf_inet_addr max_addr;
  42. union nf_conntrack_man_proto min_proto;
  43. union nf_conntrack_man_proto max_proto;
  44. union nf_conntrack_man_proto base_proto;
  45. };
  46. #endif /* _NETFILTER_NF_NAT_H */