)]}'
{
  "log": [
    {
      "commit": "ec87416a1048d547c514b535c15616f9ed932a62",
      "tree": "3d967181e81e6a9ca0f7b9633f6844d7f6338e6e",
      "parents": [
        "acf9865f7fcec6a8d47df6ed7946a5e8ca398918"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:33:12 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:50 2015 -0500"
      },
      "message": "isisd: provide more detailed log for failed address removal\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "acf9865f7fcec6a8d47df6ed7946a5e8ca398918",
      "tree": "fac7d9ce2d2b6d984bde675641556e5063e8f655",
      "parents": [
        "9dfcca6122c9f4f3642241ff50029d7669af3999"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Thu Nov 12 14:24:22 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:50 2015 -0500"
      },
      "message": "isisd: add support to import routes from other protocols\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "9dfcca6122c9f4f3642241ff50029d7669af3999",
      "tree": "a5429f803a21a5caf2d9c466cf27e59e29ca2662",
      "parents": [
        "61010c33fd7bf3d923c5406656c0672f0336b179"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:32:11 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:50 2015 -0500"
      },
      "message": "isisd: fix assertion in LSP refresh timer calculation\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "61010c33fd7bf3d923c5406656c0672f0336b179",
      "tree": "9da23e8d078e328152567254304e189435fec49d",
      "parents": [
        "80a8f72654631fe00f787c73515dc7d064251adc"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:43:34 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:50 2015 -0500"
      },
      "message": "isisd: add a slight delay to lsp_regenerate_schedule\n\nisisd implements a holdoff interval and will refrain from regenerating\nan lsp if the difference between the current time and its last refresh\nis less than the holdoff interval. Instead, it will schedule a timer\nto regenerate the lsp after the holdoff interval has passed.\n\nThis implementation has one disadvantage in the case where there is a\nsuccession of calls to lsp_regenerate_schedule. In such a case, the\nfirst call will trigger an immediate regeneration of the lsp, while the\nother calls will only schedule the regeneration timer. This leads to\ncases where it takes holdoff interval time for information to propagate,\njust because the information was only available e.g. at the second call\nof lsp_regenerate_schedule in such a succession of calls.\n\nBy not immediately regenerating an lsp if the last generation time\nis sufficiently long ago, but instead scheduling the regeneration with a\nvery small delay, we allow all information from such a succession of\ncalls to be considered.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "80a8f72654631fe00f787c73515dc7d064251adc",
      "tree": "ea9c55d486d2472d85187f48485cc3a6ba7b00df",
      "parents": [
        "749e87a0731ae53cf73af507afb63bab3f8e937f"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Thu Nov 12 14:21:47 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: add a debug mode that traces LSP construction\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "749e87a0731ae53cf73af507afb63bab3f8e937f",
      "tree": "a05052f707c85c9e3dc7fbfcb1e51c2541b40e6e",
      "parents": [
        "f1fc1db703c34dbeb9639c4f6ebfb096cdc3fc62"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:21:44 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: purge on correct level\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "f1fc1db703c34dbeb9639c4f6ebfb096cdc3fc62",
      "tree": "8872bb840dceafa88515afc6f13af22cc3f23ad5",
      "parents": [
        "7324ae1f0daa5537dbcfded208707581b2b36335"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Tue Nov 10 18:43:31 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: allow to adjust lsp-mtu\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "7324ae1f0daa5537dbcfded208707581b2b36335",
      "tree": "6ddfcdf2de5c3961ede6a9fffb62cf1221a0e5d9",
      "parents": [
        "912aac4f670ffd383b757995914f4d1b5e7596aa"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:04:48 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: initialize circuit to match area is_type\n\nNew circuits should be initialized to match the is_type\nof their area. Also add an additional check to make sure\nthat no IIHs are sent for levels which are not enabled.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "912aac4f670ffd383b757995914f4d1b5e7596aa",
      "tree": "7b7e39d5b7c06d424554164e53a0a7e6ec3c2c28",
      "parents": [
        "f35169ecdb481ca1e176cbb234b5294b2ca901a7"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:04:47 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: do remove ipv6 routes from Zebra\n\nWe can abort isis_zebra_route_del_ipv6 if the route in question has\nISIS_ROUTE_FLAG_ZEBRA_SYNCED unset, meaning it\u0027s not in the kernel.\nAborting the function if the flag is set prevents us from removing\nany routes.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "f35169ecdb481ca1e176cbb234b5294b2ca901a7",
      "tree": "2e3121c1bce6685dc50a438443b32fec4d9fbd05",
      "parents": [
        "b461630bed1a0ed33c3a38fc485caf826ff05ce9"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Thu Nov 12 14:09:08 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: don\u0027t corrupt memory for long hostnames\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "b461630bed1a0ed33c3a38fc485caf826ff05ce9",
      "tree": "36ff7fcdbcaf5f82275e008e9e101f5d07d09972",
      "parents": [
        "390f16ee4e506f782aa48077cc8318e6fdcf4a5c"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Tue Nov 10 18:04:45 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: fix a typo in a log message\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "390f16ee4e506f782aa48077cc8318e6fdcf4a5c",
      "tree": "a7f84ab45aa06efa9609c74b507892f944bc26d4",
      "parents": [
        "77277a140984aa78756cbf363606a324c84113db"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:04:44 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: remove superfluous checks after XMALLOC etc.\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "77277a140984aa78756cbf363606a324c84113db",
      "tree": "15a7b927aa663d18883c6f22fd586fe86f34f8d2",
      "parents": [
        "abfd40d68202882696260617729518a6d2c99302"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "nobody@nowhere.ws",
        "time": "Tue Nov 10 18:04:43 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "isisd: annotate some function arguments with const\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "abfd40d68202882696260617729518a6d2c99302",
      "tree": "40b0c4b62c079adce8692a3b078b081e2facbdb2",
      "parents": [
        "dbe99e0c407bcb383d0be0c0010fefccc5b46866"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:04:42 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:49 2015 -0500"
      },
      "message": "lib: don\u0027t have log functions change errno\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "dbe99e0c407bcb383d0be0c0010fefccc5b46866",
      "tree": "db2828cebc59de453dde7061539d9140fadec17b",
      "parents": [
        "76fbc64c5d82c6f540cb4a1ac855f9f098fa6c5f"
      ],
      "author": {
        "name": "Alexis Fasquel",
        "email": "alexis@pch.net",
        "time": "Mon Nov 16 13:55:16 2015 -0500"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:46 2015 -0500"
      },
      "message": "bgpd: Update dump to allow Extended Time Format\n\nAllow the bgp dump functionality to handle the Extended Time format\nas specified in RFC 6396.\n\nFixes a segmentation fault with multiple dump rules as well.\n\nSigned-off-by: Alexis Fasquel \u003calexis@pch.net\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "76fbc64c5d82c6f540cb4a1ac855f9f098fa6c5f",
      "tree": "ce0d45193a3924fd23851ff81210beb320cf0afb",
      "parents": [
        "1ca8d40f996c0760a1a8931f54044dd7ca9e3f9c"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 18:04:41 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:40 2015 -0500"
      },
      "message": "lib: add function to get precise remaining time of timer thread\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "1ca8d40f996c0760a1a8931f54044dd7ca9e3f9c",
      "tree": "df3274ac9d9d3731894cd5123eb8118ff6a7d8f5",
      "parents": [
        "c1900e09a7fdd70437f3ba0329868f1eee3f5a1a"
      ],
      "author": {
        "name": "Christian Franke",
        "email": "chris@opensourcerouting.org",
        "time": "Tue Nov 10 17:45:03 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:10 2015 -0500"
      },
      "message": "ripd, isisd: fix warnings that make the build fail\n\nThese issues have been found by running buildtest.sh\nusing GCC 5.2.0 and Clang 3.7.0\n\nFixes pointer checks that can never be null\n\nSigned-off-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nTested-by: NetDEF CI System \u003ccisystem@netdef.org\u003e\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "c1900e09a7fdd70437f3ba0329868f1eee3f5a1a",
      "tree": "5f1032936f4413f7dc12935eabbdf62f940ffd12",
      "parents": [
        "949b719eac0c8b51c73f144eb035fab27a16c2a6"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Nov 04 13:26:40 2015 -0500"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:10 2015 -0500"
      },
      "message": "zebra: Fix change of distance on ipv6 route creating duplicate routes\n\nIf you enter:\n\nipv6 route 2002:44:44:44::44/128 swp1 4\nipv6 route 2002:44:44:44::44/128 swp1 99\n\nYou get:\n\nhost-111# show ipv6 route\nCodes: K - kernel route, C - connected, S - static, R - RIPng,\nO - OSPFv6, I - IS-IS, B - BGP, A - Babel, T - Table,\n\u003e - selected route, * - FIB route\nS 2002:44:44:44::44/128 [99/0] is directly connected, swp1\nS\u003e* 2002:44:44:44::44/128 [4/0] is directly connected, swp1\n\nThis problem is fixed in the ipv4 code path.  Copying the same\ncode from the ipv4 into the ipv6 code path fixes the issue.\n\nWith the fix:\n\nhost-111(config)# ipv6 route 2002:44:44:44::44/128 swp1 4\nhost-111(config)# do show ipv6 route\nCodes: K - kernel route, C - connected, S - static, R - RIPng,\n       O - OSPFv6, I - IS-IS, B - BGP, A - Babel, T - Table,\n       \u003e - selected route, * - FIB route\n\nS\u003e* 2002:44:44:44::44/128 [4/0] is directly connected, swp1\nC * fe80::/64 is directly connected, swp1\nC\u003e* fe80::/64 is directly connected, eth0\nhost-111(config)# ipv6 route 2002:44:44:44::44/128 swp1 99\nhost-111(config)# do show ipv6 route\nCodes: K - kernel route, C - connected, S - static, R - RIPng,\n       O - OSPFv6, I - IS-IS, B - BGP, A - Babel, T - Table,\n       \u003e - selected route, * - FIB route\n\nS\u003e* 2002:44:44:44::44/128 [99/0] is directly connected, swp1\nC * fe80::/64 is directly connected, swp1\nC\u003e* fe80::/64 is directly connected, eth0\nhost-111(config)#\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "949b719eac0c8b51c73f144eb035fab27a16c2a6",
      "tree": "ca22748a46ab77ab04354d13890335a3bcb690a1",
      "parents": [
        "a979ab70e0ec51f3cf779edae509f3c52be0b0f4"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Nov 04 13:26:39 2015 -0500"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:10 2015 -0500"
      },
      "message": "zebra: Combine static_uninstall_ipv[4|6] into one function\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "a979ab70e0ec51f3cf779edae509f3c52be0b0f4",
      "tree": "f81b6472598e824ea37e3f17e1dd8b167044fbeb",
      "parents": [
        "9bcdd1a252ba84424eb06e84adf7fb48ae66ce1f"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Nov 04 13:26:38 2015 -0500"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:10 2015 -0500"
      },
      "message": "zebra: combine static_ipv[4|6]_nexthop_same into one function\n\nCombine the static_ipv[4|6]_nexthop_same into static_nexthop_same.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "9bcdd1a252ba84424eb06e84adf7fb48ae66ce1f",
      "tree": "e604d71dcc41c9449d91c6d85c732320d6a112ec",
      "parents": [
        "0d955affd51df42dd5ae24b0d41edd992fb59a78"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Nov 04 13:26:37 2015 -0500"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:10 2015 -0500"
      },
      "message": "zebra: Combine static_install_ipv[4|6]\n\nCombine the static_install_ipv[4|6] function calls into\nstatic_install_route.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "0d955affd51df42dd5ae24b0d41edd992fb59a78",
      "tree": "8cdf0f263b5c9950c598e6ef2908efbb55004845",
      "parents": [
        "d4c27d656d072fbd81003a71c4f3391c96852c60"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Nov 04 13:26:36 2015 -0500"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:10 2015 -0500"
      },
      "message": "zebra: Remove HAVE_IPV6 from rib.h and zebra_rib.c\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "d4c27d656d072fbd81003a71c4f3391c96852c60",
      "tree": "27f40829775ca271f6a7d7b5031284b264c0f479",
      "parents": [
        "b11f3b54c842117e22e2f5cf1561ea34eee8dfcc"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Nov 04 13:26:35 2015 -0500"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:10 2015 -0500"
      },
      "message": "zebra: Collapse struct static_ipv[4|6] into struct static_route\n\nThe \u0027struct static_ipv4\u0027 and \u0027struct static_ipv6\u0027 structures\nare essentially the same.  Collapse them into one data structure\n\u0027struct static_route\u0027.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "b11f3b54c842117e22e2f5cf1561ea34eee8dfcc",
      "tree": "c31f9893baa2a05db24ea72d1370fb6b11f59c20",
      "parents": [
        "7eb6136b2732d4782360f9f376336c6d4f667ff0"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Mon Nov 02 16:50:07 2015 +0200"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:10 2015 -0500"
      },
      "message": "zebra: implement per-route mtu handling\n\nThis commits allow overriding MTU using netlink attributes on\nper-route basis. This is useful for routing protocols that can\nadvertice prefix specific MTUs between routers (e.g. NHRP).\n\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\n"
    },
    {
      "commit": "7eb6136b2732d4782360f9f376336c6d4f667ff0",
      "tree": "5e77b44139cf542a18a949d1204ace4316b474f1",
      "parents": [
        "929a26a7cf80b2df9981595e6bcfcfc4a970052a"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Mon Nov 02 16:50:05 2015 +0200"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:10 2015 -0500"
      },
      "message": "zebra: make ZEBRA_FLAG_CHANGED internal status\n\nThis flag is used internally in zebra only. And it makes no sense\nto expose it over the zclient API, as having it set from client\ncould corrupt the internal state.\n\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "929a26a7cf80b2df9981595e6bcfcfc4a970052a",
      "tree": "7be5a0c2750044002a9577e85a2736248aa48d7e",
      "parents": [
        "0d7435f2138955b4b8aa9044eefbaff31ec33248"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Oct 28 19:59:30 2015 -0400"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:10 2015 -0500"
      },
      "message": "lib: Memory reporting fails over 2GB\n\nThe old style mallinfo() function uses an \u0027int\u0027 to\nreport memory usage data to the program.  Unfortunately\nmodern architectures can chew through 2gb of memory like a\nbuzz saw hitting some warm butter, especially in the case\nof a memory leak or memory fragmentation.\n\nWhen a daemon uses more than 2gb of memory, just indicate it\u0027s\ngotten large and we don\u0027t know anymore.\n\nPre-change behavior:\nRobot-1# show memory\nSystem allocator statistics:\nTotal heap allocated: 16777216 TiB\nHolding block headers: 1288 KiB\nUsed small blocks: 0 bytes\nUsed ordinary blocks: 535 MiB\nFree small blocks: 768 bytes\nFree ordinary blocks: 16777216 TiB\nOrdinary blocks: 266107\nSmall blocks: 24\nHolding blocks: 2\n\nPost-change behavior:\nRobot-1# show memory\nSystem allocator statistics:\n  Total heap allocated:  1572 KiB\n  Holding block headers: \u003e 2GB\n  Used small blocks:     0 bytes\n  Used ordinary blocks:  1443 KiB\n  Free small blocks:     32 bytes\n  Free ordinary blocks:  129 KiB\n  Ordinary blocks:       2\n  Small blocks:          1\n  Holding blocks:        2\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "0d7435f2138955b4b8aa9044eefbaff31ec33248",
      "tree": "a7f3583dc4dbb582aa16fadc259241a661c6e8de",
      "parents": [
        "5a2a1ec18c89daec5de6690a9b0f47c0d11a0f2d"
      ],
      "author": {
        "name": "Daniel Walton",
        "email": "dwalton76@gmail.com",
        "time": "Thu Oct 22 11:35:20 2015 +0300"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:12:09 2015 -0500"
      },
      "message": "bgpd: Add support for timer commands with peer-group syntax\n\nThe peer-groups parser is missing advertisement-interval and \u0027timers connect\u0027\n\nSigned-off-by: Daniel Walton \u003cdwalton@cumulusnetworks.com\u003e\nReviewed-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\n"
    },
    {
      "commit": "5a2a1ec18c89daec5de6690a9b0f47c0d11a0f2d",
      "tree": "a824c25e85d8d5be9690524ff6061293b5f56315",
      "parents": [
        "0edba8b6ad9c83fa0a3cc58765fe9f123f4109ac"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Thu Oct 22 11:35:18 2015 +0300"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:11:18 2015 -0500"
      },
      "message": "bgpd: update rtt on soft clear\n\nrtt is calculated dynamically by the kernel. Refresh it on\nsoft clear.\n\nFixes: ef757700d0 \"bgpd: allow using rtt in route-map\u0027s set metric\"\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\n"
    },
    {
      "commit": "0edba8b6ad9c83fa0a3cc58765fe9f123f4109ac",
      "tree": "52e0410279dc9b20ba0bc8453e0e0c1f72e081cb",
      "parents": [
        "983525e8b560fc44d2214ca3f6d72af809b6ebd9"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Thu Oct 22 11:35:17 2015 +0300"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:11:18 2015 -0500"
      },
      "message": "bgpd: check rtt later after the real peer is known\n\nOPEN message handler moves the connection from the temporary\n\"struct peer\" (used to accept it) to the real \"struct peer\" based\non the configuration. RTT needs to be updated only to the real\nstruct peer, and this patch moves the RTT query to point where\nrealpeer is known.\n\nFixes: ef757700d0 \"bgpd: allow using rtt in route-map\u0027s set metric\"\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\n"
    },
    {
      "commit": "983525e8b560fc44d2214ca3f6d72af809b6ebd9",
      "tree": "e746b161aa9266c270d80e2a51e01e49dad87e44",
      "parents": [
        "6d853c43d9dd315eb42211150b7a4a43bae4cb62"
      ],
      "author": {
        "name": "Timo Teräs",
        "email": "timo.teras@iki.fi",
        "time": "Thu Oct 22 11:35:16 2015 +0300"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:11:18 2015 -0500"
      },
      "message": "zebra: fix rtadv detection\n\nThe GLIBC macro tests were just plain wrong. Glibc 2.1 is ancient\nand the support should be detected via configure.ac test, not\nmacro test. Build with HAVE_RTADV but !RTADV is broke after vrf,\nso for now, just define RTADV always if HAVE_RTADV is there.\n\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\n"
    },
    {
      "commit": "6d853c43d9dd315eb42211150b7a4a43bae4cb62",
      "tree": "cc5f6ab4037c4221b735a3ab483a8548b2f0ab88",
      "parents": [
        "bf99b420a57b7c5bf44c8ab528d0a2e416b66d81"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Oct 21 16:13:51 2015 -0400"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:11:18 2015 -0500"
      },
      "message": "pimd: Limit pim hello log messages\n\npimd was outputting allot of data surrounding pim hello packets.\nIn addition the debugging was inconsistent and not all turned\non via \u0027debug pim packet hello\u0027.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "bf99b420a57b7c5bf44c8ab528d0a2e416b66d81",
      "tree": "1e44abc69995f5210cc7ddb1cfb8f6f29406db87",
      "parents": [
        "c8af680df5beb613fd50c265773a6beb0f1768c9"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Oct 21 10:00:47 2015 -0400"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:11:18 2015 -0500"
      },
      "message": "bgpd: Fix bgp_btoa to compile\n\nbgp_btoa was abandoned at some point in time in the past.\nThis commit gets it to compile and to be added to /usr/bin.\n\nAt this point in time no work has done for \u0027correctness\u0027 of execution\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "c8af680df5beb613fd50c265773a6beb0f1768c9",
      "tree": "e46da907fe4b493085d8e4bcb51d775cc32ef05b",
      "parents": [
        "363c903435b154e989f0544d12d4ac8d50174c0b"
      ],
      "author": {
        "name": "Daniel Walton",
        "email": "dwalton@cumulusnetworks.com",
        "time": "Wed Oct 21 06:56:44 2015 -0700"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:11:14 2015 -0500"
      },
      "message": "lib: Add zlog_hexdump() for debugging\n\nSigned-off-by: Daniel Walton \u003cdwalton@cumulusnetworks.com\u003e\nReviewed-by:   Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "363c903435b154e989f0544d12d4ac8d50174c0b",
      "tree": "3efcda7bc9e934ea17f2787a9f0ea9d59738ebea",
      "parents": [
        "92e62e06ba9e03c4603538b3138298b274e3c167"
      ],
      "author": {
        "name": "Daniel Walton",
        "email": "dwalton@cumulusnetworks.com",
        "time": "Wed Oct 21 06:42:54 2015 -0700"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:11:10 2015 -0500"
      },
      "message": "bgpd: crash from not NULLing freed pointers\n\nSigned-off-by: Daniel Walton \u003cdwalton@cumulusnetworks.com\u003e\nReviewed-by:   Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n\nThere was a crash from not NULLing out peer-\u003ehostname but I cleaned\nup a bunch of other suspect ones as well.\n"
    },
    {
      "commit": "92e62e06ba9e03c4603538b3138298b274e3c167",
      "tree": "97cddcb06259dfd27ac7e46eae78ba963bd33d54",
      "parents": [
        "f89b09be92bed03b1e5add55dc14ef92e94c52e1"
      ],
      "author": {
        "name": "Daniel Walton",
        "email": "dwalton@cumulusnetworks.com",
        "time": "Wed Oct 21 06:42:53 2015 -0700"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:11:06 2015 -0500"
      },
      "message": "ospfd: Lower the default OSPF spf timers to \u00270 50 5000\u0027\n\nSigned-off-by: Daniel Walton \u003cdwalton@cumulusnetworks.com\u003e\nReviewed-by:   Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "f89b09be92bed03b1e5add55dc14ef92e94c52e1",
      "tree": "a9662e2a506a8377b53864d2ea99c5c71978e5e0",
      "parents": [
        "8e644534b4d20dde07306700be0503d09d30a16e"
      ],
      "author": {
        "name": "Daniel Walton",
        "email": "dwalton@cumulusnetworks.com",
        "time": "Wed Oct 21 06:42:52 2015 -0700"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:11:01 2015 -0500"
      },
      "message": "bgpd: Lower BGP\u0027s default keepalive/holdtime to 3s/9s\n\nSigned-off-by: Daniel Walton \u003cdwalton@cumulusnetworks.com\u003e\nReviewed-by:   Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "8e644534b4d20dde07306700be0503d09d30a16e",
      "tree": "ad52e0dd0c99f32f6d04f32eaee017794f1b711d",
      "parents": [
        "c37b9bccdcc1266f52e50fa3e5a8dc81086c3fe7"
      ],
      "author": {
        "name": "Daniel Walton",
        "email": "dwalton@cumulusnetworks.com",
        "time": "Wed Oct 21 06:42:51 2015 -0700"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:10:58 2015 -0500"
      },
      "message": "bgpd: Remove BGP_ERROR_START_TIMER, it was no longer used\n\nSigned-off-by: Daniel Walton \u003cdwalton@cumulusnetworks.com\u003e\nReviewed-by:   Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "c37b9bccdcc1266f52e50fa3e5a8dc81086c3fe7",
      "tree": "e1aa8b92d71d434c4b4ca45eebe2089028ce7098",
      "parents": [
        "57fcfda56ad091a6850e190f5788361bf921699e"
      ],
      "author": {
        "name": "Daniel Walton",
        "email": "dwalton@cumulusnetworks.com",
        "time": "Wed Oct 21 06:42:50 2015 -0700"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:10:53 2015 -0500"
      },
      "message": "bgpd: Enable \"bgp log-neighbor-changes\" by default\n\nSigned-off-by: Daniel Walton \u003cdwalton@cumulusnetworks.com\u003e\nReviewed-by:   Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "57fcfda56ad091a6850e190f5788361bf921699e",
      "tree": "ff31b969ae0565268ff15b71b6e0083dc6d28873",
      "parents": [
        "3ff77fe62ecdabc01f576de8c4e5d78d16e3e436"
      ],
      "author": {
        "name": "Daniel Walton",
        "email": "dwalton@cumulusnetworks.com",
        "time": "Wed Oct 21 06:42:49 2015 -0700"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:10:45 2015 -0500"
      },
      "message": "bgpd: Do not allow a timers connect of 0, this can hammer the CPU\n\nSigned-off-by: Daniel Walton \u003cdwalton@cumulusnetworks.com\u003e\nReviewed-by:   Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "3ff77fe62ecdabc01f576de8c4e5d78d16e3e436",
      "tree": "597e8e707b0ce9d1f919741f868d15a560548527",
      "parents": [
        "f822ad4326e8b279e028b8b2ca2282475b5e27de"
      ],
      "author": {
        "name": "Daniel Walton",
        "email": "dwalton@cumulusnetworks.com",
        "time": "Wed Oct 21 06:42:48 2015 -0700"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:10:42 2015 -0500"
      },
      "message": "bgpd: Remove BGP\u0027s asorig timer, it is no longer used\n\nSigned-off-by: Daniel Walton \u003cdwalton@cumulusnetworks.com\u003e\nReviewed-by:   Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "f822ad4326e8b279e028b8b2ca2282475b5e27de",
      "tree": "c8ffb4dd4af36d59d8e0f8901f5b11f81844c3c1",
      "parents": [
        "e56aab94a615a2b676473fbd09145b444a348029"
      ],
      "author": {
        "name": "Daniel Walton",
        "email": "dwalton@cumulusnetworks.com",
        "time": "Wed Oct 21 06:42:47 2015 -0700"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Dec 08 14:10:29 2015 -0500"
      },
      "message": "bgpd: Lower the default \u0027timers connect\u0027 in BGP to 10 seconds\n\nSigned-off-by: Daniel Walton \u003cdwalton@cumulusnetworks.com\u003e\nReviewed-by:   Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "e56aab94a615a2b676473fbd09145b444a348029",
      "tree": "82945742e1b8386f8faf12ac4f26e8fc0403a15c",
      "parents": [
        "ffe794426af2b142ecfed7021d34d8f868857219"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 20 16:14:56 2015 +0100"
      },
      "committer": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Nov 25 11:36:26 2015 -0500"
      },
      "message": "doc: Add \u0027OSPF Fundamentals\u0027 section to OSPF docs\n\n* ospf_fundamentals.texi: New section explaining the fundamentals of OSPF\n  for system admins, to help them debug their networks.\n* {Makefile.am,ospfd.texi}: include and build previous\n\nConflicts:\n\tdoc/Makefile.am\n"
    },
    {
      "commit": "ffe794426af2b142ecfed7021d34d8f868857219",
      "tree": "4fdc504cf91226dc257acd0a478cab9e324c476d",
      "parents": [
        "283596fd6d49a5b2861a6923db9a88628ef0eca4"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul@jakma.org",
        "time": "Thu Oct 29 14:24:13 2015 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Oct 29 14:24:13 2015 +0000"
      },
      "message": "pimd: Fix size_t zlog_err format string warning\n\n* fc1c114aa / \"pimd: Fix warning\", the size_t arg should have a %zu format.\n"
    },
    {
      "commit": "283596fd6d49a5b2861a6923db9a88628ef0eca4",
      "tree": "1b461a1fea8840efaafd1250f729831be91fea9f",
      "parents": [
        "be62b17c736ea06181f2788e3011066830555610",
        "fc1c114aab24fe47bc6a1976c1c602d507fa4e69"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul@jakma.org",
        "time": "Wed Oct 28 14:25:06 2015 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Wed Oct 28 14:25:06 2015 +0000"
      },
      "message": "Merge \u0027patch-tracking/4/proposed/netdef-solaris\u0027 into accepted\n"
    },
    {
      "commit": "be62b17c736ea06181f2788e3011066830555610",
      "tree": "ff751d9dcacd29edffff57b82f56a13247c9575a",
      "parents": [
        "056f3760cd311faf088d6f5fe06498960788c8c7"
      ],
      "author": {
        "name": "Michael Zingg",
        "email": "michael.zingg@zhaw.ch",
        "time": "Fri Oct 26 11:18:19 2012 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 11:00:30 2015 +0000"
      },
      "message": "isisd: Fix LSPs not being regenerated after adjacency change\n\nIn isisd LSP\u0027s are not regenerated after a change in adjacency if\nlsp-gen-interval has expired.\nI have tested this on Debian 6.0 with zebra and level1 isisd with point\nto point links. This problem is also listed in Test ISIS-18.3 on the\nopensourcerouting.org wiki:\nhttp://confluence.isc.org/display/osr/ANVL+ISIS+Compliance+Test+Plan\nhttp://confluence.isc.org/display/osr/ANVL+ISIS+Results\n"
    },
    {
      "commit": "056f3760cd311faf088d6f5fe06498960788c8c7",
      "tree": "6098f68402cefc8dbf0b832636390c453802a245",
      "parents": [
        "5c1791f28e2e831e4e9b92c3c2f7d8ed832cb968"
      ],
      "author": {
        "name": "Lou Berger",
        "email": "lberger@labn.net",
        "time": "Wed Apr 10 12:30:04 2013 -0700"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 11:00:29 2015 +0000"
      },
      "message": "bgpd, lib: memory cleanups for valgrind, plus debug changes\n\nDescription:\n    We use valgrind memcheck quite a bit to spot leaks in\n    our work with bgpd. In order to eliminate false positives,\n    we added code in the exit path to release the remaining\n    allocated memory.\n\n    Bgpd startup log message now includes pid.\n\nSome little tweaks by Paul Jakma \u003cpaul.jakma@hpe.com\u003e:\n\n* bgp_mplsvpn.c: (str2prefix_rd) do the cleanup in common code at the end\n  and goto it.\n"
    },
    {
      "commit": "5c1791f28e2e831e4e9b92c3c2f7d8ed832cb968",
      "tree": "1b00973425f350e92ca6f5cf5498ad937004fe5a",
      "parents": [
        "13862bfc779f6f63080c8d860f7b919b27f39b9c"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "Joakim.Tjernlund@transmode.se",
        "time": "Fri Apr 25 14:36:16 2014 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 11:00:29 2015 +0000"
      },
      "message": "ospfd: PointToPoint neighbors are identified by router ID\n\nAccording to RFC 2328, section 10.5  PointToPoint neighbors\nshould be identified by router ID instead of source IP address.\n\nSigned-off-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\n"
    },
    {
      "commit": "13862bfc779f6f63080c8d860f7b919b27f39b9c",
      "tree": "b16fe03a4d8fd91a0d1de9afdf1232deacff299d",
      "parents": [
        "8a667cf7c58a065bcd6371f4ad6f25bfb084181c"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul@jakma.org",
        "time": "Tue Oct 20 13:47:09 2015 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:59:52 2015 +0000"
      },
      "message": "Revert \"Fix to take care of ordering between interface and router ospf command.\"\n\nThis reverts commit 4bab6806914dbb4b43f376ebf966a034a0ea72cd, as Joakim\u0027s\nversion of \u0027ip ospf area\u0027 and the 2 follow-up patches should avoid the issue\nVipin reported.\n\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "8a667cf7c58a065bcd6371f4ad6f25bfb084181c",
      "tree": "59ee7f3ad6e24f64e8c7c57ddaa3a6b8a4b97f5f",
      "parents": [
        "738bce789a393efe2d3f35fd541cf149dd7f9311"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Aug 27 16:51:42 2009 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:59:28 2015 +0000"
      },
      "message": "ospfd: Extend \u0027ip ospf area\u0027 to take address argument + rationalise ospf enable\n\n* ospfd.c: (general) Clean up the whole running of OSPF on interfaces.\n  (add_ospf_interface) taking (struct interface *) arg is pointless here.\n  (ospf_is_ready) new helper.\n  (ospf_network_run_subnet) Put all the code for choosing whether to enable\n  OSPF on a subnet, and if so which area configuration to use, here. If a\n  subnet should not be enabled, ensure an existing oi is freed.\n  (ospf_network_run_interface) Just call run_subnet for all subnets on an\n  interface.\n  (ospf_network_run) Just call run_interface for all interfaces.\n  (ospf_if_update) Just call run_interface for the given interface.\n  (ospf_network_unset) Just call run_subnet for existing ois.\n  (ospf_update_interface_area) helper: update area on an oi, or create it.\n  (ospf_interface_set) renamed to ospf_interface_area_set for clarity.\n  Ensures OSPF is created, then into if_update.\n  (ospf_interface_unset) renamed to ospf_interface_area_unset and collapses\n  down to simple loop to call run_subnet for all ois.\n* ospf_interface.h: add a more general OSPF_IF_PARAM_IS_SET, which does the\n  right thing and takes default config into account.\n* ospf_vty.c: (OSPF_VTY_GET_IF_PARAMS) new macro with common code for handling\n  interface parameter commands - only used for \u0027ip ospf area\u0027 in this commit.\n  (OSPF_VTY_PARAM_UNSET) similar\n  ({no,}ip_ospf_area) Use said macros.\n* doc/ospfd.texi: add \u0027ip ospf area\u0027 command.\n\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "738bce789a393efe2d3f35fd541cf149dd7f9311",
      "tree": "3e81ad62d8f9531b55845ee781436bceb7e76fec",
      "parents": [
        "7bd7f55d2cbb4ddd2353fe8f2ded4853b3d2676b"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "Joakim.Tjernlund@transmode.se",
        "time": "Fri Aug 07 13:48:15 2009 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:59:02 2015 +0000"
      },
      "message": "ospfd: Impl. per interface \u0027ip ospf area\u0027 command\n\nUse with interface command:\n interface ppp0\n ip ospf area 0.0.0.0\nThis will enable OSPF on ppp0 with area 0.0.0.0\n\nRemove with \"no ip ospf area\"\n\n* ospf_vty.c: add \"ip ospf area (A.B.C.D|\u003c0-4294967295\u003e)\" interface command\n\n* ospfd.c: (ospf_interface_{un,}set) new helper function to enable/disable\n  OSPF on a specific interface.\n  (ospf_if_update) 2 possible paths now to deal with interface updates.\n\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "7bd7f55d2cbb4ddd2353fe8f2ded4853b3d2676b",
      "tree": "2dbcd2d8d0b5f947c1c7fab5ebbb6e642a005a65",
      "parents": [
        "774914f4223532256051bd6dd61cac20e8f9649f"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "Joakim.Tjernlund@transmode.se",
        "time": "Fri Aug 07 13:48:15 2009 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:54:42 2015 +0000"
      },
      "message": "ospfd: split up network interface enable a bit, for per-interface area cmd\n\n* ospfd.c: (ospf_network_run_interface) Move out core to ..\n  (add_ospf_interface) .. here\n  (ospf_network_{un,}set) move redistribute update out to..\n  (update_redistributed) .. here, so it can be re-used in upcoming commit.\n\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "774914f4223532256051bd6dd61cac20e8f9649f",
      "tree": "c6cecfa4c6c1eaff07638d2903e195571baa39b0",
      "parents": [
        "eeef0db2e9260fe76acb328a339025c432eb7c22"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Oct 14 08:50:39 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:22 2015 +0000"
      },
      "message": "bgpd: fix using of two pointers for struct thread_master *\n\nbgp is using both bm-\u003emaster and master pointers interchangebly\nfor thread manipulation.  Since they are the same thing consolidate\nto one pointer.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "eeef0db2e9260fe76acb328a339025c432eb7c22",
      "tree": "48bc6b2b1e3e71658fcf345ed381d3d4bf10c8c4",
      "parents": [
        "ee162617ead116ebcda93b145a043231647b3380"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Oct 14 08:50:38 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:22 2015 +0000"
      },
      "message": "lib: Fix duplicate variable name in smux.c and vty.c\n\nBoth smux.c and vty.c have the same:\nstatic struct thread_master *master;\n\nas global variables for the file.  This can and will lead to confusion\nname the variables something appropriate for the file it is in.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "ee162617ead116ebcda93b145a043231647b3380",
      "tree": "f84b2591937d82fb05d12b920ccc857b1765cfa6",
      "parents": [
        "a6a11765d4206a00b0875988ce352be7cdfa3617"
      ],
      "author": {
        "name": "Amritha Nambiar",
        "email": "amritha.nambiar@intel.com",
        "time": "Tue Oct 13 22:08:46 2015 -0700"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:22 2015 +0000"
      },
      "message": "isisd: Drop packet received on multiple interfaces due to the time gap in binding socket to an interface\n\nDue to the time window between opening socket and binding it to an interface, the same hello\npacket is delivered on multiple interfaces, unique socket per circuit is not yet established.\nWhen such hellos get processed, they form incorrect adjacencies. So, drop the packet that is\nreceived on multiple interfaces because the socket for the circuit is yet to bind to an interface.\n\nV2: Fix warning on sign comparison\n\nSigned-off-by: Amritha Nambiar \u003camritha.nambiar@intel.com\u003e\n"
    },
    {
      "commit": "a6a11765d4206a00b0875988ce352be7cdfa3617",
      "tree": "961fe1aba2fec0f81155bd1fcf7a89542111f678",
      "parents": [
        "4edf1c6aea8fd93e8fdeb2a651bf34bb24329611"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Fri Oct 02 12:27:27 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:22 2015 +0000"
      },
      "message": "pimd: Cleanup interface startup\n\nThis patch cleans up some interface startup, removes duplicate\ndebug messages and protects against some always being displayed.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "4edf1c6aea8fd93e8fdeb2a651bf34bb24329611",
      "tree": "cbf121cedeeb4eebf442b5f147f06587e02e00a1",
      "parents": [
        "dea43dee04e22d69ed57f4c85498e248a6074435"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Thu Oct 01 12:40:52 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:22 2015 +0000"
      },
      "message": "pimd: Notice when we receive a packet type we can\u0027t handle yet\n\nThere are PIM packet types that have not been implemented yet.\nNotice when we get one of those and safely do nothing.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "dea43dee04e22d69ed57f4c85498e248a6074435",
      "tree": "0a9c8669e2c45b93292cccc6cf1ff7e9b3daaeb6",
      "parents": [
        "f3734dd5fc00886b1d3f497d22295cea591d7685"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Thu Oct 01 12:40:51 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:22 2015 +0000"
      },
      "message": "pimd: Add knowledge of different packet types\n\nThere are several additional packet types that pimd is unaware of\nAdd code to allow pim to understand them in the future.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "f3734dd5fc00886b1d3f497d22295cea591d7685",
      "tree": "c3cad3398bf77cbd12c3ae77ac6187aa05186dff",
      "parents": [
        "0cee0384f6c223f6cf507e980f03f2f3dd65478f"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Sep 30 10:22:46 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:21 2015 +0000"
      },
      "message": "pimd: Cleanup zebra debugs to be protected by debug commands\n\npimd is very chatty without any pim debugs turned on.\nThis commit fixes a bunch of the debugs to be protected\nby appropriate pim debug statement.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "0cee0384f6c223f6cf507e980f03f2f3dd65478f",
      "tree": "7c252fcd96a9948882a5412c67892e1c317a4c52",
      "parents": [
        "6169559976b33a5bf120c806135c76b1b6d943ee"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Sep 30 09:10:12 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:21 2015 +0000"
      },
      "message": "pimd: Do not display some default values as part of a show run\n\nThere is no need to display igmp default values for the query-interval\nand the query-max-response-time-dsec\n\nBefore change:\n\n!\ninterface swp4\n description swp4 -\u003e host-212\u0027s swp1\n ip igmp\n ip igmp query-interval 125\n ip igmp query-max-response-time-dsec 100\n ip pim ssm\n link-detect\n!\n\nAfter change:\n!\ninterface br1\n ip igmp\n ip pim ssm\n link-detect\n!\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "6169559976b33a5bf120c806135c76b1b6d943ee",
      "tree": "596f39de0ef657892cf08ae5b25d7d279ce0e08c",
      "parents": [
        "26a18eb223d26011ac4f1d608f6775ed7ebf8efb"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Mon Oct 12 14:33:31 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:21 2015 +0000"
      },
      "message": "tests: Fix warnings from test-stream.c\n\ntest-stream is generating some compiler warnings\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "26a18eb223d26011ac4f1d608f6775ed7ebf8efb",
      "tree": "116460f0d57e4e0e7f2cfa20ea6a9b30be19a16f",
      "parents": [
        "d8aa4beab72cdd2c2d78f9e624fd4b704eec488f"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Sep 29 09:25:10 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:21 2015 +0000"
      },
      "message": "quagga: Additional centos 6 -enable-werror fixes\n\nThis commit fixes these warnings:\n\n1) bgpd/bgp_nexthop.c - dereferencing pointer \u0027X\u0027 does break strict-aliasing rules\n2) pimd/pim_igmp_join.c - dereferencing pointer \u0027X\u0027 does break strict-aliasing rules\n3) ripd/ripd.c - \u0027ifaddr.prefixlen\u0027 may be used uninitialized in this function\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "d8aa4beab72cdd2c2d78f9e624fd4b704eec488f",
      "tree": "b2f1db2c50ce548175240b9621df6df936cf44a6",
      "parents": [
        "7125293d65d73a451ec203c8c1630c236171f5a3"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Mon Sep 28 20:10:40 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:21 2015 +0000"
      },
      "message": "vtysh: Fix Quagga.conf file read in.\n\nThere exists a sequence of cli commands that are successfully read in by bgpd.conf, but\nnot by a consolidated Quagga.conf.\n\nThis issue stems from the fact that the consolidated config file attempts to match the\ncurrent node + 1 node up the tree, while the individual config file searches for matches\nall the way up the tree.\n\nQuagga.conf read-in relies on vtysh_cmd.c command parsing which puts all nodes\nat CONFIG_NODE and if a match is found CMD_SUCCESS_DAEMON is returned.  This signals to\nthe parser to call the appropriate daemon with the comamnd.\n\nbgp as an example has three levels of config node\u0027s.  If you are reading in a config node\nat the 3rd level(say address-family ipv6) then transition to another node under bgp it will\nnot work in Quagga.conf because the code only looked up one node and was at CONFIG_BGP when it failed\nto find a match.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\nReviewed-by: Daniel Walton \u003cdwalton@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "7125293d65d73a451ec203c8c1630c236171f5a3",
      "tree": "f9d118c9a8f8374d69fb9c75c87531a2ca478fb2",
      "parents": [
        "fd1c1a133af47ae5533a5ed41b73ff62e7aa1058"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Thu Sep 24 09:25:19 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:21 2015 +0000"
      },
      "message": "lib: zclient.c remove extern struct thread_master *\n\nzclient.c depended upon link time inclusion of a\nextern struct thread_master *master.  This is a violation of the\nnamespace of the calling daemon.  If a library needs the pointer\npass it in and save it for future use.\n\nThis code change also makes the zclient code consistent with\nthe other lib functions that need to schedule work on your behalf\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "fd1c1a133af47ae5533a5ed41b73ff62e7aa1058",
      "tree": "0675067b06e27bf73dd0b80edbcd80088f926a04",
      "parents": [
        "9fb73e8790ab0e433686643bf245ee1f0e238b99"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Sep 22 14:32:53 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:20 2015 +0000"
      },
      "message": "git: add (generated) cscope files to .gitignore\n"
    },
    {
      "commit": "9fb73e8790ab0e433686643bf245ee1f0e238b99",
      "tree": "a65d96ba23fbcc4c8a1c12540d0dcc5dbc084395",
      "parents": [
        "67c3d75f5324b610352998c670f5f0cc4ba0ff2a"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Sep 22 11:13:12 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Tue Oct 27 10:53:20 2015 +0000"
      },
      "message": "vtysh: Allow display of individual daemons configs\n\nWhen executing a \u0027show run\u0027 or \u0027write terminal\u0027 you see the\nentire integrated config.  You have no way of knowing what an\nindividual daemon is going to write until after you do a write\nof config to disk if you are not using an integrated configuration.\nThis change allows the end-user to do such a thing.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "fc1c114aab24fe47bc6a1976c1c602d507fa4e69",
      "tree": "4189f846e97d34ccb9ebefa6eefc99fdb3f5c00a",
      "parents": [
        "7904509bdf9ec7fad3ac1aee763ae39e7c308c52"
      ],
      "author": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Wed Sep 23 21:13:58 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:47 2015 -0700"
      },
      "message": "pimd: Fix warning\n\nFix long unsigned / unsigned mixup\n\nSigned-off-by: Martin Winter \u003cmwinter@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "7904509bdf9ec7fad3ac1aee763ae39e7c308c52",
      "tree": "3bb692701804c22e215828b87f4c11451b5a93e1",
      "parents": [
        "8fa1d027f23115dcb1c38b09c6e46edf5b8f7238"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 22:09:30 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:47 2015 -0700"
      },
      "message": "zebra/if_ioctl_solaris: Make foo static\n\nmake interface_ioctl_ioctl() and if_get_index() static\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "8fa1d027f23115dcb1c38b09c6e46edf5b8f7238",
      "tree": "73ed587d0f0967ee78e93f64d95be6ba3b9aaf68",
      "parents": [
        "ebd2687a531a0f9b9449f6fcf7001f53afa99d02"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 21:55:38 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:47 2015 -0700"
      },
      "message": "zebra/rt_socket: Fix warnings\n\nFix warning about unused sin_masklen / sin6_masklen\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "ebd2687a531a0f9b9449f6fcf7001f53afa99d02",
      "tree": "b37a4a6bdb5a3b5dfc3e69a6e882f5dad76925ba",
      "parents": [
        "f90ce64d68cf0ad56ff0370338ec58c883a3448d"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 21:40:31 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "zebra/rtread_getmsg: fix sign warnings\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "f90ce64d68cf0ad56ff0370338ec58c883a3448d",
      "tree": "243ca3452d54fa1c2add7d203b6983d63f8853fc",
      "parents": [
        "da1b7eaa0ac5d590818e1cde92a9807a2f0e07f2"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 20:58:29 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "isisd/isis_dlpi: Fix warning\n\n\u0027fd\u0027 may be used uninitialized. Init to -1\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "da1b7eaa0ac5d590818e1cde92a9807a2f0e07f2",
      "tree": "17bfadeef20983eb5cd070734f0d2b02f23a9663",
      "parents": [
        "a2b503131b188292ede08df99309bcbef4bd1a52"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 20:36:20 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "solaris: more warnings fixed\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "a2b503131b188292ede08df99309bcbef4bd1a52",
      "tree": "9e834012068d8f2106fd3846fac62d080e3248d8",
      "parents": [
        "fe56125bbcbc0c503ae6bd0b934a4940c4693b4f"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 19:35:41 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "solaris: no ROUNDUP\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "fe56125bbcbc0c503ae6bd0b934a4940c4693b4f",
      "tree": "25dc1d7b525c4c5cfead2fec9d4061eed4f9399a",
      "parents": [
        "ba6cd587b4114528c8d6af439c4f49c7bb95a92b"
      ],
      "author": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Tue Sep 15 19:12:31 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "zebra/ioctl_solaris: Fix use of prefix2str in if_prefix_add/delete_ipv6\n\nFirst argument of prefix2str pointed to ifc-\u003eaddress-\u003eprefix, but\nno prefix exists in address. Should have been ifc-\u003eaddress.\n\nSigned-off-by: Martin Winter \u003cmwinter@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "ba6cd587b4114528c8d6af439c4f49c7bb95a92b",
      "tree": "4b7c33c07d78eaf6b2b6dbe1cab9e334fa12d91d",
      "parents": [
        "5181a0296687a6004dd00c7c0874886c9ff0bf60"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 03:00:59 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "isisd/solaris: fix size_t confusions\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "5181a0296687a6004dd00c7c0874886c9ff0bf60",
      "tree": "f7c4fb6596af18dabc52513e17febf2e2e213c22",
      "parents": [
        "6d9362274e8ba2d57ffe17aa735eb941ac3d5fbc"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 03:00:09 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "*: fix in_addr initialisers\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "6d9362274e8ba2d57ffe17aa735eb941ac3d5fbc",
      "tree": "690bb673621812ce671cac14927933af460a457c",
      "parents": [
        "285ed0c62af4f57902d5deacc621f290fdeec276"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 02:59:04 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "zebra/solaris: fix uninitialised vars\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "285ed0c62af4f57902d5deacc621f290fdeec276",
      "tree": "ef1559318aef1e718f09d829c586c009e02920cf",
      "parents": [
        "12bbd62112724483f72c4040a4c4b585aff8eb54"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 02:46:53 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "build/solaris: create ioctl_solaris.h\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "12bbd62112724483f72c4040a4c4b585aff8eb54",
      "tree": "74a4bca406b97b8f7b1ff015bbe8559bdafbb7cb",
      "parents": [
        "d8d5c60ecfab4dd609a07b4baa00d735f59002b9"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 02:26:44 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "lib: add getgrouplist() for Solaris\n\nOf course Solaris doesn\u0027t have getgrouplist()...\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "d8d5c60ecfab4dd609a07b4baa00d735f59002b9",
      "tree": "e4b331c785e947a1a9685d2767ae656e2c2edbb9",
      "parents": [
        "cbc3f5232af5cacd6f88f2124c864bb91e851cde"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 02:19:46 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "build: make libraries self-reliant\n\nlibospf and libospfclient both need libzebra, so they should link\nagainst it. The days of libtool propagating upwards such dependencies\nare nearing their end...\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "cbc3f5232af5cacd6f88f2124c864bb91e851cde",
      "tree": "a786b63b29a006ab7b6120525c08791e89d99869",
      "parents": [
        "a4065069e6bdd0bc7475312530b0e9457f818e0d"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 02:18:23 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "pimd: use IPPROTO_IP (not SOL_IP) for IP_PKTINFO\n\nSolaris uses the same socket API for IP_PKTINFO as Linux, but doesn\u0027t\nhave a SOL_IP define.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "a4065069e6bdd0bc7475312530b0e9457f818e0d",
      "tree": "b983314c1b7152fe7d351c99e79a7190d44ef363",
      "parents": [
        "ce93c34d51ea30d1ba4f699af5601502bbbbcdf8"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 02:12:23 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "ospf6d: fix uninitialized warning in SNMP\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "ce93c34d51ea30d1ba4f699af5601502bbbbcdf8",
      "tree": "23b0233a0a7517a9ab5533e96c3fc009b7351c22",
      "parents": [
        "089e5eb7310683be6806726dbf7b7c94b1b66bfb"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 02:11:45 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "ospfd: fix unused warning in ospf_write\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "089e5eb7310683be6806726dbf7b7c94b1b66bfb",
      "tree": "15e431679f2fa9dc9880e9690bb9a11f9545a428",
      "parents": [
        "821df2cf18e5978cc7ab532a8695444380d08270"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 02:03:36 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:46 2015 -0700"
      },
      "message": "build/solaris: drop duplicate __EXTENSION__ define\n\n__EXTENSION__ is already defined in config.h by autoconf; drop the\nduplicate from zebra.h.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "821df2cf18e5978cc7ab532a8695444380d08270",
      "tree": "f306ad0e31d572c44193b5d709b4b3915ea89d90",
      "parents": [
        "ca8ec20b017393dbe91ff9e5ae2b7ff12872f869"
      ],
      "author": {
        "name": "David Lamparter",
        "email": "equinox@opensourcerouting.org",
        "time": "Tue Sep 15 01:53:09 2015 -0700"
      },
      "committer": {
        "name": "Martin Winter",
        "email": "mwinter@opensourcerouting.org",
        "time": "Fri Oct 16 23:50:45 2015 -0700"
      },
      "message": "*: make sure zebra.h is always included first\n\nzebra.h pulls in config.h, which results in fiddling with things like\n__FILE_OFFSET_BITS. It must always be included first, in order to set\nflags that influence the compiler via \u003cfeatures.h\u003e.\n\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "67c3d75f5324b610352998c670f5f0cc4ba0ff2a",
      "tree": "aa8f109859e331942a0807aba9c01058d52180d4",
      "parents": [
        "3e71e369452c38c9c16a19d0edd40323e6b31023"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul@opensourcerouting.org",
        "time": "Sun Jun 21 23:00:13 2015 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Wed Sep 30 17:02:04 2015 +0100"
      },
      "message": "HACKING: Change format to MarkDown\n\n* HACKING: Converted initially from LaTeX to markdown with:\n\n  \u0027pandoc -f latex -t markdown HACKING.tex\u0027\n\n  Then tweaked by hand to add a header with some suitable variables for the\n  pandoc LaTeX template to make better use of the page space, and to add\n  newpages so the title page is standalone as in the previous version.\n\n  Also went through and reflowed paragraphs best as I could to make them\n  match the previous document, to make it a little easier to verify nothing\n  had been changed other than the markup, via diff.\n\n  PDF can be generated with: \u0027pandoc  -o HACKING.pdf HACKING.md\u0027\n"
    },
    {
      "commit": "3e71e369452c38c9c16a19d0edd40323e6b31023",
      "tree": "761fc1a33b828ad6b39bff2c9a8cea3a8bb4783f",
      "parents": [
        "ca8ec20b017393dbe91ff9e5ae2b7ff12872f869"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul@opensourcerouting.org",
        "time": "Sun Jun 21 22:38:44 2015 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Wed Sep 30 17:02:04 2015 +0100"
      },
      "message": "HACKING: rename to HACKING.md in prep for conversion to MarkDown\n"
    },
    {
      "commit": "ca8ec20b017393dbe91ff9e5ae2b7ff12872f869",
      "tree": "50e8e04092234deb5d7c3534f4b7cb16d5308f99",
      "parents": [
        "d3ac733b41b69826ac4b5a86b881f33f3d383941"
      ],
      "author": {
        "name": "Michael Rossberg",
        "email": "michael.rossberg@tu-ilmenau.de",
        "time": "Tue Sep 29 14:32:14 2015 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Wed Sep 30 16:51:25 2015 +0100"
      },
      "message": "ospf6d: Fix for fast OSPF convergence\n\nFixed use of OSPF_MIN_LS_ARRIVAL, which changed its unit from\nseconds to milliseconds\n"
    },
    {
      "commit": "d3ac733b41b69826ac4b5a86b881f33f3d383941",
      "tree": "fc994220633cbc366d1d15fc8ea2619250efe582",
      "parents": [
        "1994dc81458d646120659b543ad7ffc023cd8579"
      ],
      "author": {
        "name": "Daniel Walton",
        "email": "dwalton@cumulusnetworks.com",
        "time": "Mon Aug 24 10:19:10 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 24 15:26:46 2015 +0100"
      },
      "message": "bgpd: \u0027set comm-list delete\u0027 stops as soon as it hits a community-list entry with a deny\n\n\u0027set comm-list delete\u0027 stops as soon as it hits a community-list entry with\na deny\n\nReviewed By: sharpd@cumulusnetworks.com\nTesting Done:\n\n\u0027set comm-list FOO delete\u0027 stops evaluating the community-list as soon as\nwe hit\nthe first \"delete\" statement. This makes it impossible to use\ncommunity-lists\nwhere you deny some subset of communities to delete and then permit all of\nthe\nothers.\n\nThis patch changes the behavior so that we no longer exit the\ncommunity-list at\nthe first delete statement. Here is our baseline, we are receiving multiple\ncommunities from 10.1.1.2 for the 10.1.3.0/24 prefix.\n\nqct-ly6-04# show ip bgp 10.1.3.0/24\n  BGP routing table entry for 10.1.3.0/24\n  Paths: (1 available, best #1, table Default-IP-Routing-Table)\n  Not advertised to any peer\n  Local\n  10.1.1.2 (metric 20) from 10.1.1.2 (10.1.1.2)\n    Origin IGP, metric 0, localpref 100, valid, internal, best\n    Community: 1:1 1:2 1:3 20:1 20:2 20:3 99:1\n    Last update: Wed Mar 4 13:50:36 2015\n\nqct-ly6-04#\n\nWe apply the following FOO route-map inbound to this peer and soft clear\nthe peer\n!\nip community-list expanded BAD_COMMS permit 99:.*\nip community-list expanded BAD_COMMS deny 1:.*\nip community-list expanded BAD_COMMS permit 20.*\n!\nroute-map FOO permit 10\nset comm-list BAD_COMMS delete\n!\nrouter bgp 10\nneighbor 10.1.1.2 route-map FOO in\n!\n\nqct-ly6-04# clear ip bgp * soft in\nqct-ly6-04# show ip bgp 10.1.3.0/24\n  BGP routing table entry for 10.1.3.0/24\n  Paths: (1 available, best #1, table Default-IP-Routing-Table)\n  Not advertised to any peer\n  Local\n  10.1.1.2 (metric 20) from 10.1.1.2 (10.1.1.2)\n    Origin IGP, metric 0, localpref 100, valid, internal, best\n    Community: 1:1 1:2 1:3\n    Last update: Wed Mar 4 13:51:12 2015\n\nqct-ly6-04#\nqct-ly6-04#\n\nWe deleted all communities flagged as \"permit\" by the BAD_COMMS\ncommunity-list\nwhile leaving the ones matched by \"deny 1:.*\" alone.\n\n #endif /* _QUAGGA_BGP_COMMUNITY_H */\n\n\u0027set comm-list delete\u0027 stops as soon as it hits a community-list entry with a deny\n\nTicket: CM-3513\nReviewed By: sharpd@cumulusnetworks.com\nTesting Done:\n\n\u0027set comm-list FOO delete\u0027 stops evaluating the community-list as soon as we hit\nthe first \"delete\" statement. This makes it impossible to use community-lists\nwhere you deny some subset of communities to delete and then permit all of the\nothers.\n\nThis patch changes the behavior so that we no longer exit the community-list at\nthe first delete statement. Here is our baseline, we are receiving multiple\ncommunities from 10.1.1.2 for the 10.1.3.0/24 prefix.\n\nqct-ly6-04# show ip bgp 10.1.3.0/24\n  BGP routing table entry for 10.1.3.0/24\n  Paths: (1 available, best #1, table Default-IP-Routing-Table)\n  Not advertised to any peer\n  Local\n  10.1.1.2 (metric 20) from 10.1.1.2 (10.1.1.2)\n    Origin IGP, metric 0, localpref 100, valid, internal, best\n    Community: 1:1 1:2 1:3 20:1 20:2 20:3 99:1\n    Last update: Wed Mar 4 13:50:36 2015\n\nqct-ly6-04#\n\nWe apply the following FOO route-map inbound to this peer and soft clear the peer\n!\nip community-list expanded BAD_COMMS permit 99:.*\nip community-list expanded BAD_COMMS deny 1:.*\nip community-list expanded BAD_COMMS permit 20.*\n!\nroute-map FOO permit 10\nset comm-list BAD_COMMS delete\n!\nrouter bgp 10\nneighbor 10.1.1.2 route-map FOO in\n!\n\nqct-ly6-04# clear ip bgp * soft in\nqct-ly6-04# show ip bgp 10.1.3.0/24\n  BGP routing table entry for 10.1.3.0/24\n  Paths: (1 available, best #1, table Default-IP-Routing-Table)\n  Not advertised to any peer\n  Local\n  10.1.1.2 (metric 20) from 10.1.1.2 (10.1.1.2)\n    Origin IGP, metric 0, localpref 100, valid, internal, best\n    Community: 1:1 1:2 1:3\n    Last update: Wed Mar 4 13:51:12 2015\n\nqct-ly6-04#\nqct-ly6-04#\n\nWe deleted all communities flagged as \"permit\" by the BAD_COMMS community-list\nwhile leaving the ones matched by \"deny 1:.*\" alone.\n"
    },
    {
      "commit": "1994dc81458d646120659b543ad7ffc023cd8579",
      "tree": "ee6179d70112a20038568a95dfa7e526dd7de8c9",
      "parents": [
        "c8394ace7081ef0e71f3d162067c83c2629fc088"
      ],
      "author": {
        "name": "Daniel Walton",
        "email": "dwalton@cumulusnetworks.com",
        "time": "Thu Sep 17 10:15:59 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 24 15:26:46 2015 +0100"
      },
      "message": "bgpd: If route-map does not exist DENY for redistribute statements\n\nUpon usage of a route-map statement in bgp, if the route-map does not exist\nit turns into a implicit ALLOW, this causes issues in a wide variety\nof scenarios.\n\nWithout this fix:\n!\nrouter bgp 100\n bgp router-id 10.0.2.15\n redistribute static route-map FOOEY\n!\nip route 33.33.33.33/32 eth1\nip route 44.44.44.44/32 eth1\n!\n\nNow look at show ip bgp:\nshow ip bgp:\n\n   Network          Next Hop            Metric LocPrf Weight Path\n*\u003e 33.33.33.33/32   0.0.0.0                  0         32768 ?\n*\u003e 44.44.44.44/32   0.0.0.0                  0         32768 ?\n\nWith this fix:\n\nshow ip bgp:\n   Network          Next Hop            Metric LocPrf Weight Path\n\nSigned-off-by: Daniel Walton \u003cdwalton@cumulusnetworks.com\u003e\nReviewed-by: Donald Sharp \u003csharpd@cumulusnetworks.com\n"
    },
    {
      "commit": "c8394ace7081ef0e71f3d162067c83c2629fc088",
      "tree": "7736d5d1ca6d3ea79c3f43e32dccf4baf0fa1094",
      "parents": [
        "75daab1784f515104ceef747d134981ecee7b0af"
      ],
      "author": {
        "name": "Morgan Stewart",
        "email": "morgan@cumulusnetworks.com",
        "time": "Thu Sep 17 19:04:30 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 24 15:26:46 2015 +0100"
      },
      "message": "Fixed if_add_update possible null dereference\n\nCoverity Scan #1221454\nIn zebra/interface.c if_data could be null dereferenced without early\ncheck.\n\nSigned-off-by: Morgan Stewart \u003cmorgan@cumulusnetworks.com\u003e\nReviewed-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "75daab1784f515104ceef747d134981ecee7b0af",
      "tree": "59568423721f1ce51699451390e735ee07d93a7f",
      "parents": [
        "e472b8a5141b91a4bb50f8ff55540cd601321572"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul@jakma.org",
        "time": "Thu Sep 24 10:26:55 2015 +0100"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 24 15:26:46 2015 +0100"
      },
      "message": "pimd: Fix compile warning (error with Werror) on BSD\n\n* ioctl commands can vary in type between systems, cast to an unsigned long\n  before passing to format command.\n"
    },
    {
      "commit": "e472b8a5141b91a4bb50f8ff55540cd601321572",
      "tree": "bd9045eface182f1101593a60138c70c0b77f451",
      "parents": [
        "44d03fd59eb7c9f83afcfbafbe014c95e0a8f539"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Sep 08 15:19:55 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 24 15:26:45 2015 +0100"
      },
      "message": "pimd: Remove stdout zlog changes\n\nQuagga start has unnecessary pim messages to stdout.  Causing some confusion.\nLogging is already saving this information in pimd.log\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "44d03fd59eb7c9f83afcfbafbe014c95e0a8f539",
      "tree": "2ca150c3e596814b3fcb848df872073928bf65d4",
      "parents": [
        "26b663da7ea8a3efae816d6e7fda293bdc1082f5"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Tue Sep 08 15:02:07 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 24 15:26:45 2015 +0100"
      },
      "message": "pimd: Fix leaked fd\n\nWhen caling pim_sock_open if the failure cause happens, however\nunlikely, don\u0027t leak the fd on failure.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "26b663da7ea8a3efae816d6e7fda293bdc1082f5",
      "tree": "dfaf1057216d4dd0e750ff1a2aa2a2653a1c6202",
      "parents": [
        "782c882077b5a63213b3d160535d5e8259f6df61"
      ],
      "author": {
        "name": "Morgan Stewart",
        "email": "morgan@cumulusnetworks.com",
        "time": "Wed Sep 16 13:17:54 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 24 15:26:45 2015 +0100"
      },
      "message": "zebra: Fix leaked sockets in rtadv.c\n\nCoverity Scan #709790\nIn zebra/rtadv.c: rtadv_make_socket leaks socket for error cases.\nAdded lines to close the socket for each error case or return.\n\nSigned-off-by: Morgan Stewart \u003cmorgan@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "782c882077b5a63213b3d160535d5e8259f6df61",
      "tree": "31a9ed3f8d228f41080e684557b48939943ee6a8",
      "parents": [
        "8ccd74c29f5242f312c1e0561497558482c9be65"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Mon Sep 14 13:29:37 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 24 15:26:45 2015 +0100"
      },
      "message": "zebra: rib-\u003enexthop_num is double incremented\n\nWhile reading linux kernel netlink messages, rib-\u003enexthop_num is incremented\nin the read loop as well as the underlying nexthop_add() function call.  This\nnumber should only be incremented in one spot.  Removing the increment from\nthe read loop and allowing the underlying code to track this data as it is\nalready.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "8ccd74c29f5242f312c1e0561497558482c9be65",
      "tree": "5cfa8948b7f55bce37923a2607c4d7a4c21b241d",
      "parents": [
        "8965be4baaa1a4c619cbb4a8a10d15a72d80b60d"
      ],
      "author": {
        "name": "Hiroshi Yokoi",
        "email": "hiroshi.yokoi.0313@gmail.com",
        "time": "Tue Sep 08 11:52:20 2015 +0900"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 24 15:26:45 2015 +0100"
      },
      "message": "zebra: fix addr sent in ZEBRA_IPV6_NEXTHOP_LOOKUP\n\nI found that zebra doesn\u0027t set correct IPv6 address in its result because of\nusing *addr\u0027s address.  Although I\u0027m using 0.99.22, the latest version has\nalso use \"\u0026addr\".  Shouldn\u0027t it use \"addr\"?\n\nSigned-off-by: Hiroshi Yokoi \u003chiroshi.yokoi.0313@gmail.com\u003e\nAcked-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "8965be4baaa1a4c619cbb4a8a10d15a72d80b60d",
      "tree": "86d0e591d014f4d6a7f1f6b69fd85e1fef3bfdd0",
      "parents": [
        "567a638fc7aee31c9421159140b8e18b83a099b3"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Fri Sep 04 14:21:23 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 24 15:26:45 2015 +0100"
      },
      "message": "vtysh: allow --with-libpam to build with --enable-werror\n\nThe function vtysh_pam fails the build with --enable-werror enabled\nbecause it is a static function not declared as such\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "567a638fc7aee31c9421159140b8e18b83a099b3",
      "tree": "f56772e9d62e6115c058c1d2aace2fc41498777c",
      "parents": [
        "04a3aabf58d95d01c4c8168eeff43cf9d9892eee"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Aug 19 21:22:17 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 24 15:26:45 2015 +0100"
      },
      "message": "vtysh: Add missing show thread/work-queues commands\n\n\u0027show thread cpu ..\u0027 and \u0027show work-queues\u0027 are missing\nfrom vtysh, but are available from telnet.\n\nThis commit adds these commands to the vtysh interface.\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    },
    {
      "commit": "04a3aabf58d95d01c4c8168eeff43cf9d9892eee",
      "tree": "c810fdc3ff48d185bb34ce73e986a2c88da3780f",
      "parents": [
        "0bc874b88cf86fca4b18f3672a441ed142fc499d"
      ],
      "author": {
        "name": "Nicolas Dichtel",
        "email": "nicolas.dichtel@6wind.com",
        "time": "Thu Sep 03 10:47:43 2015 +0200"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 24 15:26:45 2015 +0100"
      },
      "message": "vrf: add a runtime check before playing with netns\n\nThis patch adds a runtime check to determine if netns are available. Some\nsystems like OpenWRT have the system call setns() but don\u0027t have the kernel\noption CONFIG_NET_NS enabled.\n\nReported-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nTested-by: Christian Franke \u003cchris@opensourcerouting.org\u003e\n"
    },
    {
      "commit": "0bc874b88cf86fca4b18f3672a441ed142fc499d",
      "tree": "35781fe9f0d71c7df85fe07c3461553eb4901215",
      "parents": [
        "fbc3e97d747862fd47f711c9f15b8166bdf94b18"
      ],
      "author": {
        "name": "Donald Sharp",
        "email": "sharpd@cumulusnetworks.com",
        "time": "Wed Jul 29 19:16:13 2015 -0400"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Thu Sep 24 15:26:44 2015 +0100"
      },
      "message": "build/arm: Arm compilation warning fix\n\nThe arm cross compiler is issuing warnings for signed/unsigned\ncomparisons for ntohs.  ntohs returns a unsigned int, while\nthe counting variables are signed.  Fixed to allow -Werror\nto work properly\n\nSigned-off-by: Donald Sharp \u003csharpd@cumulusnetworks.com\u003e\n"
    }
  ],
  "next": "fbc3e97d747862fd47f711c9f15b8166bdf94b18"
}
