)]}'
{
  "commit": "e9ce1cd3cf6cf35b21d0ce990f2e738f35907386",
  "tree": "22a3ee7b78ae7cbf00520c66dcc389d87740069c",
  "parents": [
    "2e4ca75b31b6851dcc036c2cdebf3ecfe279a653"
  ],
  "author": {
    "name": "David S. Miller",
    "email": "davem@sunset.davemloft.net",
    "time": "Mon Aug 21 23:54:55 2006 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@sunset.davemloft.net",
    "time": "Fri Sep 22 14:55:10 2006 -0700"
  },
  "message": "[PKT_SCHED]: Kill pkt_act.h inlining.\n\nThis was simply making templates of functions and mostly causing a lot\nof code duplication in the classifier action modules.\n\nWe solve this more cleanly by having a common \"struct tcf_common\" that\nhash worker functions contained once in act_api.c can work with.\n\nCallers work with real action objects that have the common struct\nplus their module specific struct members.  You go from a common\nobject to the higher level one using a \"to_foo()\" macro which makes\nuse of container_of() to do the dirty work.\n\nThis also kills off act_generic.h which was only used by act_simple.c\nand keeping it around was more work than the it\u0027s value.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "11e9eaf79f5ab37f49f1a895f90156a58db0d6ba",
      "old_mode": 33188,
      "old_path": "include/net/act_api.h",
      "new_id": "8b06c2f3657f3b4b4923c7a856d278778f8f3138",
      "new_mode": 33188,
      "new_path": "include/net/act_api.h"
    },
    {
      "type": "delete",
      "old_id": "c9daa7e52300da04d17defe8ec49ab79ea743166",
      "old_mode": 33188,
      "old_path": "include/net/act_generic.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "cf5e4d2e4c21ce77be2a4f7a8f5fd111d651e469",
      "old_mode": 33188,
      "old_path": "include/net/pkt_act.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "463aa671f95d29edf4cc4af90d4de9e7be8c0ceb",
      "old_mode": 33188,
      "old_path": "include/net/tc_act/tc_defact.h",
      "new_id": "65f024b809589bc638de15053257d31da5b206cc",
      "new_mode": 33188,
      "new_path": "include/net/tc_act/tc_defact.h"
    },
    {
      "type": "modify",
      "old_id": "59f0d9628ad1c4fd60a9f75f08e034835251cca1",
      "old_mode": 33188,
      "old_path": "include/net/tc_act/tc_gact.h",
      "new_id": "9e3f6767b80e5de5213a8a9b74ae6f4446021046",
      "new_mode": 33188,
      "new_path": "include/net/tc_act/tc_gact.h"
    },
    {
      "type": "modify",
      "old_id": "cb37ad08427faca6d51ac7975c4108fdb6822f71",
      "old_mode": 33188,
      "old_path": "include/net/tc_act/tc_ipt.h",
      "new_id": "f7d25dfcc4b78c011acbb6044b38e4af8f8438d9",
      "new_mode": 33188,
      "new_path": "include/net/tc_act/tc_ipt.h"
    },
    {
      "type": "modify",
      "old_id": "b5c32f65c12c89afaa76b04978c057a7569948ba",
      "old_mode": 33188,
      "old_path": "include/net/tc_act/tc_mirred.h",
      "new_id": "ceac661cdfd5fdddb29314389f1e3e4bbca320ba",
      "new_mode": 33188,
      "new_path": "include/net/tc_act/tc_mirred.h"
    },
    {
      "type": "modify",
      "old_id": "eb21689d759dddda7b7cc2c845497561663585a9",
      "old_mode": 33188,
      "old_path": "include/net/tc_act/tc_pedit.h",
      "new_id": "e6f6e15956f5fb9dfb5fcbd446fc3d60ed7f4ec1",
      "new_mode": 33188,
      "new_path": "include/net/tc_act/tc_pedit.h"
    },
    {
      "type": "modify",
      "old_id": "6990747d6d5ac31c4e2b08e5a4f22f5ee031679e",
      "old_mode": 33188,
      "old_path": "net/sched/act_api.c",
      "new_id": "835070e9169cc03b5975709827f752ff6d6576a0",
      "new_mode": 33188,
      "new_path": "net/sched/act_api.c"
    },
    {
      "type": "modify",
      "old_id": "e75a147ad60fcb66f71729d6d25d15b04f18c80d",
      "old_mode": 33188,
      "old_path": "net/sched/act_gact.c",
      "new_id": "6cff56696a81dca4187cf649eb922bd2e906e637",
      "new_mode": 33188,
      "new_path": "net/sched/act_gact.c"
    },
    {
      "type": "modify",
      "old_id": "d799e01248c4e64f34287db96675a351a8cdb8db",
      "old_mode": 33188,
      "old_path": "net/sched/act_ipt.c",
      "new_id": "224c078a398e77872418721cc206a6c01035ef9e",
      "new_mode": 33188,
      "new_path": "net/sched/act_ipt.c"
    },
    {
      "type": "modify",
      "old_id": "fc562047ecc50f7e2061ef8551599007dd706674",
      "old_mode": 33188,
      "old_path": "net/sched/act_mirred.c",
      "new_id": "483897271f1598bb9d0659887f36a035e1d0381c",
      "new_mode": 33188,
      "new_path": "net/sched/act_mirred.c"
    },
    {
      "type": "modify",
      "old_id": "f257475e0e0c996ba39a333f2f7c4386573ed250",
      "old_mode": 33188,
      "old_path": "net/sched/act_pedit.c",
      "new_id": "8ac65c219b98070885dc0ee2ff294aede855441b",
      "new_mode": 33188,
      "new_path": "net/sched/act_pedit.c"
    },
    {
      "type": "modify",
      "old_id": "da905d7b4b40fd02fb9878a32ceae31941236094",
      "old_mode": 33188,
      "old_path": "net/sched/act_police.c",
      "new_id": "fed47b658837aac39b6d29c4b893490a4ca42e90",
      "new_mode": 33188,
      "new_path": "net/sched/act_police.c"
    },
    {
      "type": "modify",
      "old_id": "17105c82537fa2472c3bd4e33b7a0c4bdbd345fa",
      "old_mode": 33188,
      "old_path": "net/sched/act_simple.c",
      "new_id": "8c1ab8ad8fa6d34b8c32970a321088332e7f7a52",
      "new_mode": 33188,
      "new_path": "net/sched/act_simple.c"
    }
  ]
}
