)]}'
{
  "commit": "165b5fff9dde5536d9cb1f850b36c17bf5654f0f",
  "tree": "b02e2b71e2142348bce920f5c4a7ef5bd4708f3e",
  "parents": [
    "8ced4e82e6f417b13f4bfc09018fc51fd31058e2"
  ],
  "author": {
    "name": "Josh Bailey",
    "email": "joshb@google.com",
    "time": "Wed Jul 20 20:43:22 2011 -0700"
  },
  "committer": {
    "name": "Josh Bailey",
    "email": "joshb@google.com",
    "time": "Wed Jul 20 20:43:22 2011 -0700"
  },
  "message": "bgpd: Add new configuration cli for eBGP and iBGP multipath.\nThere is support to configure this for each (AFI,SAFI), but\ncurrently this configuration is only present for IPv4 unicast:\n\n maximum-paths [ibgp] \u003c1-255\u003e\n no maximum-paths [ibgp] [\u003c1-255\u003e]\n\n* bgpd/Makefile.am\n  * Add bgp_mpath.h and bgp_mpath.c to build\n* bgpd/bgp_mpath.h\n  * New file for bgp multipath declarations\n  * define BGP_DEFAULT_MAXPATHS\n* bgpd/bgp_mpath.c\n  * bgp_maximum_paths_set(): Configure maximum paths for the given\n    afi, safi and bgp instance\n  * bgp_maximum_paths_unset(): Return maximum paths configuration to\n    the default setting for the given afi, safi and bgp instance\n* bgpd/bgp_vty.c\n  * Define command strings for above CLI\n  * bgp_config_write_maxpaths(): Outputs configuration for the given\n    afi, safi and bgp instance\n  * Install command elements for IPv4 unicast\n* bgpd/bgp_zebra.h\n  * bgp_config_write_maxpaths(): External declaration\n* bgpd/bgpd.c\n  * bgp_create(): Initialize bgp instance to default maximum paths setting\n  * bgp_config_write_family(): Output maximum paths configuration\n    for the given address family\n  * bgp_config_write(): Output maximum paths configuration for\n    IPv4 unicast address family\n* bgpd/bgpd.h\n  * struct bgp: Add storage for maximum paths configuration for\n    each afi, safi\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1b17d38639b96e453554de7ba18193d6eb9501ca",
      "old_mode": 33188,
      "old_path": "bgpd/Makefile.am",
      "new_id": "3051555b9c8b48f7d3db1ed92a4f08b9d9e561f5",
      "new_mode": 33188,
      "new_path": "bgpd/Makefile.am"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "56c703f6d1ce0e91d59e5f93489213dda2aa39ef",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_mpath.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f0ac83679d8d349076340a86ac8bb6c60b2464b0",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_mpath.h"
    },
    {
      "type": "modify",
      "old_id": "e7e7dba103a51513fe3141a241e922e33eeb9b05",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_vty.c",
      "new_id": "2c44efc2285e15775e813fe111c4215a0754744b",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_vty.c"
    },
    {
      "type": "modify",
      "old_id": "bd9538642067e1ad10650bdf304a0ef73a5be094",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_zebra.h",
      "new_id": "5172cb8a5a98e7701b579fa8e31951a8ebc2d190",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_zebra.h"
    },
    {
      "type": "modify",
      "old_id": "ee0cc5da65ecb91b057a4d9f5a93d15c45688f6e",
      "old_mode": 33188,
      "old_path": "bgpd/bgpd.c",
      "new_id": "e86fca342257c91f06f4f48a5beac46d701c93d6",
      "new_mode": 33188,
      "new_path": "bgpd/bgpd.c"
    },
    {
      "type": "modify",
      "old_id": "4da19e71451943875b661b109669838bde09e24d",
      "old_mode": 33188,
      "old_path": "bgpd/bgpd.h",
      "new_id": "bd03f653e06a3eaf1311c9c0960ac3dcc35f0c89",
      "new_mode": 33188,
      "new_path": "bgpd/bgpd.h"
    }
  ]
}
