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;