Lines Matching full:act

73 mtk_flow_offload_mangle_eth(const struct flow_action_entry *act, void *eth)  in mtk_flow_offload_mangle_eth()  argument
75 void *dest = eth + act->mangle.offset; in mtk_flow_offload_mangle_eth()
76 const void *src = &act->mangle.val; in mtk_flow_offload_mangle_eth()
78 if (act->mangle.offset > 8) in mtk_flow_offload_mangle_eth()
81 if (act->mangle.mask == 0xffff) { in mtk_flow_offload_mangle_eth()
86 memcpy(dest, src, act->mangle.mask ? 2 : 4); in mtk_flow_offload_mangle_eth()
120 mtk_flow_mangle_ports(const struct flow_action_entry *act, in mtk_flow_mangle_ports() argument
123 u32 val = ntohl(act->mangle.val); in mtk_flow_mangle_ports()
125 switch (act->mangle.offset) { in mtk_flow_mangle_ports()
127 if (act->mangle.mask == ~htonl(0xffff)) in mtk_flow_mangle_ports()
143 mtk_flow_mangle_ipv4(const struct flow_action_entry *act, in mtk_flow_mangle_ipv4() argument
148 switch (act->mangle.offset) { in mtk_flow_mangle_ipv4()
159 memcpy(dest, &act->mangle.val, sizeof(u32)); in mtk_flow_mangle_ipv4()
244 struct flow_action_entry *act; in mtk_flow_offload_replace() local
319 flow_action_for_each(i, act, &rule->action) { in mtk_flow_offload_replace()
320 switch (act->id) { in mtk_flow_offload_replace()
324 if (act->mangle.htype == FLOW_ACT_MANGLE_HDR_TYPE_ETH) in mtk_flow_offload_replace()
325 mtk_flow_offload_mangle_eth(act, &data.eth); in mtk_flow_offload_replace()
328 odev = act->dev; in mtk_flow_offload_replace()
334 act->vlan.proto != htons(ETH_P_8021Q)) in mtk_flow_offload_replace()
337 data.vlan.id = act->vlan.vid; in mtk_flow_offload_replace()
338 data.vlan.proto = act->vlan.proto; in mtk_flow_offload_replace()
347 data.pppoe.sid = act->pppoe.sid; in mtk_flow_offload_replace()
399 flow_action_for_each(i, act, &rule->action) { in mtk_flow_offload_replace()
400 if (act->id != FLOW_ACTION_MANGLE) in mtk_flow_offload_replace()
406 switch (act->mangle.htype) { in mtk_flow_offload_replace()
409 err = mtk_flow_mangle_ports(act, &data); in mtk_flow_offload_replace()
412 err = mtk_flow_mangle_ipv4(act, &data); in mtk_flow_offload_replace()