struct {
u16 id;
__be16 proto;
-@@ -260,9 +262,45 @@ mtk_flow_offload_replace(struct mtk_eth
+@@ -257,9 +259,45 @@ mtk_flow_offload_replace(struct mtk_eth
return -EOPNOTSUPP;
}
if (act->mangle.htype == FLOW_ACT_MANGLE_HDR_TYPE_ETH)
mtk_flow_offload_mangle_eth(act, &data.eth);
break;
-@@ -294,17 +332,6 @@ mtk_flow_offload_replace(struct mtk_eth
+@@ -291,17 +329,6 @@ mtk_flow_offload_replace(struct mtk_eth
}
}
if (!is_valid_ether_addr(data.eth.h_source) ||
!is_valid_ether_addr(data.eth.h_dest))
return -EINVAL;
-@@ -318,10 +345,13 @@ mtk_flow_offload_replace(struct mtk_eth
+@@ -315,10 +342,13 @@ mtk_flow_offload_replace(struct mtk_eth
if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS)) {
struct flow_match_ports ports;
return -EOPNOTSUPP;
}
-@@ -351,6 +381,9 @@ mtk_flow_offload_replace(struct mtk_eth
+@@ -348,6 +378,9 @@ mtk_flow_offload_replace(struct mtk_eth
if (act->id != FLOW_ACTION_MANGLE)
continue;
switch (act->mangle.htype) {
case FLOW_ACT_MANGLE_HDR_TYPE_TCP:
case FLOW_ACT_MANGLE_HDR_TYPE_UDP:
-@@ -376,6 +409,9 @@ mtk_flow_offload_replace(struct mtk_eth
+@@ -373,6 +406,9 @@ mtk_flow_offload_replace(struct mtk_eth
return err;
}