)]}'
{
  "commit": "234e5c8d5a35339fb319affb952581bf5abb48a7",
  "tree": "1d7c03380a8a9a34e71f52e841bed2a81bece36b",
  "parents": [
    "bd4b7f1559ab5cb52bbe9dc2db9e50a032ccdbb7"
  ],
  "author": {
    "name": "Dinesh G Dutt",
    "email": "ddutt@cumulusnetworks.com",
    "time": "Sun Feb 01 00:56:12 2015 -0800"
  },
  "committer": {
    "name": "Paul Jakma",
    "email": "paul@quagga.net",
    "time": "Thu Sep 24 15:26:42 2015 +0100"
  },
  "message": "bgpd: Only use routes from Established peers for best path selection\n\nEnsure that routes from a peer are not considered for best path\ncomparison if the peer is not in an Established state. There can\nbe a window between a peer being deleted and the background\nthread that actually clears the routes (marks them as \"removed\")\nruns during which best path may run. If this path selection\ncompared two prefixes all the way down to peer IP addresses and\none of these two peers had just been deleted, that peer would\nnot have its sockunion structures, especially su_remote, resulting\nin a BGPD exception.\n\nSigned-off-by: Vivek Venkatraman \u003cvivek@cumulusnetworks.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "648dc9c857debee4efcf4386ea086410a60b15fd",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_route.c",
      "new_id": "02c926fe85686b4159a868a167b3a62c64d6cd56",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_route.c"
    }
  ]
}
