)]}'
{
  "commit": "f9c1b7bb9b98342f1f3b0bfe3af01844f364dce9",
  "tree": "350c8e0d98e4dcc53b126c6ce1c7568c440fcb06",
  "parents": [
    "3eb8ef37bc463f88bfa36bd26fd43f7f6ad36c20"
  ],
  "author": {
    "name": "Avneesh Sachdev",
    "email": "avneesh@opensourcerouting.org",
    "time": "Fri Aug 17 08:19:48 2012 -0700"
  },
  "committer": {
    "name": "David Lamparter",
    "email": "equinox@opensourcerouting.org",
    "time": "Wed Sep 26 21:48:49 2012 +0200"
  },
  "message": "lib: prepare table code for reuse by bgp_table\n\n  * lib/table.[ch]\n\n    - Add a macro (ROUTE_NODE_FIELDS) that expands to all the fields\n      of a route_node structure.\n\n    - Add the route_table_delegate_t structure, a function vector\n      which allows clients to customize the behavior of one or more\n      tables.\n\n      The delegate currently contains the \u0027create_node\u0027 and\n      \u0027destroy_node\u0027 functions, and hence enables a table to use an\n      alternative node structure. The alternative node is expected to\n      embed the fields of a route_node using ROUTE_NODE_FIELDS.\n\n    - Add route_table_init_with_delegate() to create a new table with\n      a given delegate.\n\n    - Make route_table_init() a thin wrapper around\n      route_table_init_with_delegate(). The delegate it passes in\n      simply creates/destroys route_node structures as before.\n\n    - Add a user data pointer (info) to the route_table\n      structure. This can be used by a client to keep per-table state.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7efb8c4fec4a8b73816dd050b9bf75196d7f0029",
      "old_mode": 33188,
      "old_path": "lib/table.c",
      "new_id": "6bbc9c621c495e58c1cf3d4ba4975b2b87765672",
      "new_mode": 33188,
      "new_path": "lib/table.c"
    },
    {
      "type": "modify",
      "old_id": "1e8df46d516a0cc01a1e9f4efe035309cc7c4fa1",
      "old_mode": 33188,
      "old_path": "lib/table.h",
      "new_id": "4d3eddb1d0764c061c7f8406b239c8536c0ada33",
      "new_mode": 33188,
      "new_path": "lib/table.h"
    }
  ]
}
