)]}'
{
  "commit": "ac19a449261bf69e83827f4bb0c6e5526277b41b",
  "tree": "a93cc7cde55a9c0c65da4b09fc309b503807ffda",
  "parents": [
    "7aaf4ea990398335bd40b56cc9586ab6a7178a4f"
  ],
  "author": {
    "name": "Feng Lu",
    "email": "lu.feng@6wind.com",
    "time": "Fri May 22 11:40:07 2015 +0200"
  },
  "committer": {
    "name": "David Lamparter",
    "email": "equinox@opensourcerouting.org",
    "time": "Tue Jun 02 07:48:34 2015 +0200"
  },
  "message": "zebra: maintain the router-id per VRF\n\nA router may need different identifier among the VRFs. So move the\nmaintenance of router-id per VRF.\n\n* rib.h:\n\n  Move the previous global variables in router-id.c into the\n  \"struct zebra_vrf\":\n  - struct list _rid_all_sorted_list/*rid_all_sorted_list\n  - struct list _rid_lo_sorted_list/*rid_lo_sorted_list\n  - struct prefix rid_user_assigned\n\n* router-id.c/router-id.h:\n\n  A new parameter \"vrf_id\" is added to all the router-id APIs.\n  Their operations are done only within the specified VRF.\n\n  A new command \"router-id A.B.C.D vrf N\" is added to allow\n  manual router-id for any VRF.\n\n  The old router_id_init() function is splitted into two:\n  - router_id_cmd_init(): it only installs the commands\n  - router_id_init(): this new one initializes the variables for\n                      a specified VRF\n\n* zebra_rib.c: Add new functions zebra_vrf_get/lookup() called\n               from router-id.c.\n\n* main.c: Replace router_id_init() with router_id_cmd_init() and\n          call the new router_id_init() in zebra_vrf_new().\n\nSigned-off-by: Feng Lu \u003clu.feng@6wind.com\u003e\nReviewed-by: Alain Ritoux \u003calain.ritoux@6wind.com\u003e\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nAcked-by: Vincent JARDIN \u003cvincent.jardin@6wind.com\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a690c9a197b49f78704299946e3e7d67136518f6",
      "old_mode": 33188,
      "old_path": "zebra/main.c",
      "new_id": "c7e3b68c3e3c8219f05cf25b99a505822e067de3",
      "new_mode": 33188,
      "new_path": "zebra/main.c"
    },
    {
      "type": "modify",
      "old_id": "dcb307efc17b300303559127d8cfd8ee133d86c4",
      "old_mode": 33188,
      "old_path": "zebra/rib.h",
      "new_id": "06aa3535de4d74c8ba253534bc48e72009c6472f",
      "new_mode": 33188,
      "new_path": "zebra/rib.h"
    },
    {
      "type": "modify",
      "old_id": "bfafc27277f35d2765d6a70d5e76292dfaecf65e",
      "old_mode": 33188,
      "old_path": "zebra/router-id.c",
      "new_id": "a4eb73ae5303a0390a398c3bd0078888f7281c1c",
      "new_mode": 33188,
      "new_path": "zebra/router-id.c"
    },
    {
      "type": "modify",
      "old_id": "be12bf502965bb63d7c503183ede7b62ac694f3a",
      "old_mode": 33188,
      "old_path": "zebra/router-id.h",
      "new_id": "46d300eeac579b131aca7d27e96101579225f748",
      "new_mode": 33188,
      "new_path": "zebra/router-id.h"
    },
    {
      "type": "modify",
      "old_id": "85f448c420f0c2cd1fc48395eb15aaf38b73c9ab",
      "old_mode": 33188,
      "old_path": "zebra/zserv.c",
      "new_id": "e17bb7207bc1f571a29dcba060baf02ef45369a6",
      "new_mode": 33188,
      "new_path": "zebra/zserv.c"
    },
    {
      "type": "modify",
      "old_id": "5e8bccac31247b2146066f499c4d13b8d4086720",
      "old_mode": 33188,
      "old_path": "zebra/zserv.h",
      "new_id": "eaa164b956f2cbc373cb1b7394ac70bd2179fcaa",
      "new_mode": 33188,
      "new_path": "zebra/zserv.h"
    }
  ]
}
