Lines Matching refs:fnew
368 struct flow_filter *fold, *fnew; in flow_change() local
418 fnew = kzalloc(sizeof(*fnew), GFP_KERNEL); in flow_change()
419 if (!fnew) in flow_change()
422 tcf_exts_init(&fnew->exts, TCA_FLOW_ACT, TCA_FLOW_POLICE); in flow_change()
431 fnew->tp = fold->tp; in flow_change()
432 fnew->handle = fold->handle; in flow_change()
433 fnew->nkeys = fold->nkeys; in flow_change()
434 fnew->keymask = fold->keymask; in flow_change()
435 fnew->mode = fold->mode; in flow_change()
436 fnew->mask = fold->mask; in flow_change()
437 fnew->xor = fold->xor; in flow_change()
438 fnew->rshift = fold->rshift; in flow_change()
439 fnew->addend = fold->addend; in flow_change()
440 fnew->divisor = fold->divisor; in flow_change()
441 fnew->baseclass = fold->baseclass; in flow_change()
442 fnew->hashrnd = fold->hashrnd; in flow_change()
481 fnew->handle = handle; in flow_change()
482 fnew->mask = ~0U; in flow_change()
483 fnew->tp = tp; in flow_change()
484 get_random_bytes(&fnew->hashrnd, 4); in flow_change()
487 fnew->perturb_timer.function = flow_perturbation; in flow_change()
488 fnew->perturb_timer.data = (unsigned long)fnew; in flow_change()
489 init_timer_deferrable(&fnew->perturb_timer); in flow_change()
491 tcf_exts_change(tp, &fnew->exts, &e); in flow_change()
492 tcf_em_tree_change(tp, &fnew->ematches, &t); in flow_change()
497 fnew->keymask = keymask; in flow_change()
498 fnew->nkeys = nkeys; in flow_change()
501 fnew->mode = mode; in flow_change()
504 fnew->mask = nla_get_u32(tb[TCA_FLOW_MASK]); in flow_change()
506 fnew->xor = nla_get_u32(tb[TCA_FLOW_XOR]); in flow_change()
508 fnew->rshift = nla_get_u32(tb[TCA_FLOW_RSHIFT]); in flow_change()
510 fnew->addend = nla_get_u32(tb[TCA_FLOW_ADDEND]); in flow_change()
513 fnew->divisor = nla_get_u32(tb[TCA_FLOW_DIVISOR]); in flow_change()
515 fnew->baseclass = baseclass; in flow_change()
517 fnew->perturb_period = perturb_period; in flow_change()
519 mod_timer(&fnew->perturb_timer, jiffies + perturb_period); in flow_change()
522 list_add_tail_rcu(&fnew->list, &head->filters); in flow_change()
524 list_replace_rcu(&fold->list, &fnew->list); in flow_change()
526 *arg = (unsigned long)fnew; in flow_change()
534 kfree(fnew); in flow_change()