)]}'
{
  "commit": "dc808fe28db59fadf4ec32d53f62477fa28f3be8",
  "tree": "2d7033e5808a63d7fb1bddc452d1ec0b2f3d381a",
  "parents": [
    "0d36f37bb1e1cbadca6dc90a840bb2bc9ab51c44"
  ],
  "author": {
    "name": "Harald Welte",
    "email": "laforge@netfilter.org",
    "time": "Mon Mar 20 17:56:32 2006 -0800"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Mon Mar 20 17:56:32 2006 -0800"
  },
  "message": "[NETFILTER] nf_conntrack: clean up to reduce size of \u0027struct nf_conn\u0027\n\nThis patch moves all helper related data fields of \u0027struct nf_conn\u0027\ninto a separate structure \u0027struct nf_conn_help\u0027.  This new structure\nis only present in conntrack entries for which we actually have a\nhelper loaded.\n\nAlso, this patch cleans up the nf_conntrack \u0027features\u0027 mechanism to\nresemble what the original idea was: Just glue the feature-specific\ndata structures at the end of \u0027struct nf_conn\u0027, and explicitly\nre-calculate the pointer to it when needed rather than keeping\npointers around.\n\nSaves 20 bytes per conntrack on my x86_64 box. A non-helped conntrack\nis 276 bytes. We still need to save another 20 bytes in order to fit\ninto to target of 256bytes.\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6d075ca16e6eb1cf7b1a7a9e111a39dda0f2e3fd",
      "old_mode": 33188,
      "old_path": "include/net/netfilter/nf_conntrack.h",
      "new_id": "2743c156caa00056232f7d516f3cf838409edef0",
      "new_mode": 33188,
      "new_path": "include/net/netfilter/nf_conntrack.h"
    },
    {
      "type": "modify",
      "old_id": "6c8624a549334fc098d7987a60964a771dfb9b8f",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c",
      "new_id": "cb9c661f3f331c5fb64f805bbfdff5f8a7e70b3e",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c"
    },
    {
      "type": "modify",
      "old_id": "ac702a29dd160a0cd2bcc774d24aae1e6f0a8f62",
      "old_mode": 33188,
      "old_path": "net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c",
      "new_id": "ac35f95263687f1cac3e7bddfeb3e9a04d9e1c79",
      "new_mode": 33188,
      "new_path": "net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c"
    },
    {
      "type": "modify",
      "old_id": "d622ddf08bb05d2cc23a2f6c5672d66edadb23aa",
      "old_mode": 33188,
      "old_path": "net/netfilter/nf_conntrack_core.c",
      "new_id": "dc68d00222185c7d4e16ed99a580370cbbebae44",
      "new_mode": 33188,
      "new_path": "net/netfilter/nf_conntrack_core.c"
    },
    {
      "type": "modify",
      "old_id": "6f210f399762d8196630e2c8a087dc0f548a759d",
      "old_mode": 33188,
      "old_path": "net/netfilter/nf_conntrack_ftp.c",
      "new_id": "cd191b0d4ac747f6a8c4d2fef79fb51b7d8f74da",
      "new_mode": 33188,
      "new_path": "net/netfilter/nf_conntrack_ftp.c"
    },
    {
      "type": "modify",
      "old_id": "9ff3463037e1d0b080820c4457d488a1dd7e6bdc",
      "old_mode": 33188,
      "old_path": "net/netfilter/nf_conntrack_netlink.c",
      "new_id": "aef3cb41131fe7aa1827ebfbe0938fc8f233d6b0",
      "new_mode": 33188,
      "new_path": "net/netfilter/nf_conntrack_netlink.c"
    },
    {
      "type": "modify",
      "old_id": "617599aeeead1c94aa7de5bda3fbd226ec5da3ae",
      "old_mode": 33188,
      "old_path": "net/netfilter/nf_conntrack_standalone.c",
      "new_id": "290d5a0c559b6d4a760fd1c2b41c23cd73e0501a",
      "new_mode": 33188,
      "new_path": "net/netfilter/nf_conntrack_standalone.c"
    },
    {
      "type": "modify",
      "old_id": "38b6715e1db41e4aff52c1a2a046bb886fc35c11",
      "old_mode": 33188,
      "old_path": "net/netfilter/xt_helper.c",
      "new_id": "0ddb32363d062f115a347917c87799b0b9f4feff",
      "new_mode": 33188,
      "new_path": "net/netfilter/xt_helper.c"
    }
  ]
}
