Lines Matching refs:cb
294 static void conntrack_parse(struct xt_option_call *cb) in conntrack_parse() argument
296 struct xt_conntrack_info *sinfo = cb->data; in conntrack_parse()
298 xtables_option_parse(cb); in conntrack_parse()
299 switch (cb->entry->id) { in conntrack_parse()
301 parse_states(cb->arg, sinfo); in conntrack_parse()
302 if (cb->invert) in conntrack_parse()
306 if (cb->invert) in conntrack_parse()
308 sinfo->tuple[IP_CT_DIR_ORIGINAL].dst.protonum = cb->val.protocol; in conntrack_parse()
318 if (cb->invert) in conntrack_parse()
320 sinfo->tuple[IP_CT_DIR_ORIGINAL].src.ip = cb->val.haddr.ip; in conntrack_parse()
324 if (cb->invert) in conntrack_parse()
326 sinfo->tuple[IP_CT_DIR_ORIGINAL].dst.ip = cb->val.haddr.ip; in conntrack_parse()
330 if (cb->invert) in conntrack_parse()
332 sinfo->tuple[IP_CT_DIR_REPLY].src.ip = cb->val.haddr.ip; in conntrack_parse()
336 if (cb->invert) in conntrack_parse()
338 sinfo->tuple[IP_CT_DIR_REPLY].dst.ip = cb->val.haddr.ip; in conntrack_parse()
342 parse_statuses(cb->arg, sinfo); in conntrack_parse()
343 if (cb->invert) in conntrack_parse()
348 sinfo->expires_min = cb->val.u32_range[0]; in conntrack_parse()
349 sinfo->expires_max = cb->val.u32_range[0]; in conntrack_parse()
350 if (cb->nvals >= 2) in conntrack_parse()
351 sinfo->expires_max = cb->val.u32_range[1]; in conntrack_parse()
352 if (cb->invert) in conntrack_parse()
359 static void conntrack_mt_parse(struct xt_option_call *cb, uint8_t rev) in conntrack_mt_parse() argument
361 struct xt_conntrack_mtinfo3 *info = cb->data; in conntrack_mt_parse()
363 xtables_option_parse(cb); in conntrack_mt_parse()
364 switch (cb->entry->id) { in conntrack_mt_parse()
366 conntrack_ps_states(info, cb->arg); in conntrack_mt_parse()
368 if (cb->invert) in conntrack_mt_parse()
372 info->l4proto = cb->val.protocol; in conntrack_mt_parse()
378 if (cb->invert) in conntrack_mt_parse()
382 info->origsrc_addr = cb->val.haddr; in conntrack_mt_parse()
383 info->origsrc_mask = cb->val.hmask; in conntrack_mt_parse()
385 if (cb->invert) in conntrack_mt_parse()
389 info->origdst_addr = cb->val.haddr; in conntrack_mt_parse()
390 info->origdst_mask = cb->val.hmask; in conntrack_mt_parse()
392 if (cb->invert) in conntrack_mt_parse()
396 info->replsrc_addr = cb->val.haddr; in conntrack_mt_parse()
397 info->replsrc_mask = cb->val.hmask; in conntrack_mt_parse()
399 if (cb->invert) in conntrack_mt_parse()
403 info->repldst_addr = cb->val.haddr; in conntrack_mt_parse()
404 info->repldst_mask = cb->val.hmask; in conntrack_mt_parse()
406 if (cb->invert) in conntrack_mt_parse()
410 conntrack_ps_statuses(info, cb->arg); in conntrack_mt_parse()
412 if (cb->invert) in conntrack_mt_parse()
416 info->expires_min = cb->val.u32_range[0]; in conntrack_mt_parse()
417 info->expires_max = cb->val.u32_range[0]; in conntrack_mt_parse()
418 if (cb->nvals >= 2) in conntrack_mt_parse()
419 info->expires_max = cb->val.u32_range[1]; in conntrack_mt_parse()
421 if (cb->invert) in conntrack_mt_parse()
425 info->origsrc_port = cb->val.port_range[0]; in conntrack_mt_parse()
426 info->origsrc_port_high = cb->val.port_range[cb->nvals >= 2]; in conntrack_mt_parse()
428 if (cb->invert) in conntrack_mt_parse()
432 info->origdst_port = cb->val.port_range[0]; in conntrack_mt_parse()
433 info->origdst_port_high = cb->val.port_range[cb->nvals >= 2]; in conntrack_mt_parse()
435 if (cb->invert) in conntrack_mt_parse()
439 info->replsrc_port = cb->val.port_range[0]; in conntrack_mt_parse()
440 info->replsrc_port_high = cb->val.port_range[cb->nvals >= 2]; in conntrack_mt_parse()
442 if (cb->invert) in conntrack_mt_parse()
446 info->repldst_port = cb->val.port_range[0]; in conntrack_mt_parse()
447 info->repldst_port_high = cb->val.port_range[cb->nvals >= 2]; in conntrack_mt_parse()
449 if (cb->invert) in conntrack_mt_parse()
453 if (strcasecmp(cb->arg, "ORIGINAL") == 0) { in conntrack_mt_parse()
456 } else if (strcasecmp(cb->arg, "REPLY") == 0) { in conntrack_mt_parse()
460 xtables_param_act(XTF_BAD_VALUE, "conntrack", "--ctdir", cb->arg); in conntrack_mt_parse()
473 static void conntrack1_mt_parse(struct xt_option_call *cb) in conntrack1_mt_parse() argument
475 struct xt_conntrack_mtinfo1 *info = cb->data; in conntrack1_mt_parse()
484 cb->data = &up; in conntrack1_mt_parse()
485 conntrack_mt_parse(cb, 3); in conntrack1_mt_parse()
493 cb->data = info; in conntrack1_mt_parse()
496 static void conntrack2_mt_parse(struct xt_option_call *cb) in conntrack2_mt_parse() argument
501 struct xt_conntrack_mtinfo2 *info = cb->data; in conntrack2_mt_parse()
510 cb->data = &up; in conntrack2_mt_parse()
511 conntrack_mt_parse(cb, 3); in conntrack2_mt_parse()
519 cb->data = info; in conntrack2_mt_parse()
523 static void conntrack3_mt_parse(struct xt_option_call *cb) in conntrack3_mt_parse() argument
525 conntrack_mt_parse(cb, 3); in conntrack3_mt_parse()
528 static void conntrack_mt_check(struct xt_fcheck_call *cb) in conntrack_mt_check() argument
530 if (cb->xflags == 0) in conntrack_mt_check()