• Home
  • Raw
  • Download

Lines Matching refs:fnew

1889 				struct cls_fl_filter *fnew,  in fl_check_assign_mask()  argument
1902 fnew->mask = rhashtable_lookup_get_insert_fast(&head->ht, in fl_check_assign_mask()
1905 if (!fnew->mask) { in fl_check_assign_mask()
1919 fnew->mask = newmask; in fl_check_assign_mask()
1921 } else if (IS_ERR(fnew->mask)) { in fl_check_assign_mask()
1922 ret = PTR_ERR(fnew->mask); in fl_check_assign_mask()
1923 } else if (fold && fold->mask != fnew->mask) { in fl_check_assign_mask()
1925 } else if (!refcount_inc_not_zero(&fnew->mask->refcnt)) { in fl_check_assign_mask()
1975 static int fl_ht_insert_unique(struct cls_fl_filter *fnew, in fl_ht_insert_unique() argument
1979 struct fl_flow_mask *mask = fnew->mask; in fl_ht_insert_unique()
1983 &fnew->ht_node, in fl_ht_insert_unique()
2006 struct cls_fl_filter *fnew; in fl_change() local
2039 fnew = kzalloc(sizeof(*fnew), GFP_KERNEL); in fl_change()
2040 if (!fnew) { in fl_change()
2044 INIT_LIST_HEAD(&fnew->hw_list); in fl_change()
2045 refcount_set(&fnew->refcnt, 1); in fl_change()
2047 err = tcf_exts_init(&fnew->exts, net, TCA_FLOWER_ACT, 0); in fl_change()
2052 fnew->flags = nla_get_u32(tb[TCA_FLOWER_FLAGS]); in fl_change()
2054 if (!tc_flags_valid(fnew->flags)) { in fl_change()
2060 err = fl_set_parms(net, tp, fnew, mask, base, tb, tca[TCA_RATE], in fl_change()
2065 err = fl_check_assign_mask(head, fnew, fold, mask); in fl_change()
2069 err = fl_ht_insert_unique(fnew, fold, &in_ht); in fl_change()
2073 if (!tc_skip_hw(fnew->flags)) { in fl_change()
2074 err = fl_hw_replace_filter(tp, fnew, rtnl_held, extack); in fl_change()
2079 if (!tc_in_hw(fnew->flags)) in fl_change()
2080 fnew->flags |= TCA_CLS_FLAGS_NOT_IN_HW; in fl_change()
2099 fnew->handle = handle; in fl_change()
2103 fnew->mask->filter_ht_params; in fl_change()
2105 err = rhashtable_insert_fast(&fnew->mask->ht, in fl_change()
2106 &fnew->ht_node, in fl_change()
2113 refcount_inc(&fnew->refcnt); in fl_change()
2117 idr_replace(&head->handle_idr, fnew, fnew->handle); in fl_change()
2118 list_replace_rcu(&fold->list, &fnew->list); in fl_change()
2135 err = idr_alloc_u32(&head->handle_idr, fnew, &handle, in fl_change()
2148 err = idr_alloc_u32(&head->handle_idr, fnew, &handle, in fl_change()
2154 refcount_inc(&fnew->refcnt); in fl_change()
2155 fnew->handle = handle; in fl_change()
2156 list_add_tail_rcu(&fnew->list, &fnew->mask->filters); in fl_change()
2160 *arg = fnew; in fl_change()
2169 fnew->deleted = true; in fl_change()
2171 if (!tc_skip_hw(fnew->flags)) in fl_change()
2172 fl_hw_destroy_filter(tp, fnew, rtnl_held, NULL); in fl_change()
2174 rhashtable_remove_fast(&fnew->mask->ht, &fnew->ht_node, in fl_change()
2175 fnew->mask->filter_ht_params); in fl_change()
2177 fl_mask_put(head, fnew->mask); in fl_change()
2179 __fl_put(fnew); in fl_change()