Lines Matching refs:act
33 const struct flow_action_entry *act, in nfp_fl_push_mpls() argument
43 if (act->mpls_push.bos != ACT_MPLS_BOS_NOT_SET) { in nfp_fl_push_mpls()
44 mpls_lse |= act->mpls_push.bos << MPLS_LS_S_SHIFT; in nfp_fl_push_mpls()
51 if (act->mpls_push.tc != ACT_MPLS_TC_NOT_SET) in nfp_fl_push_mpls()
52 mpls_lse |= act->mpls_push.tc << MPLS_LS_TC_SHIFT; in nfp_fl_push_mpls()
55 mpls_lse |= act->mpls_push.label << MPLS_LS_LABEL_SHIFT; in nfp_fl_push_mpls()
56 mpls_lse |= act->mpls_push.ttl << MPLS_LS_TTL_SHIFT; in nfp_fl_push_mpls()
57 push_mpls->ethtype = act->mpls_push.proto; in nfp_fl_push_mpls()
65 const struct flow_action_entry *act) in nfp_fl_pop_mpls() argument
71 pop_mpls->ethtype = act->mpls_pop.proto; in nfp_fl_pop_mpls()
76 const struct flow_action_entry *act) in nfp_fl_set_mpls() argument
84 if (act->mpls_mangle.label != ACT_MPLS_LABEL_NOT_SET) { in nfp_fl_set_mpls()
85 mpls_lse |= act->mpls_mangle.label << MPLS_LS_LABEL_SHIFT; in nfp_fl_set_mpls()
88 if (act->mpls_mangle.tc != ACT_MPLS_TC_NOT_SET) { in nfp_fl_set_mpls()
89 mpls_lse |= act->mpls_mangle.tc << MPLS_LS_TC_SHIFT; in nfp_fl_set_mpls()
92 if (act->mpls_mangle.bos != ACT_MPLS_BOS_NOT_SET) { in nfp_fl_set_mpls()
93 mpls_lse |= act->mpls_mangle.bos << MPLS_LS_S_SHIFT; in nfp_fl_set_mpls()
96 if (act->mpls_mangle.ttl) { in nfp_fl_set_mpls()
97 mpls_lse |= act->mpls_mangle.ttl << MPLS_LS_TTL_SHIFT; in nfp_fl_set_mpls()
116 const struct flow_action_entry *act) in nfp_fl_push_vlan() argument
124 push_vlan->vlan_tpid = act->vlan.proto; in nfp_fl_push_vlan()
127 FIELD_PREP(NFP_FL_PUSH_VLAN_PRIO, act->vlan.prio) | in nfp_fl_push_vlan()
128 FIELD_PREP(NFP_FL_PUSH_VLAN_VID, act->vlan.vid); in nfp_fl_push_vlan()
133 nfp_fl_pre_lag(struct nfp_app *app, const struct flow_action_entry *act, in nfp_fl_pre_lag() argument
142 out_dev = act->dev; in nfp_fl_pre_lag()
173 const struct flow_action_entry *act, in nfp_fl_output() argument
187 out_dev = act->dev; in nfp_fl_output()
268 struct flow_action_entry *act = rule->action.entries; in nfp_flower_tun_is_gre() local
274 if (act[act_idx].id == FLOW_ACTION_REDIRECT || in nfp_flower_tun_is_gre()
275 act[act_idx].id == FLOW_ACTION_MIRRED) in nfp_flower_tun_is_gre()
276 return netif_is_gretap(act[act_idx].dev) || in nfp_flower_tun_is_gre()
277 netif_is_ip6gretap(act[act_idx].dev); in nfp_flower_tun_is_gre()
285 const struct flow_action_entry *act, int act_idx) in nfp_fl_get_tun_from_act() argument
287 const struct ip_tunnel_info *tun = act->tunnel; in nfp_fl_get_tun_from_act()
331 const struct flow_action_entry *act, in nfp_fl_push_geneve_options() argument
334 struct ip_tunnel_info *ip_tun = (struct ip_tunnel_info *)act->tunnel; in nfp_fl_push_geneve_options()
412 const struct flow_action_entry *act, in nfp_fl_set_tun() argument
417 const struct ip_tunnel_info *ip_tun = act->tunnel; in nfp_fl_set_tun()
535 nfp_fl_set_eth(const struct flow_action_entry *act, u32 off, in nfp_fl_set_eth() argument
545 mask = ~act->mangle.mask; in nfp_fl_set_eth()
546 exact = act->mangle.val; in nfp_fl_set_eth()
570 nfp_fl_set_ip4(const struct flow_action_entry *act, u32 off, in nfp_fl_set_ip4() argument
582 mask = (__force __be32)~act->mangle.mask; in nfp_fl_set_ip4()
583 exact = (__force __be32)act->mangle.val; in nfp_fl_set_ip4()
712 nfp_fl_set_ip6(const struct flow_action_entry *act, u32 off, in nfp_fl_set_ip6() argument
723 mask = (__force __be32)~act->mangle.mask; in nfp_fl_set_ip6()
724 exact = (__force __be32)act->mangle.val; in nfp_fl_set_ip6()
752 nfp_fl_set_tport(const struct flow_action_entry *act, u32 off, in nfp_fl_set_tport() argument
763 mask = ~act->mangle.mask; in nfp_fl_set_tport()
764 exact = act->mangle.val; in nfp_fl_set_tport()
909 nfp_fl_pedit(const struct flow_action_entry *act, in nfp_fl_pedit() argument
917 htype = act->mangle.htype; in nfp_fl_pedit()
918 offset = act->mangle.offset; in nfp_fl_pedit()
922 return nfp_fl_set_eth(act, offset, &set_act->set_eth, extack); in nfp_fl_pedit()
924 return nfp_fl_set_ip4(act, offset, &set_act->set_ip_addr, in nfp_fl_pedit()
927 return nfp_fl_set_ip6(act, offset, &set_act->set_ip6_dst, in nfp_fl_pedit()
931 return nfp_fl_set_tport(act, offset, &set_act->set_tport, in nfp_fl_pedit()
934 return nfp_fl_set_tport(act, offset, &set_act->set_tport, in nfp_fl_pedit()
989 const struct flow_action_entry *act, in nfp_flower_output_action() argument
1014 err = nfp_fl_output(app, output, act, nfp_fl, last, netdev, *tun_type, in nfp_flower_output_action()
1025 prelag_size = nfp_fl_pre_lag(app, act, nfp_fl, *a_len, extack); in nfp_flower_output_action()
1041 nfp_flower_loop_action(struct nfp_app *app, const struct flow_action_entry *act, in nfp_flower_loop_action() argument
1060 switch (act->id) { in nfp_flower_loop_action()
1066 err = nfp_flower_output_action(app, act, nfp_fl, a_len, netdev, in nfp_flower_loop_action()
1075 err = nfp_flower_output_action(app, act, nfp_fl, a_len, netdev, in nfp_flower_loop_action()
1105 nfp_fl_push_vlan(psh_v, act); in nfp_flower_loop_action()
1109 const struct ip_tunnel_info *ip_tun = act->tunnel; in nfp_flower_loop_action()
1111 *tun_type = nfp_fl_get_tun_from_act(app, rule, act, act_idx); in nfp_flower_loop_action()
1136 err = nfp_fl_push_geneve_options(nfp_fl, a_len, act, extack); in nfp_flower_loop_action()
1141 err = nfp_fl_set_tun(app, set_tun, act, pre_tun, *tun_type, in nfp_flower_loop_action()
1152 if (nfp_fl_pedit(act, &nfp_fl->action_data[*a_len], in nfp_flower_loop_action()
1158 if (act->csum_flags & ~*csum_updated) { in nfp_flower_loop_action()
1165 *csum_updated &= ~act->csum_flags; in nfp_flower_loop_action()
1177 err = nfp_fl_push_mpls(psh_m, act, extack); in nfp_flower_loop_action()
1192 nfp_fl_pop_mpls(pop_m, act); in nfp_flower_loop_action()
1205 nfp_fl_set_mpls(set_m, act); in nfp_flower_loop_action()
1210 if (act->ptype != PACKET_HOST) in nfp_flower_loop_action()
1222 err = nfp_flower_meter_action(app, act, nfp_fl, a_len, netdev, in nfp_flower_loop_action()
1281 struct flow_action_entry *act; in nfp_flower_compile_action() local
1297 flow_action_for_each(i, act, &rule->action) { in nfp_flower_compile_action()
1300 err = nfp_flower_loop_action(app, act, rule, nfp_flow, &act_len, in nfp_flower_compile_action()