)]}'
{
  "commit": "3334bab0d96b2d7064111e025ff6294d6a32d026",
  "tree": "665e079e1643db0ae957acadfa5e5497f0f645ac",
  "parents": [
    "f2a4b8fffb1f771371d6bfc425e7a69a14057b06"
  ],
  "author": {
    "name": "Job Snijders",
    "email": "job@instituut.net",
    "time": "Fri Jan 20 14:47:12 2017 +0000"
  },
  "committer": {
    "name": "Paul Jakma",
    "email": "paul@quagga.net",
    "time": "Fri Jan 27 14:53:20 2017 +0000"
  },
  "message": "bgpd: Add support for BGP Large Communities\n\nAs described by Michael Lambert \u003clambert@psc.edu\u003e  to the list:\n\n  Traditional communities are four-octet entities to support two-octet ASNs\n  and are usually represented as \u003casn\u003e:\u003cdata\u003e.  Large communities are an\n  enhancement to support four-octet ASNs and are 12 octets long, represented\n  as \u003casn\u003e:\u003cdata-1\u003e:\u003cdata-2\u003e.\n\n  This issue has been tracked in quagga bugzilla ticket #875, which documents\n  some of the usage and indicates that some testing has been done.\n\nTODO: Documentation - update doc/bgpd.texi.\n\n* bgp_attr.{c,h}: Add BGP_ATTR_LARGE_COMMUNITIES codepoint. Add\n  (struct lcommunity *) to (struct bgp_attr_extra).\n* bgp_clist.{c,h}: Large community codepoints and routines.\n* bgp_route.c: Display support.\n* bgp_routemap.c: \u0027match lcommunity\u0027, \u0027set large-community\u0027 and\n  \u0027set large-comm-list\u0027\n* bgp_vty.c: Peer configuration, add \u0027large\u0027 to \u0027neighbor send-community ..\u0027.\n  Add \"show ip bgp large-community\", \"\"ip large-community-list ...\".\n\nAuthors: Keyur Patel \u003ckeyur@arrcus.com\u003e\n         Job Snijders \u003cjob@instituut.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fe1be32edb377f4b7461754999b0fdbf2a8cbe0d",
      "old_mode": 33188,
      "old_path": "bgpd/Makefile.am",
      "new_id": "753b679f8627b545317623218ea871c04d8cf0a1",
      "new_mode": 33188,
      "new_path": "bgpd/Makefile.am"
    },
    {
      "type": "modify",
      "old_id": "6aab50af4cfb75f714db3808fed85f593ac09548",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_attr.c",
      "new_id": "a79a03cc6323195d677585ee5e3c9a67278c032f",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_attr.c"
    },
    {
      "type": "modify",
      "old_id": "8457f4022437a4e755717b6ff9749f7dcc404fd4",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_attr.h",
      "new_id": "9ff074b2c5dbf45927b4496901851b79e5fd40eb",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_attr.h"
    },
    {
      "type": "modify",
      "old_id": "800bd01290109b81aa8ad3d6d9e6cd13b50ff0f4",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_clist.c",
      "new_id": "13bdf8e8413afd5397dab7c6916e5078cc04fdcc",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_clist.c"
    },
    {
      "type": "modify",
      "old_id": "5dcb3b4c1a59fd69bf2930ddef4de92a9bb27a00",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_clist.h",
      "new_id": "d9db4189e6b882acf0607bf0bbd6b3f3cdebcf69",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_clist.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cc67e124527f646e1257b5237d54da262080b3d2",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_lcommunity.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7841b4b9a62c8aadf682fd046c8f9bd7b7f2695a",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_lcommunity.h"
    },
    {
      "type": "modify",
      "old_id": "6465aad1d99a661da137bc1da6e8c7be50ed2c0a",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_mpath.c",
      "new_id": "8195e47f4ab1e57f1d43493274ba62b6e508e9e1",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_mpath.c"
    },
    {
      "type": "modify",
      "old_id": "9137143494b1a87836a8d663d93bfb0d57f8643a",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_route.c",
      "new_id": "13596fbed72c46241c094538b9b134df3e085cd8",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_route.c"
    },
    {
      "type": "modify",
      "old_id": "68c78458ece653fcb50d97d189a4cccaa16e7c23",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_routemap.c",
      "new_id": "ccd73b6c5c38a7452737ee32aa00747c476b4fe5",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_routemap.c"
    },
    {
      "type": "modify",
      "old_id": "9f09016a9e238c393d9bf20e146443c06c8548a1",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_vty.c",
      "new_id": "0040d62b64c04d975a0f4871d30139528ddef061",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_vty.c"
    },
    {
      "type": "modify",
      "old_id": "6189411ee8f93a7ec5d27cddd0ca4f40c4451d7b",
      "old_mode": 33188,
      "old_path": "bgpd/bgpd.c",
      "new_id": "6aeecb13dd3dcbace0f3804f1a02edb670c896a4",
      "new_mode": 33188,
      "new_path": "bgpd/bgpd.c"
    },
    {
      "type": "modify",
      "old_id": "a6cc34ea02ee4c36dc586bf5e8529d23cfb366c0",
      "old_mode": 33188,
      "old_path": "bgpd/bgpd.h",
      "new_id": "c2df672c230dbf9b40c5f4bb52b5e558c0a270fc",
      "new_mode": 33188,
      "new_path": "bgpd/bgpd.h"
    },
    {
      "type": "modify",
      "old_id": "ba2bacfa855bc775a50b3c584555da9b01ceabe7",
      "old_mode": 33188,
      "old_path": "lib/memtypes.c",
      "new_id": "f9eae938ed0b635d3ea946efea2076ae071de134",
      "new_mode": 33188,
      "new_path": "lib/memtypes.c"
    }
  ]
}
