Lines Matching refs:action
120 static int nfp_policer_validate(const struct flow_action *action, in nfp_policer_validate() argument
148 !flow_action_is_last_entry(action, act)) { in nfp_policer_validate()
169 struct flow_action_entry *paction = &flow->rule->action.entries[0]; in nfp_flower_install_rate_limiter()
170 u32 action_num = flow->rule->action.num_entries; in nfp_flower_install_rate_limiter()
172 struct flow_action_entry *action = NULL; in nfp_flower_install_rate_limiter() local
210 if (!flow_offload_has_one_action(&flow->rule->action)) { in nfp_flower_install_rate_limiter()
223 action = paction + i; in nfp_flower_install_rate_limiter()
224 if (action->id != FLOW_ACTION_POLICE) { in nfp_flower_install_rate_limiter()
230 err = nfp_policer_validate(&flow->rule->action, action, extack, true); in nfp_flower_install_rate_limiter()
234 if (action->police.rate_bytes_ps > 0) { in nfp_flower_install_rate_limiter()
241 if (action->police.rate_pkt_ps > 0) { in nfp_flower_install_rate_limiter()
257 action = paction + i; in nfp_flower_install_rate_limiter()
258 if (action->police.rate_bytes_ps > 0) { in nfp_flower_install_rate_limiter()
259 rate = action->police.rate_bytes_ps; in nfp_flower_install_rate_limiter()
260 burst = action->police.burst; in nfp_flower_install_rate_limiter()
261 } else if (action->police.rate_pkt_ps > 0) { in nfp_flower_install_rate_limiter()
262 rate = action->police.rate_pkt_ps; in nfp_flower_install_rate_limiter()
263 burst = action->police.burst_pkt; in nfp_flower_install_rate_limiter()
272 if (action->police.rate_pkt_ps > 0) in nfp_flower_install_rate_limiter()
622 const struct flow_action_entry *action, in nfp_flower_setup_meter_entry() argument
649 if (action->police.rate_bytes_ps > 0) { in nfp_flower_setup_meter_entry()
651 meter_entry->rate = action->police.rate_bytes_ps; in nfp_flower_setup_meter_entry()
652 meter_entry->burst = action->police.burst; in nfp_flower_setup_meter_entry()
655 meter_entry->rate = action->police.rate_pkt_ps; in nfp_flower_setup_meter_entry()
656 meter_entry->burst = action->police.burst_pkt; in nfp_flower_setup_meter_entry()
697 struct flow_action_entry *paction = &fl_act->action.entries[0]; in nfp_act_install_actions()
698 u32 action_num = fl_act->action.num_entries; in nfp_act_install_actions()
700 struct flow_action_entry *action = NULL; in nfp_act_install_actions() local
711 action = paction + i; in nfp_act_install_actions()
712 if (action->id != FLOW_ACTION_POLICE) { in nfp_act_install_actions()
718 err = nfp_policer_validate(&fl_act->action, action, extack, false); in nfp_act_install_actions()
722 if (action->police.rate_bytes_ps > 0) { in nfp_act_install_actions()
723 rate = action->police.rate_bytes_ps; in nfp_act_install_actions()
724 burst = action->police.burst; in nfp_act_install_actions()
725 } else if (action->police.rate_pkt_ps > 0 && pps_support) { in nfp_act_install_actions()
726 rate = action->police.rate_pkt_ps; in nfp_act_install_actions()
727 burst = action->police.burst_pkt; in nfp_act_install_actions()
735 meter_id = action->hw_index; in nfp_act_install_actions()
736 if (nfp_flower_setup_meter_entry(app, action, NFP_METER_ADD, meter_id)) in nfp_act_install_actions()
740 if (action->police.rate_pkt_ps > 0) in nfp_act_install_actions()