Lines Matching refs:act
75 mtk_flow_offload_mangle_eth(const struct flow_action_entry *act, void *eth) in mtk_flow_offload_mangle_eth() argument
77 void *dest = eth + act->mangle.offset; in mtk_flow_offload_mangle_eth()
78 const void *src = &act->mangle.val; in mtk_flow_offload_mangle_eth()
80 if (act->mangle.offset > 8) in mtk_flow_offload_mangle_eth()
83 if (act->mangle.mask == 0xffff) { in mtk_flow_offload_mangle_eth()
88 memcpy(dest, src, act->mangle.mask ? 2 : 4); in mtk_flow_offload_mangle_eth()
123 mtk_flow_mangle_ports(const struct flow_action_entry *act, in mtk_flow_mangle_ports() argument
126 u32 val = ntohl(act->mangle.val); in mtk_flow_mangle_ports()
128 switch (act->mangle.offset) { in mtk_flow_mangle_ports()
130 if (act->mangle.mask == ~htonl(0xffff)) in mtk_flow_mangle_ports()
146 mtk_flow_mangle_ipv4(const struct flow_action_entry *act, in mtk_flow_mangle_ipv4() argument
151 switch (act->mangle.offset) { in mtk_flow_mangle_ipv4()
162 memcpy(dest, &act->mangle.val, sizeof(u32)); in mtk_flow_mangle_ipv4()
251 struct flow_action_entry *act; in mtk_flow_offload_replace() local
340 flow_action_for_each(i, act, &rule->action) { in mtk_flow_offload_replace()
341 switch (act->id) { in mtk_flow_offload_replace()
345 if (act->mangle.htype == FLOW_ACT_MANGLE_HDR_TYPE_ETH) in mtk_flow_offload_replace()
346 mtk_flow_offload_mangle_eth(act, &data.eth); in mtk_flow_offload_replace()
349 odev = act->dev; in mtk_flow_offload_replace()
355 act->vlan.proto != htons(ETH_P_8021Q)) in mtk_flow_offload_replace()
358 data.vlan.vlans[data.vlan.num].id = act->vlan.vid; in mtk_flow_offload_replace()
359 data.vlan.vlans[data.vlan.num].proto = act->vlan.proto; in mtk_flow_offload_replace()
369 data.pppoe.sid = act->pppoe.sid; in mtk_flow_offload_replace()
421 flow_action_for_each(i, act, &rule->action) { in mtk_flow_offload_replace()
422 if (act->id != FLOW_ACTION_MANGLE) in mtk_flow_offload_replace()
428 switch (act->mangle.htype) { in mtk_flow_offload_replace()
431 err = mtk_flow_mangle_ports(act, &data); in mtk_flow_offload_replace()
434 err = mtk_flow_mangle_ipv4(act, &data); in mtk_flow_offload_replace()