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()
121 mtk_flow_mangle_ports(const struct flow_action_entry *act, in mtk_flow_mangle_ports() argument
124 u32 val = ntohl(act->mangle.val); in mtk_flow_mangle_ports()
126 switch (act->mangle.offset) { in mtk_flow_mangle_ports()
128 if (act->mangle.mask == ~htonl(0xffff)) in mtk_flow_mangle_ports()
144 mtk_flow_mangle_ipv4(const struct flow_action_entry *act, in mtk_flow_mangle_ipv4() argument
149 switch (act->mangle.offset) { in mtk_flow_mangle_ipv4()
160 memcpy(dest, &act->mangle.val, sizeof(u32)); in mtk_flow_mangle_ipv4()
249 struct flow_action_entry *act; in mtk_flow_offload_replace() local
338 flow_action_for_each(i, act, &rule->action) { in mtk_flow_offload_replace()
339 switch (act->id) { in mtk_flow_offload_replace()
343 if (act->mangle.htype == FLOW_ACT_MANGLE_HDR_TYPE_ETH) in mtk_flow_offload_replace()
344 mtk_flow_offload_mangle_eth(act, &data.eth); in mtk_flow_offload_replace()
347 odev = act->dev; in mtk_flow_offload_replace()
353 act->vlan.proto != htons(ETH_P_8021Q)) in mtk_flow_offload_replace()
356 data.vlan.id = act->vlan.vid; in mtk_flow_offload_replace()
357 data.vlan.proto = act->vlan.proto; in mtk_flow_offload_replace()
366 data.pppoe.sid = act->pppoe.sid; in mtk_flow_offload_replace()
418 flow_action_for_each(i, act, &rule->action) { in mtk_flow_offload_replace()
419 if (act->id != FLOW_ACTION_MANGLE) in mtk_flow_offload_replace()
425 switch (act->mangle.htype) { in mtk_flow_offload_replace()
428 err = mtk_flow_mangle_ports(act, &data); in mtk_flow_offload_replace()
431 err = mtk_flow_mangle_ipv4(act, &data); in mtk_flow_offload_replace()