)]}'
{
  "commit": "19e6c193db0c74ed08dbb5cd30dfa8f6a4377af0",
  "tree": "8b0b2a80222c2785f84ff3a0d30462d6c274ad8d",
  "parents": [
    "c365b534623279049bc4cc0c5d03fdbcd2d466b0"
  ],
  "author": {
    "name": "Paul Jakma",
    "email": "paul.jakma@hpe.com",
    "time": "Tue Sep 06 17:23:48 2016 +0100"
  },
  "committer": {
    "name": "Paul Jakma",
    "email": "paul.jakma@hpe.com",
    "time": "Tue Oct 04 13:07:53 2016 +0100"
  },
  "message": "bgpd: bgp_nexthop_cache not deleted with peers\n\n* Fix mild leak, bgp_nexthop_caches were not deleted when their peer was.\n  Not a huge one, but makes valgrinding for other leaks noisier.\n\n  Credit to Lou Berger \u003clberger@labn.net\u003e for doing the hard work of\n  debugging and pinning down the leak, and supplying an initial fix.\n  That one didn\u0027t quite get the refcounting right, it seemed, hence\n  this version.\n\n  This version also keeps bncs pinned so long as the peer is defined, where\n  Lou\u0027s tried to delete whenever the peer went through bgp_stop. That causes\n  lots of zebra traffic if down peers go Active-\u003eConnect-\u003eActive, etc., so\n  leaving bnc\u0027s in place until peer_delete seemed better.\n\n* bgp_nht.c: (bgp_unlink_nexthop_by_peer) similar to bgp_unlink_nexthop, but\n  by peer.\n* bgp_nht.c: (bgp_unlink_nexthop_check) helper to consolidate checking\n  if a bnc should be deleted.\n  (bgp_unlink_nexthop_by_peer) ensure the bnc-\u003enht_info peer reference\n  is removed, and hence allow bncs to be removed by previous.\n* bgpd.c: (peer_delete) cleanup the peer\u0027s bnc.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "34b5fd1c191505b165473647f5f340f22c6b33c7",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_nht.c",
      "new_id": "591fbf98e3360680e41fac52413b2d151dad517a",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_nht.c"
    },
    {
      "type": "modify",
      "old_id": "2bced7fbe33fdbfbd47fdaab721c39207ebe0427",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_nht.h",
      "new_id": "5086b08064fdc42a6cee5b49b5ede94bf5fa4ea9",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_nht.h"
    },
    {
      "type": "modify",
      "old_id": "eacf80442e14638e265524c272c96acbe4633be5",
      "old_mode": 33188,
      "old_path": "bgpd/bgpd.c",
      "new_id": "018a599411019866157a97e8b653366668c4d650",
      "new_mode": 33188,
      "new_path": "bgpd/bgpd.c"
    }
  ]
}
