Lines Matching refs:range
56 parse_to(const char *orig_arg, int portok, struct nf_nat_range2 *range, int rev) in parse_to() argument
91 range->flags |= NF_NAT_RANGE_PROTO_SPECIFIED; in parse_to()
105 range->min_proto.tcp.port in parse_to()
106 = range->max_proto.tcp.port in parse_to()
119 range->min_proto.tcp.port = htons(port); in parse_to()
120 range->max_proto.tcp.port = htons(maxport); in parse_to()
131 range->flags |= NF_NAT_RANGE_PROTO_OFFSET; in parse_to()
132 range->base_proto.tcp.port = htons(baseport); in parse_to()
144 range->flags |= NF_NAT_RANGE_MAP_IPS; in parse_to()
156 range->min_addr.in6 = *ip; in parse_to()
162 range->max_addr.in6 = *ip; in parse_to()
164 range->max_addr = range->min_addr; in parse_to()
171 struct nf_nat_range2 *range, int rev) in _DNAT_parse() argument
192 parse_to(cb->arg, portok, range, rev); in _DNAT_parse()
196 range->flags |= NF_NAT_RANGE_PERSISTENT; in _DNAT_parse()
204 struct nf_nat_range2 range = {}; in DNAT_parse() local
206 memcpy(&range, range_v1, sizeof(*range_v1)); in DNAT_parse()
207 _DNAT_parse(cb, &range, 1); in DNAT_parse()
208 memcpy(range_v1, &range, sizeof(*range_v1)); in DNAT_parse()
234 static void print_range(const struct nf_nat_range2 *range, int rev) in print_range() argument
236 if (range->flags & NF_NAT_RANGE_MAP_IPS) { in print_range()
237 if (range->flags & NF_NAT_RANGE_PROTO_SPECIFIED) in print_range()
239 printf("%s", xtables_ip6addr_to_numeric(&range->min_addr.in6)); in print_range()
240 if (memcmp(&range->min_addr, &range->max_addr, in print_range()
241 sizeof(range->min_addr))) in print_range()
242 printf("-%s", xtables_ip6addr_to_numeric(&range->max_addr.in6)); in print_range()
243 if (range->flags & NF_NAT_RANGE_PROTO_SPECIFIED) in print_range()
246 if (range->flags & NF_NAT_RANGE_PROTO_SPECIFIED) { in print_range()
248 printf("%hu", ntohs(range->min_proto.tcp.port)); in print_range()
249 if (range->max_proto.tcp.port != range->min_proto.tcp.port) in print_range()
250 printf("-%hu", ntohs(range->max_proto.tcp.port)); in print_range()
251 if (rev >= 2 && (range->flags & NF_NAT_RANGE_PROTO_OFFSET)) in print_range()
252 printf("/%hu", ntohs(range->base_proto.tcp.port)); in print_range()
256 static void _DNAT_print(const struct nf_nat_range2 *range, int rev) in _DNAT_print() argument
259 print_range(range, rev); in _DNAT_print()
260 if (range->flags & NF_NAT_RANGE_PROTO_RANDOM) in _DNAT_print()
262 if (range->flags & NF_NAT_RANGE_PERSISTENT) in _DNAT_print()
270 struct nf_nat_range2 range = {}; in DNAT_print() local
272 memcpy(&range, range_v1, sizeof(*range_v1)); in DNAT_print()
273 _DNAT_print(&range, 1); in DNAT_print()
282 static void _DNAT_save(const struct nf_nat_range2 *range, int rev) in _DNAT_save() argument
285 print_range(range, rev); in _DNAT_save()
286 if (range->flags & NF_NAT_RANGE_PROTO_RANDOM) in _DNAT_save()
288 if (range->flags & NF_NAT_RANGE_PERSISTENT) in _DNAT_save()
295 struct nf_nat_range2 range = {}; in DNAT_save() local
297 memcpy(&range, range_v1, sizeof(*range_v1)); in DNAT_save()
298 _DNAT_save(&range, 1); in DNAT_save()
306 static void print_range_xlate(const struct nf_nat_range2 *range, in print_range_xlate() argument
309 bool proto_specified = range->flags & NF_NAT_RANGE_PROTO_SPECIFIED; in print_range_xlate()
311 if (range->flags & NF_NAT_RANGE_MAP_IPS) { in print_range_xlate()
314 xtables_ip6addr_to_numeric(&range->min_addr.in6), in print_range_xlate()
317 if (memcmp(&range->min_addr, &range->max_addr, in print_range_xlate()
318 sizeof(range->min_addr))) { in print_range_xlate()
321 xtables_ip6addr_to_numeric(&range->max_addr.in6), in print_range_xlate()
326 xt_xlate_add(xl, ":%hu", ntohs(range->min_proto.tcp.port)); in print_range_xlate()
328 if (range->max_proto.tcp.port != range->min_proto.tcp.port) in print_range_xlate()
330 ntohs(range->max_proto.tcp.port)); in print_range_xlate()
335 const struct nf_nat_range2 *range, int rev) in _DNAT_xlate() argument
341 print_range_xlate(range, xl, rev); in _DNAT_xlate()
342 if (range->flags & NF_NAT_RANGE_PROTO_RANDOM) { in _DNAT_xlate()
346 if (range->flags & NF_NAT_RANGE_PERSISTENT) { in _DNAT_xlate()
359 struct nf_nat_range2 range = {}; in DNAT_xlate() local
361 memcpy(&range, range_v1, sizeof(*range_v1)); in DNAT_xlate()
362 _DNAT_xlate(xl, &range, 1); in DNAT_xlate()