Lines Matching full:vctrl

218 static bool vcap_verify_keystream_keyset(struct vcap_control *vctrl,  in vcap_verify_keystream_keyset()  argument
224 const struct vcap_info *vcap = &vctrl->vcaps[vt]; in vcap_verify_keystream_keyset()
233 if (vcap_keyfield_count(vctrl, vt, keyset) == 0) in vcap_verify_keystream_keyset()
236 info = vcap_keyfieldset(vctrl, vt, keyset); in vcap_verify_keystream_keyset()
246 tgt = vcap_keyfield_typegroup(vctrl, vt, keyset); in vcap_verify_keystream_keyset()
250 fields = vcap_keyfields(vctrl, vt, keyset); in vcap_verify_keystream_keyset()
308 static int vcap_find_keystream_typegroup_sw(struct vcap_control *vctrl, in vcap_find_keystream_typegroup_sw() argument
315 tgt = vctrl->vcaps[vt].keyfield_set_typegroups; in vcap_find_keystream_typegroup_sw()
317 for (sw_idx = vctrl->vcaps[vt].sw_count; sw_idx >= 0; sw_idx--) { in vcap_find_keystream_typegroup_sw()
321 res = vcap_verify_typegroups(stream, vctrl->vcaps[vt].sw_width, in vcap_find_keystream_typegroup_sw()
333 vcap_find_keystream_keysets(struct vcap_control *vctrl, in vcap_find_keystream_keysets() argument
343 sw_count = vcap_find_keystream_typegroup_sw(vctrl, vt, keystream, mask, in vcap_find_keystream_keysets()
348 keyfield_set = vctrl->vcaps[vt].keyfield_set; in vcap_find_keystream_keysets()
349 for (idx = 0; idx < vctrl->vcaps[vt].keyfield_set_size; ++idx) { in vcap_find_keystream_keysets()
353 if (vcap_verify_keystream_keyset(vctrl, vt, keystream, in vcap_find_keystream_keysets()
366 int vcap_addr_keysets(struct vcap_control *vctrl, in vcap_addr_keysets() argument
377 keyset_sw_regs = DIV_ROUND_UP(vctrl->vcaps[vt].sw_width, 32); in vcap_addr_keysets()
378 vctrl->ops->update(ndev, admin, VCAP_CMD_READ, VCAP_SEL_ALL, addr); in vcap_addr_keysets()
379 vctrl->ops->cache_read(ndev, admin, VCAP_SEL_ENTRY, 0, in vcap_addr_keysets()
389 return vcap_find_keystream_keysets(vctrl, vt, admin->cache.keystream, in vcap_addr_keysets()
396 const struct vcap_field *vcap_keyfields(struct vcap_control *vctrl, in vcap_keyfields() argument
401 if (keyset >= vctrl->vcaps[vt].keyfield_set_size) in vcap_keyfields()
403 return vctrl->vcaps[vt].keyfield_set_map[keyset]; in vcap_keyfields()
407 const struct vcap_set *vcap_keyfieldset(struct vcap_control *vctrl, in vcap_keyfieldset() argument
414 if (keyset >= vctrl->vcaps[vt].keyfield_set_size) in vcap_keyfieldset()
416 kset = &vctrl->vcaps[vt].keyfield_set[keyset]; in vcap_keyfieldset()
417 if (kset->sw_per_item == 0 || kset->sw_per_item > vctrl->vcaps[vt].sw_count) in vcap_keyfieldset()
425 vcap_keyfield_typegroup(struct vcap_control *vctrl, in vcap_keyfield_typegroup() argument
428 const struct vcap_set *kset = vcap_keyfieldset(vctrl, vt, keyset); in vcap_keyfield_typegroup()
433 return vctrl->vcaps[vt].keyfield_set_typegroups[kset->sw_per_item]; in vcap_keyfield_typegroup()
437 int vcap_keyfield_count(struct vcap_control *vctrl, in vcap_keyfield_count() argument
441 if (keyset >= vctrl->vcaps[vt].keyfield_set_size) in vcap_keyfield_count()
443 return vctrl->vcaps[vt].keyfield_set_map_size[keyset]; in vcap_keyfield_count()
451 int sw_width = ri->vctrl->vcaps[ri->admin->vtype].sw_width; in vcap_encode_keyfield()
499 static void vcap_encode_keyfield_typegroups(struct vcap_control *vctrl, in vcap_encode_keyfield_typegroups() argument
503 int sw_width = vctrl->vcaps[ri->admin->vtype].sw_width; in vcap_encode_keyfield_typegroups()
644 kf_table = vcap_keyfields(ri->vctrl, ri->admin->vtype, ri->data.keyset); in vcap_encode_rule_keyset()
651 tg_table = vcap_keyfield_typegroup(ri->vctrl, ri->admin->vtype, in vcap_encode_rule_keyset()
659 keyset_size = vcap_keyfield_count(ri->vctrl, ri->admin->vtype, in vcap_encode_rule_keyset()
685 vcap_encode_keyfield_typegroups(ri->vctrl, ri, tg_table); in vcap_encode_rule_keyset()
691 vcap_actionfields(struct vcap_control *vctrl, in vcap_actionfields() argument
695 if (actionset >= vctrl->vcaps[vt].actionfield_set_size) in vcap_actionfields()
697 return vctrl->vcaps[vt].actionfield_set_map[actionset]; in vcap_actionfields()
701 vcap_actionfieldset(struct vcap_control *vctrl, in vcap_actionfieldset() argument
707 if (actionset >= vctrl->vcaps[vt].actionfield_set_size) in vcap_actionfieldset()
709 aset = &vctrl->vcaps[vt].actionfield_set[actionset]; in vcap_actionfieldset()
710 if (aset->sw_per_item == 0 || aset->sw_per_item > vctrl->vcaps[vt].sw_count) in vcap_actionfieldset()
717 vcap_actionfield_typegroup(struct vcap_control *vctrl, in vcap_actionfield_typegroup() argument
720 const struct vcap_set *aset = vcap_actionfieldset(vctrl, vt, actionset); in vcap_actionfield_typegroup()
725 return vctrl->vcaps[vt].actionfield_set_typegroups[aset->sw_per_item]; in vcap_actionfield_typegroup()
729 int vcap_actionfield_count(struct vcap_control *vctrl, in vcap_actionfield_count() argument
734 if (actionset >= vctrl->vcaps[vt].actionfield_set_size) in vcap_actionfield_count()
736 return vctrl->vcaps[vt].actionfield_set_map_size[actionset]; in vcap_actionfield_count()
744 int act_width = ri->vctrl->vcaps[ri->admin->vtype].act_width; in vcap_encode_actionfield()
784 int sw_width = ri->vctrl->vcaps[ri->admin->vtype].act_width; in vcap_encode_actionfield_typegroups()
802 af_table = vcap_actionfields(ri->vctrl, ri->admin->vtype, in vcap_encode_rule_actionset()
810 tg_table = vcap_actionfield_typegroup(ri->vctrl, ri->admin->vtype, in vcap_encode_rule_actionset()
818 actionset_size = vcap_actionfield_count(ri->vctrl, ri->admin->vtype, in vcap_encode_rule_actionset()
880 ri->vctrl->ops->cache_erase(ri->admin); in vcap_erase_cache()
891 kset = vcap_keyfieldset(ri->vctrl, ri->admin->vtype, keyset); in vcap_set_rule_set_keyset()
896 sw_width = ri->vctrl->vcaps[ri->admin->vtype].sw_width; in vcap_set_rule_set_keyset()
911 aset = vcap_actionfieldset(ri->vctrl, ri->admin->vtype, actionset); in vcap_set_rule_set_actionset()
916 act_width = ri->vctrl->vcaps[ri->admin->vtype].act_width; in vcap_set_rule_set_actionset()
924 static bool vcap_rule_exists(struct vcap_control *vctrl, u32 id) in vcap_rule_exists() argument
930 list_for_each_entry(admin, &vctrl->list, list) in vcap_rule_exists()
939 vcap_get_locked_rule(struct vcap_control *vctrl, u32 id) in vcap_get_locked_rule() argument
945 list_for_each_entry(admin, &vctrl->list, list) { in vcap_get_locked_rule()
956 int vcap_lookup_rule_by_cookie(struct vcap_control *vctrl, u64 cookie) in vcap_lookup_rule_by_cookie() argument
963 list_for_each_entry(admin, &vctrl->list, list) { in vcap_lookup_rule_by_cookie()
1326 vcap_verify_actionstream_actionset(struct vcap_control *vctrl, in vcap_verify_actionstream_actionset() argument
1335 if (vcap_actionfield_count(vctrl, vt, actionset) == 0) in vcap_verify_actionstream_actionset()
1338 info = vcap_actionfieldset(vctrl, vt, actionset); in vcap_verify_actionstream_actionset()
1348 tgt = vcap_actionfield_typegroup(vctrl, vt, actionset); in vcap_verify_actionstream_actionset()
1352 fields = vcap_actionfields(vctrl, vt, actionset); in vcap_verify_actionstream_actionset()
1362 static int vcap_find_actionstream_typegroup_sw(struct vcap_control *vctrl, in vcap_find_actionstream_typegroup_sw() argument
1369 tgt = vctrl->vcaps[vt].actionfield_set_typegroups; in vcap_find_actionstream_typegroup_sw()
1371 for (sw_idx = vctrl->vcaps[vt].sw_count; sw_idx >= 0; sw_idx--) { in vcap_find_actionstream_typegroup_sw()
1374 res = vcap_verify_typegroups(stream, vctrl->vcaps[vt].act_width, in vcap_find_actionstream_typegroup_sw()
1386 vcap_find_actionstream_actionset(struct vcap_control *vctrl, in vcap_find_actionstream_actionset() argument
1395 sw_count = vcap_find_actionstream_typegroup_sw(vctrl, vt, stream, in vcap_find_actionstream_actionset()
1400 actionfield_set = vctrl->vcaps[vt].actionfield_set; in vcap_find_actionstream_actionset()
1401 for (idx = 0; idx < vctrl->vcaps[vt].actionfield_set_size; ++idx) { in vcap_find_actionstream_actionset()
1405 res = vcap_verify_actionstream_actionset(vctrl, vt, in vcap_find_actionstream_actionset()
1433 struct vcap_control *vctrl = ri->vctrl; in vcap_decode_actionset() local
1445 res = vcap_find_actionstream_actionset(vctrl, vt, actstream, 0); in vcap_decode_actionset()
1452 actfield_count = vcap_actionfield_count(vctrl, vt, actionset); in vcap_decode_actionset()
1453 actionfield = vcap_actionfields(vctrl, vt, actionset); in vcap_decode_actionset()
1454 tgt = vcap_actionfield_typegroup(vctrl, vt, actionset); in vcap_decode_actionset()
1461 vcap_iter_init(&iter, vctrl->vcaps[vt].act_width, tgt, in vcap_decode_actionset()
1476 struct vcap_control *vctrl = ri->vctrl; in vcap_decode_keyset() local
1496 res = vcap_find_keystream_keysets(vctrl, vt, keystream, maskstream, in vcap_decode_keyset()
1504 keyfield_count = vcap_keyfield_count(vctrl, vt, keyset); in vcap_decode_keyset()
1505 keyfield = vcap_keyfields(vctrl, vt, keyset); in vcap_decode_keyset()
1506 tgt = vcap_keyfield_typegroup(vctrl, vt, keyset); in vcap_decode_keyset()
1513 vcap_iter_init(&miter, vctrl->vcaps[vt].sw_width, tgt, in vcap_decode_keyset()
1522 vcap_iter_init(&kiter, vctrl->vcaps[vt].sw_width, tgt, in vcap_decode_keyset()
1545 ri->vctrl->ops->update(ri->ndev, admin, VCAP_CMD_READ, in vcap_read_rule()
1547 ri->vctrl->ops->cache_read(ri->ndev, admin, in vcap_read_rule()
1550 ri->vctrl->ops->cache_read(ri->ndev, admin, in vcap_read_rule()
1554 ri->vctrl->ops->cache_read(ri->ndev, admin, in vcap_read_rule()
1576 ri->vctrl->ops->cache_write(ri->ndev, admin, in vcap_write_rule()
1579 ri->vctrl->ops->cache_write(ri->ndev, admin, in vcap_write_rule()
1582 ri->vctrl->ops->update(ri->ndev, admin, VCAP_CMD_WRITE, in vcap_write_rule()
1597 ri->vctrl->ops->cache_write(ri->ndev, admin, VCAP_SEL_COUNTER, in vcap_write_counter()
1599 ri->vctrl->ops->update(ri->ndev, admin, VCAP_CMD_WRITE, in vcap_write_counter()
1622 struct vcap_admin *vcap_find_admin(struct vcap_control *vctrl, int cid) in vcap_find_admin() argument
1626 if (vcap_api_check(vctrl)) in vcap_find_admin()
1629 list_for_each_entry(admin, &vctrl->list, list) { in vcap_find_admin()
1638 static bool vcap_admin_is_last(struct vcap_control *vctrl, in vcap_admin_is_last() argument
1645 list_for_each_entry(iter, &vctrl->list, list) { in vcap_admin_is_last()
1659 int vcap_chain_offset(struct vcap_control *vctrl, int from_cid, int to_cid) in vcap_chain_offset() argument
1677 bool vcap_is_next_lookup(struct vcap_control *vctrl, int src_cid, int dst_cid) in vcap_is_next_lookup() argument
1682 if (vcap_api_check(vctrl)) in vcap_is_next_lookup()
1691 admin = vcap_find_admin(vctrl, dst_cid); in vcap_is_next_lookup()
1720 kset = vcap_keyfieldset(ri->vctrl, vt, keyset); in vcap_add_type_keyfield()
1726 fields = vcap_keyfields(ri->vctrl, vt, keyset); in vcap_add_type_keyfield()
1753 aset = vcap_actionfieldset(ri->vctrl, vt, actionset); in vcap_add_type_actionfield()
1759 fields = vcap_actionfields(ri->vctrl, vt, actionset); in vcap_add_type_actionfield()
1810 const char *vcap_keyset_name(struct vcap_control *vctrl, in vcap_keyset_name() argument
1813 return vctrl->stats->keyfield_set_names[keyset]; in vcap_keyset_name()
1818 const char *vcap_keyfield_name(struct vcap_control *vctrl, in vcap_keyfield_name() argument
1821 return vctrl->stats->keyfield_names[key]; in vcap_keyfield_name()
1826 const char *vcap_actionset_name(struct vcap_control *vctrl, in vcap_actionset_name() argument
1829 return vctrl->stats->actionfield_set_names[actionset]; in vcap_actionset_name()
1833 const char *vcap_actionfield_name(struct vcap_control *vctrl, in vcap_actionfield_name() argument
1836 return vctrl->stats->actionfield_names[action]; in vcap_actionfield_name()
1841 vcap_find_keyset_keyfield(struct vcap_control *vctrl, in vcap_find_keyset_keyfield() argument
1849 fields = vcap_keyfields(vctrl, vtype, keyset); in vcap_find_keyset_keyfield()
1854 count = vcap_keyfield_count(vctrl, vtype, keyset); in vcap_find_keyset_keyfield()
1876 map = ri->vctrl->vcaps[vtype].keyfield_set_map; in _vcap_rule_find_keysets()
1877 map_size = ri->vctrl->vcaps[vtype].keyfield_set_size; in _vcap_rule_find_keysets()
1893 if (vcap_find_keyset_keyfield(ri->vctrl, vtype, in _vcap_rule_find_keysets()
1919 vcap_find_actionset_actionfield(struct vcap_control *vctrl, in vcap_find_actionset_actionfield() argument
1927 fields = vcap_actionfields(vctrl, vtype, actionset); in vcap_find_actionset_actionfield()
1932 count = vcap_actionfield_count(vctrl, vtype, actionset); in vcap_find_actionset_actionfield()
1954 map = ri->vctrl->vcaps[vtype].actionfield_set_map; in vcap_rule_find_actionsets()
1955 map_size = ri->vctrl->vcaps[vtype].actionfield_set_size; in vcap_rule_find_actionsets()
1971 if (vcap_find_actionset_actionfield(ri->vctrl, vtype, in vcap_rule_find_actionsets()
1994 ret = vcap_api_check(ri->vctrl); in vcap_val_rule()
2021 ret = ri->vctrl->ops->validate_keyset(ri->ndev, ri->admin, rule, in vcap_val_rule()
2058 ri->vctrl->ops->add_default_fields(ri->ndev, ri->admin, rule); in vcap_val_rule()
2091 if (!vcap_rule_exists(ri->vctrl, next_id)) { in vcap_set_rule_id()
2102 int sw_count = ri->vctrl->vcaps[ri->admin->vtype].sw_count; in vcap_insert_rule()
2169 ri->vctrl->ops->move(ri->ndev, ri->admin, move->addr, in vcap_move_rules()
2174 static bool vcap_is_chain_used(struct vcap_control *vctrl, in vcap_is_chain_used() argument
2180 list_for_each_entry(admin, &vctrl->list, list) in vcap_is_chain_used()
2189 static int vcap_get_next_chain(struct vcap_control *vctrl, in vcap_get_next_chain() argument
2196 list_for_each_entry(admin, &vctrl->list, list) { in vcap_get_next_chain()
2208 static bool vcap_path_exist(struct vcap_control *vctrl, struct net_device *ndev, in vcap_path_exist() argument
2221 list_for_each_entry(admin, &vctrl->list, list) { in vcap_path_exist()
2237 tmp = vcap_get_next_chain(vctrl, ndev, tmp); in vcap_path_exist()
2251 else if (vcap_path_exist(ri->vctrl, ri->ndev, ri->data.vcap_chain_id)) in vcap_rule_set_state()
2265 ret = vcap_api_check(ri->vctrl); in vcap_add_rule()
2288 ri->vctrl->ops->init(ri->ndev, ri->admin, ri->addr, ri->size); in vcap_add_rule()
2311 struct vcap_rule *vcap_alloc_rule(struct vcap_control *vctrl, in vcap_alloc_rule() argument
2320 err = vcap_api_check(vctrl); in vcap_alloc_rule()
2326 admin = vcap_find_admin(vctrl, vcap_chain_id); in vcap_alloc_rule()
2330 if (vctrl->vcaps[admin->vtype].rows == 0) in vcap_alloc_rule()
2335 if (vcap_rule_exists(vctrl, id)) { in vcap_alloc_rule()
2341 maxsize = vctrl->vcaps[admin->vtype].sw_count; /* worst case rule size */ in vcap_alloc_rule()
2365 ri->vctrl = vctrl; /* refer to the client */ in vcap_alloc_rule()
2434 struct vcap_rule *vcap_get_rule(struct vcap_control *vctrl, u32 id) in vcap_get_rule() argument
2440 err = vcap_api_check(vctrl); in vcap_get_rule()
2444 elem = vcap_get_locked_rule(vctrl, id); in vcap_get_rule()
2461 err = vcap_api_check(ri->vctrl); in vcap_mod_rule()
2465 if (!vcap_get_locked_rule(ri->vctrl, ri->data.id)) in vcap_mod_rule()
2537 int vcap_del_rule(struct vcap_control *vctrl, struct net_device *ndev, u32 id) in vcap_del_rule() argument
2546 err = vcap_api_check(vctrl); in vcap_del_rule()
2550 ri = vcap_get_locked_rule(vctrl, id); in vcap_del_rule()
2561 vctrl->ops->init(ndev, admin, admin->last_used_addr, ri->size + gap); in vcap_del_rule()
2579 int vcap_del_rules(struct vcap_control *vctrl, struct vcap_admin *admin) in vcap_del_rules() argument
2583 int ret = vcap_api_check(vctrl); in vcap_del_rules()
2590 vctrl->ops->init(ri->ndev, admin, ri->addr, ri->size); in vcap_del_rules()
2631 fields = vcap_keyfields(ri->vctrl, vt, keyset); in vcap_lookup_keyfield()
2663 fields = vcap_keyfields(ri->vctrl, vt, keyset); in vcap_keyfield_match_keyset()
2681 vcap_keyfield_name(ri->vctrl, key)); in vcap_rule_add_key()
2688 vcap_keyfield_name(ri->vctrl, key)); in vcap_rule_add_key()
2831 fields = vcap_actionfields(ri->vctrl, vt, actionset); in vcap_actionfield_match_actionset()
2849 vcap_actionfield_name(ri->vctrl, action)); in vcap_rule_add_action()
2856 vcap_actionfield_name(ri->vctrl, action)); in vcap_rule_add_action()
2927 ri->vctrl->ops->update(ri->ndev, admin, VCAP_CMD_READ, VCAP_SEL_COUNTER, in vcap_read_counter()
2929 ri->vctrl->ops->cache_read(ri->ndev, admin, VCAP_SEL_COUNTER, in vcap_read_counter()
3006 static int vcap_enable_rules(struct vcap_control *vctrl, in vcap_enable_rules() argument
3014 list_for_each_entry(admin, &vctrl->list, list) { in vcap_enable_rules()
3060 ri->vctrl->ops->init(ri->ndev, ri->admin, ri->addr, ri->size); in vcap_disable_rule()
3065 static int vcap_disable_rules(struct vcap_control *vctrl, in vcap_disable_rules() argument
3072 list_for_each_entry(admin, &vctrl->list, list) { in vcap_disable_rules()
3100 static bool vcap_is_enabled(struct vcap_control *vctrl, struct net_device *ndev, in vcap_is_enabled() argument
3106 list_for_each_entry(admin, &vctrl->list, list) in vcap_is_enabled()
3115 static int vcap_enable(struct vcap_control *vctrl, struct net_device *ndev, in vcap_enable() argument
3124 admin = vcap_find_admin(vctrl, dst_cid); in vcap_enable()
3140 if (vcap_path_exist(vctrl, ndev, src_cid)) { in vcap_enable()
3143 admin = vcap_find_admin(vctrl, dst_cid); in vcap_enable()
3147 vcap_enable_rules(vctrl, ndev, dst_cid); in vcap_enable()
3148 dst_cid = vcap_get_next_chain(vctrl, ndev, dst_cid); in vcap_enable()
3155 static int vcap_disable(struct vcap_control *vctrl, struct net_device *ndev, in vcap_disable() argument
3162 list_for_each_entry(admin, &vctrl->list, list) { in vcap_disable()
3180 admin = vcap_find_admin(vctrl, dst_cid); in vcap_disable()
3184 vcap_disable_rules(vctrl, ndev, dst_cid); in vcap_disable()
3185 dst_cid = vcap_get_next_chain(vctrl, ndev, dst_cid); in vcap_disable()
3196 int vcap_enable_lookups(struct vcap_control *vctrl, struct net_device *ndev, in vcap_enable_lookups() argument
3202 err = vcap_api_check(vctrl); in vcap_enable_lookups()
3216 if (vcap_is_enabled(vctrl, ndev, dst_cid)) in vcap_enable_lookups()
3218 if (vcap_is_chain_used(vctrl, ndev, src_cid)) in vcap_enable_lookups()
3220 err = vcap_enable(vctrl, ndev, cookie, src_cid, dst_cid); in vcap_enable_lookups()
3222 err = vcap_disable(vctrl, ndev, cookie); in vcap_enable_lookups()
3230 bool vcap_is_last_chain(struct vcap_control *vctrl, int cid, bool ingress) in vcap_is_last_chain() argument
3235 if (vcap_api_check(vctrl)) in vcap_is_last_chain()
3238 admin = vcap_find_admin(vctrl, cid); in vcap_is_last_chain()
3242 if (!vcap_admin_is_last(vctrl, admin, ingress)) in vcap_is_last_chain()
3265 err = vcap_api_check(ri->vctrl); in vcap_rule_set_counter()
3286 err = vcap_api_check(ri->vctrl); in vcap_rule_get_counter()
3323 struct vcap_control *vctrl = ri->vctrl; in vcap_rule_get_untyped_keyset() local
3328 keyfield_set = vctrl->vcaps[vt].keyfield_set; in vcap_rule_get_untyped_keyset()
3329 for (idx = 0; idx < vctrl->vcaps[vt].keyfield_set_size; ++idx) { in vcap_rule_get_untyped_keyset()
3343 struct vcap_control *vctrl = ri->vctrl; in vcap_rule_get_keysets() local
3364 keyfield_set = vctrl->vcaps[vt].keyfield_set; in vcap_rule_get_keysets()
3365 for (idx = 0; idx < vctrl->vcaps[vt].keyfield_set_size; ++idx) { in vcap_rule_get_keysets()
3384 int vcap_get_rule_count_by_cookie(struct vcap_control *vctrl, in vcap_get_rule_count_by_cookie() argument
3392 err = vcap_api_check(vctrl); in vcap_get_rule_count_by_cookie()
3397 list_for_each_entry(admin, &vctrl->list, list) { in vcap_get_rule_count_by_cookie()
3460 __func__, __LINE__, vcap_keyfield_name(ri->vctrl, key)); in vcap_rule_rem_key()
3524 fields = vcap_keyfields(ri->vctrl, ri->admin->vtype, in vcap_filter_rule_keys()
3544 vcap_select_min_rule_keyset(struct vcap_control *vctrl, in vcap_select_min_rule_keyset() argument
3553 kset = vcap_keyfieldset(vctrl, vtype, kslist->keysets[idx]); in vcap_select_min_rule_keyset()
3574 err = vcap_api_check(ri->vctrl); in vcap_copy_rule()
3578 rule = vcap_alloc_rule(ri->vctrl, ri->ndev, ri->data.vcap_chain_id, in vcap_copy_rule()