Lines Matching defs:fco

77 		NL_SET_ERR_MSG_MOD(st->fco->common.extack,
155 NL_SET_ERR_MSG_MOD(st->fco->common.extack, "ip_proto parse error");
162 struct netlink_ext_ack *extack = st->fco->common.extack;
214 NL_SET_ERR_MSG_MOD(st->fco->common.extack,
275 NL_SET_ERR_MSG_MOD(st->fco->common.extack,
285 struct flow_cls_offload *fco,
288 struct flow_rule *rule = flow_cls_offload_flow_rule(fco);
295 NL_SET_ERR_MSG_MOD(fco->common.extack, "No actions");
299 if (!flow_action_basic_hw_stats_check(act, fco->common.extack))
304 NL_SET_ERR_MSG_MOD(fco->common.extack,
317 if (!vcap_is_next_lookup(vctrl, fco->common.chain_index,
319 NL_SET_ERR_MSG_MOD(fco->common.extack,
323 } else if (!vcap_is_last_chain(vctrl, fco->common.chain_index,
325 NL_SET_ERR_MSG_MOD(fco->common.extack,
333 NL_SET_ERR_MSG_MOD(fco->common.extack,
340 NL_SET_ERR_MSG_MOD(fco->common.extack,
347 NL_SET_ERR_MSG_MOD(fco->common.extack,
354 NL_SET_ERR_MSG_MOD(fco->common.extack,
490 struct flow_cls_offload *fco,
538 vcap_set_tc_exterr(fco, vrule);
553 struct flow_cls_offload *fco,
564 err = sparx5_tc_add_rule_copy(vctrl, fco, erule, admin,
839 struct flow_cls_offload *fco)
873 NL_SET_ERR_MSG_MOD(fco->common.extack,
883 struct flow_cls_offload *fco,
892 NL_SET_ERR_MSG_MOD(fco->common.extack,
905 NL_SET_ERR_MSG_MOD(fco->common.extack,
914 struct flow_cls_offload *fco,
929 NL_SET_ERR_MSG_MOD(fco->common.extack,
946 NL_SET_ERR_MSG_MOD(fco->common.extack,
984 struct flow_cls_offload *fco,
995 NL_SET_ERR_MSG_MOD(fco->common.extack,
1001 NL_SET_ERR_MSG_MOD(fco->common.extack,
1006 err = sparx5_tc_action_vlan_modify(admin, vrule, fco, act, act_tpid);
1025 NL_SET_ERR_MSG_MOD(fco->common.extack,
1044 struct flow_cls_offload *fco,
1051 NL_SET_ERR_MSG_MOD(fco->common.extack,
1068 struct flow_cls_offload *fco,
1075 NL_SET_ERR_MSG_MOD(fco->common.extack,
1139 struct flow_cls_offload *fco,
1147 if (ftp->cid != fco->common.chain_index)
1158 struct flow_cls_offload *fco,
1163 struct netlink_ext_ack *extack = fco->common.extack;
1166 .fco = fco,
1182 err = sparx5_tc_flower_action_check(vctrl, ndev, fco, ingress);
1186 vrule = vcap_alloc_rule(vctrl, ndev, fco->common.chain_index, VCAP_USER_TC,
1187 fco->common.prio, 0);
1191 vrule->cookie = fco->cookie;
1194 state.frule = flow_cls_offload_flow_rule(fco);
1204 fco->common.chain_index);
1208 frule = flow_cls_offload_flow_rule(fco);
1232 err = sparx5_tc_action_trap(admin, vrule, fco);
1237 err = sparx5_tc_action_mirred(admin, vrule, fco, act);
1242 err = sparx5_tc_action_redirect(admin, vrule, fco, act);
1256 fco->common.chain_index,
1260 err = sparx5_tc_action_vlan_pop(admin, vrule, fco,
1266 err = sparx5_tc_action_vlan_push(admin, vrule, fco,
1272 err = sparx5_tc_action_vlan_modify(admin, vrule, fco,
1278 NL_SET_ERR_MSG_MOD(fco->common.extack,
1298 if (!sparx5_tc_flower_use_template(ndev, fco, admin, vrule)) {
1302 NL_SET_ERR_MSG_MOD(fco->common.extack,
1311 vcap_set_tc_exterr(fco, vrule);
1316 NL_SET_ERR_MSG_MOD(fco->common.extack,
1320 err = sparx5_tc_add_remaining_rules(vctrl, fco, vrule, admin,
1385 struct flow_cls_offload *fco,
1394 rule_id = vcap_lookup_rule_by_cookie(vctrl, fco->cookie);
1419 struct flow_cls_offload *fco,
1429 err = vcap_get_rule_count_by_cookie(vctrl, &ctr, fco->cookie);
1432 flow_stats_update(&fco->stats, 0x0, ctr.value, 0, lastused,
1438 struct flow_cls_offload *fco,
1443 .fco = fco,
1460 count = vcap_admin_rule_count(admin, fco->common.chain_index);
1471 ftp->cid = fco->common.chain_index;
1476 vrule = vcap_alloc_rule(vctrl, ndev, fco->common.chain_index,
1477 VCAP_USER_TC, fco->common.prio, 0);
1484 state.frule = flow_cls_offload_flow_rule(fco);
1507 sparx5_vcap_set_port_keyset(ndev, admin, fco->common.chain_index,
1528 struct flow_cls_offload *fco,
1537 if (ftp->cid != fco->common.chain_index)
1541 fco->common.chain_index,
1551 int sparx5_tc_flower(struct net_device *ndev, struct flow_cls_offload *fco,
1561 admin = vcap_find_admin(vctrl, fco->common.chain_index);
1563 NL_SET_ERR_MSG_MOD(fco->common.extack, "Invalid chain");
1567 switch (fco->command) {
1569 return sparx5_tc_flower_replace(ndev, fco, admin, ingress);
1571 return sparx5_tc_flower_destroy(ndev, fco, admin);
1573 return sparx5_tc_flower_stats(ndev, fco, admin);
1575 return sparx5_tc_flower_template_create(ndev, fco, admin);
1577 return sparx5_tc_flower_template_destroy(ndev, fco, admin);