Use skb_copy_bits() to copy data that might not be pulled into headers.
[sliver-openvswitch.git] / datapath / datapath.c
index d4f332e..07fa92d 100644 (file)
@@ -690,7 +690,7 @@ dp_output_control(struct datapath *dp, struct sk_buff *skb,
                                    : OFPP_LOCAL);
        opi->reason         = reason;
        opi->pad            = 0;
-       memcpy(opi->data, skb_mac_header(skb), fwd_len);
+       skb_copy_bits(skb, 0, opi->data, fwd_len);
        err = send_openflow_skb(f_skb, NULL);
 
 out: