)]}'
{
  "commit": "16a86b3e2f82d3e19a722e2ab34c2c77f62ed926",
  "tree": "7c0826c1f684292ec80f8b7898e07f9c8e56b3f1",
  "parents": [
    "e1a555b67cc868f95ea2b53c278bd8d091333e5f"
  ],
  "author": {
    "name": "Ayan Banerjee",
    "email": "ayan@cumulusnetworks.com",
    "time": "Mon Dec 03 10:48:46 2012 -0800"
  },
  "committer": {
    "name": "Scott Feldman",
    "email": "sfeldma@cumulusnetworks.com",
    "time": "Mon Jan 07 09:59:40 2013 -0800"
  },
  "message": "ospf: suppress delete using replacement\n\nAfter a SPF run, OSPF deletes routes that have changed in terms of any\nmetric, type, and/or next-hops and re-adds them. Given that the Zebra-RIB\nalready support replacement semantics, we suppress deletes for routes\nthat will be added back again.\n\nThis has the following advantages. It reduces the number of IPC messages\nbetween OSPF/Zebra. Also, in the current flow, a batch of route deletes\nwere followed by a batch of adds even for say a metric change.\n\nWith the change, routes are sent as \"add\" when they are modified. Zebra\nalready implicitly deletes older routes.\n\nSigned-off-by: Ayan Banerjee \u003cayan@cumulusnetworks.com\u003e\nReviewed-by: Scott Feldman \u003csfeldma@cumulusnetworks.com\u003e\nReviewed-by: Dinesh Dutt \u003cddutt@cumulusnetworks.com\u003e\nSigned-off-by: Scott Feldman \u003csfeldma@cumulusnetworks.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c3acba348d01e1f3e9656cb8e75fbcf43ecca981",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_route.c",
      "new_id": "eb7829acdf1bd160914d219974f0e2719c82f76e",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_route.c"
    }
  ]
}
