)]}'
{
  "commit": "8c71e481dae11b7ae3f1ef561a989624b2ae84b6",
  "tree": "4c13b76e1b9aedc45ad9b086be972ba4999ada03",
  "parents": [
    "2c13299a05e5544a5e79c2a970256a21f488a3fa"
  ],
  "author": {
    "name": "Pradosh Mohapatra",
    "email": "pmohapat@cumulusnetworks.com",
    "time": "Wed Jan 15 06:57:57 2014 +0000"
  },
  "committer": {
    "name": "David Lamparter",
    "email": "equinox@opensourcerouting.org",
    "time": "Tue Jun 03 15:08:32 2014 +0200"
  },
  "message": "bgpd: efficient NLRI packing for AFs !\u003d ipv4-unicast\n\nISSUE:\n\n  Currently, for non-ipv4-unicast address families where prefixes are\n  encoded in MP_REACH/MP_UNREACH attributes, BGP ends up sending one\n  prefix per UPDATE message. This is quite inefficient. The patch\n  addresses the issue.\n\nPATCH:\n\n  We introduce a scratch buffer in the peer structure that stores the\n  MP_REACH/MP_UNREACH attributes for non-ipv4-unicast families. This\n  enables us to encode multiple prefixes. In the end, the two buffers\n  are merged to create the UPDATE packet.\n\nSigned-off-by: Pradosh Mohapatra \u003cpmohapat@cumulusnetworks.com\u003e\nReviewed-by: Daniel Walton \u003cdwalton@cumulusnetworks.com\u003e\n[DL: removed no longer existing bgp_packet_withdraw prototype]\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a0dfc65dfa651565f413e6c2784fec6304fbee1a",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_attr.c",
      "new_id": "f284758ef531bd6f3203df7cfdf940d4e3e81c78",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_attr.c"
    },
    {
      "type": "modify",
      "old_id": "df87c863189b91ef6fdd3627c19972b0f13231c6",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_attr.h",
      "new_id": "cdd54674bb372e9b8ee7012932e80581a6e72de6",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_attr.h"
    },
    {
      "type": "modify",
      "old_id": "d71df0823ffe3254563319e4a5d3405f220afc61",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_packet.c",
      "new_id": "d5f24170c33dfa7669873a0f80577575653c9e01",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_packet.c"
    },
    {
      "type": "modify",
      "old_id": "88d13ed8c1513d579f7cbbc8a2137ddba6a91247",
      "old_mode": 33188,
      "old_path": "bgpd/bgpd.c",
      "new_id": "6a21b11abc02525b751b36da7473645443872ede",
      "new_mode": 33188,
      "new_path": "bgpd/bgpd.c"
    },
    {
      "type": "modify",
      "old_id": "3d516d35a4f6b3541d53fb72e8524590190b52f0",
      "old_mode": 33188,
      "old_path": "bgpd/bgpd.h",
      "new_id": "688f459f263ab1880e33a892715cde14f5fc156d",
      "new_mode": 33188,
      "new_path": "bgpd/bgpd.h"
    },
    {
      "type": "modify",
      "old_id": "ccd4623ff16f4c542fc44278dcb51393024c048a",
      "old_mode": 33188,
      "old_path": "lib/stream.c",
      "new_id": "9a6fcbcf272b6a88150a3dcf8eb3e89e18a85ffc",
      "new_mode": 33188,
      "new_path": "lib/stream.c"
    },
    {
      "type": "modify",
      "old_id": "f10aa6d417125ea8ac77448b5e2ad2f836b6f402",
      "old_mode": 33188,
      "old_path": "lib/stream.h",
      "new_id": "f0c742c052218f7b60bde2f37b26e1caf908f34c",
      "new_mode": 33188,
      "new_path": "lib/stream.h"
    }
  ]
}
