)]}'
{
  "commit": "afb226bebd8350f8f6523f4692658b944bc2997f",
  "tree": "4435ee62f31050298f98dca0fe157fb7c9ca7e34",
  "parents": [
    "4528ffa280f93ce64213bd79311dc9d7b3c6a12f"
  ],
  "author": {
    "name": "Paul Jakma",
    "email": "paul.jakma@sun.com",
    "time": "Tue Feb 21 01:09:01 2006 +0000"
  },
  "committer": {
    "name": "Paul Jakma",
    "email": "paul.jakma@sun.com",
    "time": "Tue Feb 21 01:09:01 2006 +0000"
  },
  "message": "[bgpd] Record afi/safi in bgp_table. Serialise peer clear with FSM.\n\n2006-02-21 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* bgpd.h: move the clear_node_queue to be peer specific.\n\t  Add a new peer status flag, PEER_STATUS_CLEARING.\n\t* bgp_table.h: (struct bgp_table) Add fields to record afi,\n          safi of the table.\n          (bgp_table_init) Take afi and safi to create table for.\n        * bgp_table.c: (bgp_table_init) record the afi and safi.\n        * bgp_nexthop.c: Update all calls to bgp_table_init.\n        * bgp_vty.c: ditto.\n        * bgpd.c: ditto.\n        * bgp_fsm.c: (bgp_timer_set) dont bring up a session which is\n\t  clearing.\n        * bgp_route.c: (general) Update all bgp_table_init calls.\n          (bgp_process_{rsclient,main}) clear_node is serialised\n          via PEER_STATUS_CLEARING and fsm now.\n          (struct bgp_clear_node_queue) can be removed. struct bgp_node\n          can be the queue item data directly, as struct peer can be\n          kept in the new wq global user data and afi/safi can be\n          retrieved via bgp_node -\u003e bgp_table.\n          (bgp_clear_route_node) fix to get peer via wq-\u003espec.data,\n          afi/safi via bgp_node-\u003ebgp_table.\n          (bgp_clear_node_queue_del) no more item data to delete, only\n          unlock the bgp_node.\n          (bgp_clear_node_complete) only need to unset CLEARING flag\n          and unlock struct peer.\n          (bgp_clear_node_queue_init) queue attaches to struct peer\n          now. record peer name as queue name.\n          (bgp_clear_route_table) If queue transitions to active,\n          serialise clearing by setting PEER_STATUS_CLEARING rather\n          than plugging process queue, and lock peer while queue\n          active.\n          Update to pass only bgp_node as per-queue-item specific data.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c9d61898464a6ff5971cec6ac79c06c4c40037e5",
      "old_mode": 33188,
      "old_path": "bgpd/ChangeLog",
      "new_id": "9a960a3829d9bba0ecff8aee05f994d6e296db14",
      "new_mode": 33188,
      "new_path": "bgpd/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "220861c1660ab94d73f30cdbf08ef9b9691c6fb6",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_fsm.c",
      "new_id": "f5f7892bbf18e6c372ab83616a6017030e86f5e2",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_fsm.c"
    },
    {
      "type": "modify",
      "old_id": "ba1752fb20fba849fb2fb01be18c2d65377ba66d",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_nexthop.c",
      "new_id": "ea707ccbe7244c32be8806c6d896c2ee36726359",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_nexthop.c"
    },
    {
      "type": "modify",
      "old_id": "6c21e3f395adb442d88b1cb9edc2c279f1901b00",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_route.c",
      "new_id": "a73974ff9ab7eabe0ec96792ffe37d00e59274b7",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_route.c"
    },
    {
      "type": "modify",
      "old_id": "a9199d64a43d725fcbbc0f55e267169f7ee427a4",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_table.c",
      "new_id": "a3b489d5f28b19d0d55411e128d0576cff3a5d7c",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_table.c"
    },
    {
      "type": "modify",
      "old_id": "d7c8272bbc6aa2085289caecb160c8fe3cf09ae0",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_table.h",
      "new_id": "e13022bb9e595958ce8f0032551c10aca6437a45",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_table.h"
    },
    {
      "type": "modify",
      "old_id": "6ee48236e644ba286ce515db79b6554fb501a5a8",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_vty.c",
      "new_id": "3cf4dc59bb8b56ab073ba2cd88b8572c050c18fc",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_vty.c"
    },
    {
      "type": "modify",
      "old_id": "1f1b4fd2bcfb6501c880bdff4bdaa3c82af2796c",
      "old_mode": 33188,
      "old_path": "bgpd/bgpd.c",
      "new_id": "9f694f5e0357035052eaecf17e49c696e394edec",
      "new_mode": 33188,
      "new_path": "bgpd/bgpd.c"
    },
    {
      "type": "modify",
      "old_id": "44045c060abb31a28aae8f1621acb34b1b954993",
      "old_mode": 33188,
      "old_path": "bgpd/bgpd.h",
      "new_id": "9e2aa3e003ca844b47e793e36c47936908d52045",
      "new_mode": 33188,
      "new_path": "bgpd/bgpd.h"
    }
  ]
}
