#include <linux/netfilter/nfnetlink_conntrack.h>
  #include <net/netfilter/nf_conntrack.h>
  #include <net/netfilter/nf_conntrack_l4proto.h>
+ #include <net/netfilter/nf_conntrack_ecache.h>
  #include <net/netfilter/nf_log.h>
  
 -static DEFINE_RWLOCK(dccp_lock);
 -
  /* Timeouts are based on values from RFC4340:
   *
   * - REQUEST:
        ct->proto.dccp.last_dir = dir;
        ct->proto.dccp.last_pkt = type;
        ct->proto.dccp.state = new_state;
 -      write_unlock_bh(&dccp_lock);
 +      spin_unlock_bh(&ct->lock);
  
+       if (new_state != old_state)
+               nf_conntrack_event_cache(IPCT_PROTOINFO, ct);
+ 
        dn = dccp_pernet(net);
        nf_ct_refresh_acct(ct, ctinfo, skb, dn->dccp_timeout[new_state]);