)]}'
{
  "commit": "d034aa027ef44d0a74805c27ad2a4d8ea20395d1",
  "tree": "bf464ce298c822f207f14423a9a1dc847d960cc0",
  "parents": [
    "907fd95e502e10334e5390c73cc57588b88b8171"
  ],
  "author": {
    "name": "Peter Szilagyi",
    "email": "peszilagyi@gmail.com",
    "time": "Sat Oct 01 17:22:51 2011 +0400"
  },
  "committer": {
    "name": "Denis Ovsienko",
    "email": "infrastation@yandex.ru",
    "time": "Tue Feb 14 03:06:17 2012 +0400"
  },
  "message": "isisd: fix wrong next-hops from SPF\n\nThe forwarding table was filled with wrong next-hops, and which is even\nworse, it was done in a totally non-deterministic way.\n\nThe next-hop set for an IP prefix by isisd was the neighbor IS from\nwhich the flooded LSP about the IP prefix was arrived. So, if an IS\nreceived all the LSPs through its, say, eth0 interface, all entries\nin the forwarding table contained the next IS reachable via eth0 as\nthe next-hop.\n\nThe solution is to propagate the correct next-hop further from node to\nnode as the SPF algorithm traverses the graph and selects the next\nnode to be added to the set of already covered nodes.\n\nAlso, the construction of the tentative node list (the nodes where the\nshortest path is not known yet) was buggy: if a node was already a\nmember of this list with a certain path cost, and an alternative path\nwas found to it with a lower cost while processing a pseudo-node LSP,\nit was not added to the list. This way, the path selected by isisd for\na certain prefix was the first one it encountered during the LSDB\nprocessing.\n\nSigned-off-by: Fritz Reichmann \u003cfritz@reichmann.nl\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "adbde78efd91129f2aba91adde1a5dbc50fe9c1f",
      "old_mode": 33188,
      "old_path": "isisd/isis_lsp.h",
      "new_id": "8d648d059f5725435b3303c8d8afa9e347c72aae",
      "new_mode": 33188,
      "new_path": "isisd/isis_lsp.h"
    },
    {
      "type": "modify",
      "old_id": "3d2629a8c459ff22d562dfacdc982158fdfade42",
      "old_mode": 33188,
      "old_path": "isisd/isis_pdu.c",
      "new_id": "e55d33658bfcec2c49b1248ca7144d6535bb901f",
      "new_mode": 33188,
      "new_path": "isisd/isis_pdu.c"
    },
    {
      "type": "modify",
      "old_id": "5d7e9da4255525e08048663fcbef8e26ca7330d6",
      "old_mode": 33188,
      "old_path": "isisd/isis_spf.c",
      "new_id": "b6178e3a29df43ce59793cebb153ccbb243d78a0",
      "new_mode": 33188,
      "new_path": "isisd/isis_spf.c"
    }
  ]
}
