10 #include <linux/types.h>
11 #include <linux/random.h>
12 #include <linux/netfilter.h>
13 #include <linux/export.h>
28 port = tuple->
src.u.all;
30 port = tuple->
dst.u.all;
49 portptr = &tuple->
src.u.all;
51 portptr = &tuple->
dst.u.all;
59 if (
ntohs(*portptr) < 1024) {
61 if (
ntohs(*portptr) < 512) {
63 range_size = 511 - min + 1;
66 range_size = 1023 - min + 1;
70 range_size = 65535 - 1024 + 1;
84 for (i = 0; ; ++off) {
85 *portptr =
htons(min + off % range_size);
96 #if defined(CONFIG_NF_CT_NETLINK) || defined(CONFIG_NF_CT_NETLINK_MODULE)
101 range->
min_proto.
all = nla_get_be16(tb[CTA_PROTONAT_PORT_MIN]);
106 range->
max_proto.
all = nla_get_be16(tb[CTA_PROTONAT_PORT_MAX]);