]> git.proxmox.com Git - ovs.git/blobdiff - datapath/conntrack.c
datapath: Properly set L4 keys on "later" IP fragments
[ovs.git] / datapath / conntrack.c
index 292febb3c83e9df704b8167c33850a2b50582731..4c96d90c51245c6e4896a2c8c2f44adf36cb9eec 100644 (file)
@@ -570,6 +570,11 @@ static int handle_fragments(struct net *net, struct sw_flow_key *key,
                return -EPFNOSUPPORT;
        }
 
+       /* The key extracted from the fragment that completed this datagram
+        * likely didn't have an L4 header, so regenerate it.
+        */
+       ovs_flow_key_update_l3l4(skb, key);
+
        key->ip.frag = OVS_FRAG_TYPE_NONE;
        skb_clear_hash(skb);
        skb->ignore_df = 1;