Lines Matching refs:fnew

396 	struct flow_filter *fold, *fnew;  in flow_change()  local
435 fnew = kzalloc(sizeof(*fnew), GFP_KERNEL); in flow_change()
436 if (!fnew) in flow_change()
439 err = tcf_em_tree_validate(tp, tb[TCA_FLOW_EMATCHES], &fnew->ematches); in flow_change()
443 err = tcf_exts_init(&fnew->exts, net, TCA_FLOW_ACT, TCA_FLOW_POLICE); in flow_change()
447 err = tcf_exts_validate(net, tp, tb, tca[TCA_RATE], &fnew->exts, flags, in flow_change()
459 fnew->tp = fold->tp; in flow_change()
460 fnew->handle = fold->handle; in flow_change()
461 fnew->nkeys = fold->nkeys; in flow_change()
462 fnew->keymask = fold->keymask; in flow_change()
463 fnew->mode = fold->mode; in flow_change()
464 fnew->mask = fold->mask; in flow_change()
465 fnew->xor = fold->xor; in flow_change()
466 fnew->rshift = fold->rshift; in flow_change()
467 fnew->addend = fold->addend; in flow_change()
468 fnew->divisor = fold->divisor; in flow_change()
469 fnew->baseclass = fold->baseclass; in flow_change()
470 fnew->hashrnd = fold->hashrnd; in flow_change()
512 fnew->handle = handle; in flow_change()
513 fnew->mask = ~0U; in flow_change()
514 fnew->tp = tp; in flow_change()
515 get_random_bytes(&fnew->hashrnd, 4); in flow_change()
518 timer_setup(&fnew->perturb_timer, flow_perturbation, TIMER_DEFERRABLE); in flow_change()
523 fnew->keymask = keymask; in flow_change()
524 fnew->nkeys = nkeys; in flow_change()
527 fnew->mode = mode; in flow_change()
530 fnew->mask = nla_get_u32(tb[TCA_FLOW_MASK]); in flow_change()
532 fnew->xor = nla_get_u32(tb[TCA_FLOW_XOR]); in flow_change()
534 fnew->rshift = nla_get_u32(tb[TCA_FLOW_RSHIFT]); in flow_change()
536 fnew->addend = nla_get_u32(tb[TCA_FLOW_ADDEND]); in flow_change()
539 fnew->divisor = nla_get_u32(tb[TCA_FLOW_DIVISOR]); in flow_change()
541 fnew->baseclass = baseclass; in flow_change()
543 fnew->perturb_period = perturb_period; in flow_change()
545 mod_timer(&fnew->perturb_timer, jiffies + perturb_period); in flow_change()
548 list_add_tail_rcu(&fnew->list, &head->filters); in flow_change()
550 list_replace_rcu(&fold->list, &fnew->list); in flow_change()
552 *arg = fnew; in flow_change()
561 tcf_exts_destroy(&fnew->exts); in flow_change()
562 tcf_em_tree_destroy(&fnew->ematches); in flow_change()
564 kfree(fnew); in flow_change()