flowtable: consolidate header reset
diff --git a/net/netfilter/nf_flow_table_inet.c b/net/netfilter/nf_flow_table_inet.c
index 5e87f32..1c77e24 100644
--- a/net/netfilter/nf_flow_table_inet.c
+++ b/net/netfilter/nf_flow_table_inet.c
@@ -20,6 +20,11 @@ __nf_flow_offload_hook_list(void *priv, struct sk_buff *unused,
__be16 proto;
list_for_each_entry_safe(skb, next, skb_list, list) {
+ skb_reset_network_header(skb);
+ if (!skb_transport_header_was_set(skb))
+ skb_reset_transport_header(skb);
+ skb_reset_mac_len(skb);
+
switch (skb->protocol) {
case htons(ETH_P_8021Q):
veth = (struct vlan_ethhdr *)skb_mac_header(skb);
diff --git a/net/netfilter/nf_flow_table_ip.c b/net/netfilter/nf_flow_table_ip.c
index 02a54e9..21afb53 100644
--- a/net/netfilter/nf_flow_table_ip.c
+++ b/net/netfilter/nf_flow_table_ip.c
@@ -796,11 +796,6 @@ void __nf_flow_offload_ip_hook_list(void *priv, struct list_head *head,
list_for_each_entry_safe(skb, n, head, list) {
skb_list_del_init(skb);
- skb_reset_network_header(skb);
- if (!skb_transport_header_was_set(skb))
- skb_reset_transport_header(skb);
- skb_reset_mac_len(skb);
-
ctx.hdrsize = 0;
ctx.offset = 0;
@@ -1429,11 +1424,6 @@ void __nf_flow_offload_ipv6_hook_list(void *priv, struct list_head *head,
list_for_each_entry_safe(skb, n, head, list) {
skb_list_del_init(skb);
- skb_reset_network_header(skb);
- if (!skb_transport_header_was_set(skb))
- skb_reset_transport_header(skb);
- skb_reset_mac_len(skb);
-
ctx.hdrsize = 0;
ctx.offset = 0;