)]}'
{
  "commit": "0915bb0ce2ca6b5fee2cd214be4499eeeaf1c9af",
  "tree": "eb3cb410ed0dd341e2e565e71d74bba81c0dbf8a",
  "parents": [
    "1b5ed1b054b955275bb7cf0f80fb7767094bc28b"
  ],
  "author": {
    "name": "Avneesh Sachdev",
    "email": "avneesh@opensourcerouting.org",
    "time": "Tue Nov 13 22:48:55 2012 +0000"
  },
  "committer": {
    "name": "David Lamparter",
    "email": "equinox@opensourcerouting.org",
    "time": "Fri Nov 30 21:41:16 2012 +0100"
  },
  "message": "zebra: add iterator for walking all tables in RIB\n\n* lib/zebra.h\n\n    Add macro ZEBRA_NUM_OF, which returns the number of elements in a\n    static array.\n\n  * zebra/rib.h\n\n    Add the rib_tables_iter_t structure and associated functions,\n    which allow one to walk all tables in the rib.\n\n  * zebra/zebra_rib.c\n\n    - Add vrf_id_get_next() to retrieve the first VRF id (if any) that\n      is greater than a given VRF id.\n\n    - Add rib_tables_iter_next().\n\nSigned-off-by: Avneesh Sachdev \u003cavneesh@opensourcerouting.org\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f8a6be3066cd95ac20c903c6c2972ec9d0aaecde",
      "old_mode": 33188,
      "old_path": "lib/zebra.h",
      "new_id": "404b832b0b11f28277a702d3be23f12944041c41",
      "new_mode": 33188,
      "new_path": "lib/zebra.h"
    },
    {
      "type": "modify",
      "old_id": "c98d99a4d008a1933402a8c80eaa5079694bc381",
      "old_mode": 33188,
      "old_path": "zebra/rib.h",
      "new_id": "4f99d714ad0ba0d0631ccbdbeac47041c3200eb2",
      "new_mode": 33188,
      "new_path": "zebra/rib.h"
    },
    {
      "type": "modify",
      "old_id": "2cbee9355759a7563313af02209d8b20c01e12cf",
      "old_mode": 33188,
      "old_path": "zebra/zebra_rib.c",
      "new_id": "5c75b9091e46f90ff445f10a6c1b4ed91049181d",
      "new_mode": 33188,
      "new_path": "zebra/zebra_rib.c"
    }
  ]
}
