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()
616 const struct flow_action_entry *action, in nfp_flower_setup_meter_entry() argument
643 if (action->police.rate_bytes_ps > 0) { in nfp_flower_setup_meter_entry()
645 meter_entry->rate = action->police.rate_bytes_ps; in nfp_flower_setup_meter_entry()
646 meter_entry->burst = action->police.burst; in nfp_flower_setup_meter_entry()
649 meter_entry->rate = action->police.rate_pkt_ps; in nfp_flower_setup_meter_entry()
650 meter_entry->burst = action->police.burst_pkt; in nfp_flower_setup_meter_entry()
691 struct flow_action_entry *paction = &fl_act->action.entries[0]; in nfp_act_install_actions()
692 u32 action_num = fl_act->action.num_entries; in nfp_act_install_actions()
694 struct flow_action_entry *action = NULL; in nfp_act_install_actions() local
705 action = paction + i; in nfp_act_install_actions()
706 if (action->id != FLOW_ACTION_POLICE) { in nfp_act_install_actions()
712 err = nfp_policer_validate(&fl_act->action, action, extack, false); in nfp_act_install_actions()
716 if (action->police.rate_bytes_ps > 0) { in nfp_act_install_actions()
717 rate = action->police.rate_bytes_ps; in nfp_act_install_actions()
718 burst = action->police.burst; in nfp_act_install_actions()
719 } else if (action->police.rate_pkt_ps > 0 && pps_support) { in nfp_act_install_actions()
720 rate = action->police.rate_pkt_ps; in nfp_act_install_actions()
721 burst = action->police.burst_pkt; in nfp_act_install_actions()
729 meter_id = action->hw_index; in nfp_act_install_actions()
730 if (nfp_flower_setup_meter_entry(app, action, NFP_METER_ADD, meter_id)) in nfp_act_install_actions()
734 if (action->police.rate_pkt_ps > 0) in nfp_act_install_actions()