Lines Matching refs:action
181 "Last action must be GOTO");
191 filter->action.vid_replace_ena = true;
192 filter->action.pcp_dei_ena = true;
193 filter->action.vid = a->vlan.vid;
194 filter->action.pcp = a->vlan.prio;
220 filter->action.tag_a_tpid_sel = tpid;
221 filter->action.push_outer_tag = OCELOT_ES0_TAG;
222 filter->action.tag_a_vid_sel = OCELOT_ES0_VID_PLUS_CLASSIFIED_VID;
223 filter->action.vid_a_val = a->vlan.vid;
224 filter->action.pcp_a_val = a->vlan.prio;
225 filter->action.tag_a_pcp_sel = OCELOT_ES0_PCP;
235 const struct flow_action *action = &f->rule->action;
245 if (!flow_action_basic_hw_stats_check(&f->rule->action,
263 flow_action_for_each(i, a, action) {
268 "Drop action can only be offloaded to VCAP IS2");
273 "Last action must be GOTO");
276 filter->action.mask_mode = OCELOT_MASK_MODE_PERMIT_DENY;
277 filter->action.port_mask = 0;
278 filter->action.police_ena = true;
279 filter->action.pol_ix = OCELOT_POLICER_DISCARD;
287 "Accept action can only be offloaded to VCAP chains");
293 "Last action must be GOTO");
302 "Trap action can only be offloaded to VCAP IS2 lookup 0");
307 "Last action must be GOTO");
310 filter->action.mask_mode = OCELOT_MASK_MODE_PERMIT_DENY;
311 filter->action.port_mask = 0;
312 filter->action.cpu_copy_ena = true;
313 filter->action.cpu_qu_num = 0;
325 "Police action can only be offloaded to VCAP IS2 lookup 0 or PSFP");
330 "Last action must be GOTO");
334 err = ocelot_policer_validate(action, a, extack);
338 filter->action.police_ena = true;
351 filter->action.pol_ix = pol_ix;
354 filter->action.pol.rate = div_u64(rate, 1000) * 8;
355 filter->action.pol.burst = a->police.burst;
361 "Redirect action can only be offloaded to VCAP IS2");
366 "Last action must be GOTO");
375 filter->action.mask_mode = OCELOT_MASK_MODE_REDIRECT;
376 filter->action.port_mask = BIT(egress_port);
382 "Mirror action can only be offloaded to VCAP IS2");
387 "Last action must be GOTO");
397 filter->action.mirror_ena = true;
403 "VLAN pop action can only be offloaded to VCAP IS1");
408 "Last action must be GOTO");
411 filter->action.vlan_pop_cnt_ena = true;
412 filter->action.vlan_pop_cnt++;
413 if (filter->action.vlan_pop_cnt > 2) {
430 "VLAN modify action can only be offloaded to VCAP IS1 or ES0");
439 "Priority action can only be offloaded to VCAP IS1");
444 "Last action must be GOTO");
447 filter->action.qos_ena = true;
448 filter->action.qos_val = a->priority;
457 filter->action.pag_override_mask = 0xff;
458 filter->action.pag_val = pag;
465 "VLAN push action can only be offloaded to VCAP ES0");
480 filter->action.tag_a_tpid_sel = tpid;
481 filter->action.push_outer_tag = OCELOT_ES0_TAG;
482 filter->action.tag_a_vid_sel = OCELOT_ES0_VID;
483 filter->action.vid_a_val = a->vlan.vid;
484 filter->action.pcp_a_val = a->vlan.prio;
490 "Gate action can only be offloaded to PSFP chain");
496 NL_SET_ERR_MSG_MOD(extack, "Cannot offload action");
506 NL_SET_ERR_MSG_MOD(extack, "Missing GOTO action");
845 * action), but the action was parsed first. So we need to patch the delta into
846 * the action here.
853 filter->action.tag_a_vid_sel != OCELOT_ES0_VID_PLUS_CLASSIFIED_VID)
862 filter->action.vid_a_val -= filter->vlan.vid.value;
863 filter->action.vid_a_val &= VLAN_VID_MASK;
877 NL_SET_ERR_MSG_MOD(extack, "No default GOTO action points to this chain");