• Home
  • Raw
  • Download

Lines Matching refs:cls_flower

433 	struct flow_cls_offload cls_flower = {};  in fl_hw_destroy_filter()  local
435 tc_cls_common_offload_init(&cls_flower.common, tp, f->flags, extack); in fl_hw_destroy_filter()
436 cls_flower.command = FLOW_CLS_DESTROY; in fl_hw_destroy_filter()
437 cls_flower.cookie = (unsigned long) f; in fl_hw_destroy_filter()
439 tc_setup_cb_destroy(block, tp, TC_SETUP_CLSFLOWER, &cls_flower, false, in fl_hw_destroy_filter()
449 struct flow_cls_offload cls_flower = {}; in fl_hw_replace_filter() local
453 cls_flower.rule = flow_rule_alloc(tcf_exts_num_actions(&f->exts)); in fl_hw_replace_filter()
454 if (!cls_flower.rule) in fl_hw_replace_filter()
457 tc_cls_common_offload_init(&cls_flower.common, tp, f->flags, extack); in fl_hw_replace_filter()
458 cls_flower.command = FLOW_CLS_REPLACE; in fl_hw_replace_filter()
459 cls_flower.cookie = (unsigned long) f; in fl_hw_replace_filter()
460 cls_flower.rule->match.dissector = &f->mask->dissector; in fl_hw_replace_filter()
461 cls_flower.rule->match.mask = &f->mask->key; in fl_hw_replace_filter()
462 cls_flower.rule->match.key = &f->mkey; in fl_hw_replace_filter()
463 cls_flower.classid = f->res.classid; in fl_hw_replace_filter()
465 err = tc_setup_flow_action(&cls_flower.rule->action, &f->exts); in fl_hw_replace_filter()
467 kfree(cls_flower.rule); in fl_hw_replace_filter()
475 err = tc_setup_cb_add(block, tp, TC_SETUP_CLSFLOWER, &cls_flower, in fl_hw_replace_filter()
477 tc_cleanup_flow_action(&cls_flower.rule->action); in fl_hw_replace_filter()
478 kfree(cls_flower.rule); in fl_hw_replace_filter()
495 struct flow_cls_offload cls_flower = {}; in fl_hw_update_stats() local
497 tc_cls_common_offload_init(&cls_flower.common, tp, f->flags, NULL); in fl_hw_update_stats()
498 cls_flower.command = FLOW_CLS_STATS; in fl_hw_update_stats()
499 cls_flower.cookie = (unsigned long) f; in fl_hw_update_stats()
500 cls_flower.classid = f->res.classid; in fl_hw_update_stats()
502 tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, false, in fl_hw_update_stats()
505 tcf_exts_stats_update(&f->exts, cls_flower.stats.bytes, in fl_hw_update_stats()
506 cls_flower.stats.pkts, in fl_hw_update_stats()
507 cls_flower.stats.drops, in fl_hw_update_stats()
508 cls_flower.stats.lastused, in fl_hw_update_stats()
509 cls_flower.stats.used_hw_stats, in fl_hw_update_stats()
510 cls_flower.stats.used_hw_stats_valid); in fl_hw_update_stats()
2264 struct flow_cls_offload cls_flower = {}; in fl_reoffload() local
2275 cls_flower.rule = in fl_reoffload()
2277 if (!cls_flower.rule) { in fl_reoffload()
2282 tc_cls_common_offload_init(&cls_flower.common, tp, f->flags, in fl_reoffload()
2284 cls_flower.command = add ? in fl_reoffload()
2286 cls_flower.cookie = (unsigned long)f; in fl_reoffload()
2287 cls_flower.rule->match.dissector = &f->mask->dissector; in fl_reoffload()
2288 cls_flower.rule->match.mask = &f->mask->key; in fl_reoffload()
2289 cls_flower.rule->match.key = &f->mkey; in fl_reoffload()
2291 err = tc_setup_flow_action(&cls_flower.rule->action, &f->exts); in fl_reoffload()
2293 kfree(cls_flower.rule); in fl_reoffload()
2302 cls_flower.classid = f->res.classid; in fl_reoffload()
2305 TC_SETUP_CLSFLOWER, &cls_flower, in fl_reoffload()
2308 tc_cleanup_flow_action(&cls_flower.rule->action); in fl_reoffload()
2309 kfree(cls_flower.rule); in fl_reoffload()
2324 struct flow_cls_offload *cls_flower = type_data; in fl_hw_add() local
2326 (struct cls_fl_filter *) cls_flower->cookie; in fl_hw_add()
2336 struct flow_cls_offload *cls_flower = type_data; in fl_hw_del() local
2338 (struct cls_fl_filter *) cls_flower->cookie; in fl_hw_del()
2349 struct flow_cls_offload cls_flower = {}; in fl_hw_create_tmplt() local
2352 cls_flower.rule = flow_rule_alloc(0); in fl_hw_create_tmplt()
2353 if (!cls_flower.rule) in fl_hw_create_tmplt()
2356 cls_flower.common.chain_index = chain->index; in fl_hw_create_tmplt()
2357 cls_flower.command = FLOW_CLS_TMPLT_CREATE; in fl_hw_create_tmplt()
2358 cls_flower.cookie = (unsigned long) tmplt; in fl_hw_create_tmplt()
2359 cls_flower.rule->match.dissector = &tmplt->dissector; in fl_hw_create_tmplt()
2360 cls_flower.rule->match.mask = &tmplt->mask; in fl_hw_create_tmplt()
2361 cls_flower.rule->match.key = &tmplt->dummy_key; in fl_hw_create_tmplt()
2366 tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, false, true); in fl_hw_create_tmplt()
2367 kfree(cls_flower.rule); in fl_hw_create_tmplt()
2375 struct flow_cls_offload cls_flower = {}; in fl_hw_destroy_tmplt() local
2378 cls_flower.common.chain_index = chain->index; in fl_hw_destroy_tmplt()
2379 cls_flower.command = FLOW_CLS_TMPLT_DESTROY; in fl_hw_destroy_tmplt()
2380 cls_flower.cookie = (unsigned long) tmplt; in fl_hw_destroy_tmplt()
2382 tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, false, true); in fl_hw_destroy_tmplt()