Lines Matching refs:info

143 hmark_parse(const char *type, size_t len, struct xt_hmark_info *info,
147 info->flags |= XT_HMARK_FLAG(XT_HMARK_CT);
150 memset(&info->src_mask, 0xff, sizeof(info->src_mask));
151 info->flags |= XT_HMARK_FLAG(XT_HMARK_SADDR_MASK);
154 memset(&info->dst_mask, 0xff, sizeof(info->dst_mask));
155 info->flags |= XT_HMARK_FLAG(XT_HMARK_DADDR_MASK);
158 memset(&info->port_mask.p16.src, 0xff,
159 sizeof(info->port_mask.p16.src));
160 info->flags |= XT_HMARK_FLAG(XT_HMARK_SPORT_MASK);
163 memset(&info->port_mask.p16.dst, 0xff,
164 sizeof(info->port_mask.p16.dst));
165 info->flags |= XT_HMARK_FLAG(XT_HMARK_DPORT_MASK);
168 memset(&info->proto_mask, 0xff, sizeof(info->proto_mask));
169 info->flags |= XT_HMARK_FLAG(XT_HMARK_PROTO_MASK);
172 memset(&info->port_mask.v32, 0xff, sizeof(info->port_mask.v32));
173 info->flags |= XT_HMARK_FLAG(XT_HMARK_SPI_MASK);
185 struct xt_hmark_info *info = cb->data;
190 !hmark_parse(arg, comma-arg, info, &cb->xflags))
200 !hmark_parse(arg, strlen(arg), info, &cb->xflags))
206 struct xt_hmark_info *info = cb->data;
215 info->flags |= XT_HMARK_FLAG(XT_HMARK_SADDR_MASK);
218 info->flags |= XT_HMARK_FLAG(XT_HMARK_DADDR_MASK);
221 info->port_set.v32 = htonl(cb->val.u32);
222 info->flags |= XT_HMARK_FLAG(XT_HMARK_SPI);
225 info->port_set.p16.src = htons(cb->val.u16);
226 info->flags |= XT_HMARK_FLAG(XT_HMARK_SPORT);
229 info->port_set.p16.dst = htons(cb->val.u16);
230 info->flags |= XT_HMARK_FLAG(XT_HMARK_DPORT);
233 info->port_mask.p16.src = htons(cb->val.u16);
234 info->flags |= XT_HMARK_FLAG(XT_HMARK_SPORT_MASK);
237 info->port_mask.p16.dst = htons(cb->val.u16);
238 info->flags |= XT_HMARK_FLAG(XT_HMARK_DPORT_MASK);
241 info->port_mask.v32 = htonl(cb->val.u32);
242 info->flags |= XT_HMARK_FLAG(XT_HMARK_SPI_MASK);
245 info->flags |= XT_HMARK_FLAG(XT_HMARK_PROTO_MASK);
248 info->flags |= XT_HMARK_FLAG(XT_HMARK_RND);
251 info->flags |= XT_HMARK_FLAG(XT_HMARK_MODULUS);
254 info->flags |= XT_HMARK_FLAG(XT_HMARK_OFFSET);
257 info->flags |= XT_HMARK_FLAG(XT_HMARK_CT);
290 static void HMARK_print(const struct xt_hmark_info *info)
292 if (info->flags & XT_HMARK_FLAG(XT_HMARK_SPORT_MASK))
293 printf("sport-mask 0x%x ", htons(info->port_mask.p16.src));
294 if (info->flags & XT_HMARK_FLAG(XT_HMARK_DPORT_MASK))
295 printf("dport-mask 0x%x ", htons(info->port_mask.p16.dst));
296 if (info->flags & XT_HMARK_FLAG(XT_HMARK_SPI_MASK))
297 printf("spi-mask 0x%x ", htonl(info->port_mask.v32));
298 if (info->flags & XT_HMARK_FLAG(XT_HMARK_SPORT))
299 printf("sport 0x%x ", htons(info->port_set.p16.src));
300 if (info->flags & XT_HMARK_FLAG(XT_HMARK_DPORT))
301 printf("dport 0x%x ", htons(info->port_set.p16.dst));
302 if (info->flags & XT_HMARK_FLAG(XT_HMARK_SPI))
303 printf("spi 0x%x ", htonl(info->port_set.v32));
304 if (info->flags & XT_HMARK_FLAG(XT_HMARK_PROTO_MASK))
305 printf("proto-mask 0x%x ", info->proto_mask);
306 if (info->flags & XT_HMARK_FLAG(XT_HMARK_RND))
307 printf("rnd 0x%x ", info->hashrnd);
313 const struct xt_hmark_info *info =
317 if (info->flags & XT_HMARK_FLAG(XT_HMARK_MODULUS))
318 printf("mod %u ", info->hmodulus);
319 if (info->flags & XT_HMARK_FLAG(XT_HMARK_OFFSET))
320 printf("+ 0x%x ", info->hoffset);
321 if (info->flags & XT_HMARK_FLAG(XT_HMARK_CT))
323 if (info->flags & XT_HMARK_FLAG(XT_HMARK_SADDR_MASK))
325 xtables_ip6mask_to_numeric(&info->src_mask.in6) + 1);
326 if (info->flags & XT_HMARK_FLAG(XT_HMARK_DADDR_MASK))
328 xtables_ip6mask_to_numeric(&info->dst_mask.in6) + 1);
329 HMARK_print(info);
334 const struct xt_hmark_info *info =
338 if (info->flags & XT_HMARK_FLAG(XT_HMARK_MODULUS))
339 printf("mod %u ", info->hmodulus);
340 if (info->flags & XT_HMARK_FLAG(XT_HMARK_OFFSET))
341 printf("+ 0x%x ", info->hoffset);
342 if (info->flags & XT_HMARK_FLAG(XT_HMARK_CT))
344 if (info->flags & XT_HMARK_FLAG(XT_HMARK_SADDR_MASK))
346 xtables_ipmask_to_cidr(&info->src_mask.in));
347 if (info->flags & XT_HMARK_FLAG(XT_HMARK_DADDR_MASK))
349 xtables_ipmask_to_cidr(&info->dst_mask.in));
350 HMARK_print(info);
353 static void HMARK_save(const struct xt_hmark_info *info)
355 if (info->flags & XT_HMARK_FLAG(XT_HMARK_SPORT_MASK))
357 htons(info->port_mask.p16.src));
358 if (info->flags & XT_HMARK_FLAG(XT_HMARK_DPORT_MASK))
360 htons(info->port_mask.p16.dst));
361 if (info->flags & XT_HMARK_FLAG(XT_HMARK_SPI_MASK))
363 htonl(info->port_mask.v32));
364 if (info->flags & XT_HMARK_FLAG(XT_HMARK_SPORT))
366 htons(info->port_set.p16.src));
367 if (info->flags & XT_HMARK_FLAG(XT_HMARK_DPORT))
369 htons(info->port_set.p16.dst));
370 if (info->flags & XT_HMARK_FLAG(XT_HMARK_SPI))
371 printf(" --hmark-spi 0x%08x", htonl(info->port_set.v32));
372 if (info->flags & XT_HMARK_FLAG(XT_HMARK_PROTO_MASK))
373 printf(" --hmark-proto-mask 0x%02x", info->proto_mask);
374 if (info->flags & XT_HMARK_FLAG(XT_HMARK_RND))
375 printf(" --hmark-rnd 0x%08x", info->hashrnd);
376 if (info->flags & XT_HMARK_FLAG(XT_HMARK_MODULUS))
377 printf(" --hmark-mod %u", info->hmodulus);
378 if (info->flags & XT_HMARK_FLAG(XT_HMARK_OFFSET))
379 printf(" --hmark-offset %u", info->hoffset);
380 if (info->flags & XT_HMARK_FLAG(XT_HMARK_CT))
386 const struct xt_hmark_info *info =
390 if (info->flags & XT_HMARK_FLAG(XT_HMARK_SADDR_MASK)) {
391 ret = xtables_ip6mask_to_cidr(&info->src_mask.in6);
394 if (info->flags & XT_HMARK_FLAG(XT_HMARK_DADDR_MASK)) {
395 ret = xtables_ip6mask_to_cidr(&info->dst_mask.in6);
398 HMARK_save(info);
403 const struct xt_hmark_info *info =
407 if (info->flags & XT_HMARK_FLAG(XT_HMARK_SADDR_MASK)) {
408 ret = xtables_ipmask_to_cidr(&info->src_mask.in);
411 if (info->flags & XT_HMARK_FLAG(XT_HMARK_DADDR_MASK)) {
412 ret = xtables_ipmask_to_cidr(&info->dst_mask.in);
415 HMARK_save(info);