)]}'
{
  "commit": "d24f6e2a34ca829bd2ff6adb98b49d4d2d9cb737",
  "tree": "1d2a79a2ec4004f16b1ba3f2f2923ed8796cde83",
  "parents": [
    "c188c37caaf589a17b22e9889e63ec96f2f57106"
  ],
  "author": {
    "name": "paul",
    "email": "paul",
    "time": "Fri Oct 21 09:23:12 2005 +0000"
  },
  "committer": {
    "name": "paul",
    "email": "paul",
    "time": "Fri Oct 21 09:23:12 2005 +0000"
  },
  "message": "2005-10-21 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* (general) SPF millisecond resolution timer with adaptive,\n\t  linear back-off holdtime. Prettification of ospf_timer_dump.\n\t* ospf_dump.c: (ospf_timeval_dump) new function. The guts of\n\t  ospf_timer_dump, but made to be more dynamic in printing out\n\t  the relative timeval, sliding the precision printed out\n\t  according to the value.\n\t  (ospf_timer_dump) guts moved to ospf_timeval_dump.\n\t* ospf_dump.h: export ospf_timeval_dump.\n\t* ospf_flood.c: (ospf_flood) remove gettimeofday, use\n\t  the libzebra exported recent_time instead, as it\u0027s not\n\t  terribly critical to have time exactly right - the dropped\n\t  LSA will be retransmited to us if we don\u0027t ACK it.\n\t* ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we\u0027re\n\t  not transmitting, just putting LSA back on update transmit list.\n\t* ospfd.h: delay and holdtimes should be unsigned.\n\t  Add spf_max_holdtime and spf_hold_multiplier.\n\t  Update default defines for delay and hold time to be in msec.\n\t  (struct ospf) change the SPF timestamp to a struct timeval.\n\t  Remove ospf_timers_spf_(un)?set.\n\t* ospfd.c: (ospf_timers_spf_{set,unset}) removed.\n\t  (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier\n\t* ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval\n\t  now, update with gettimeofday.\n\t  (ospf_spf_calculate_schedule) Change SPF timers to millisecond\n\t  resolution.\n\t  Make the holdtime be adaptive, with a linear increase in\n\t  holdtime ever consecutive SPF run which occurs within holdtime\n\t  of previous SPF, bounded by spf_max_holdtime.\n\t* ospf_vty.c: Update spf timers commands.\n\t  (ospf_timers_spf_set) trivial helper.\n\t  (ospf_timers_throttle_spf_cmd) new command to set SPF delay,\n\t  initial hold and max hold times with millisecond resolution.\n\t  (ospf_timers_spf_cmd) Deprecated. Accept the old values,\n\t  convert to msec, truncate to new limits.\n\t  (no_ospf_timers_throttle_spf_cmd) set timers to defaults.\n\t  (no_ospf_timers_spf_cmd) deprecated form, same as previous.\n\t  (show_ip_ospf_cmd) Display SPF parameters and times.\n\t  (show_ip_ospf_neighbour_header) Centralise the \u0027sh ip os ne\u0027\n\t  header.\n\t  (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of\n\t  the multiple spaces which were making the lines even longer.\n\t  (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header\n\t  (show_ip_ospf_neighbor_all_cmd) ditto and fix the field\n\t  widths for NBMA neighbours.\n\t  (show_ip_ospf_neighbor_int) Use header function.\n\t  (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf,\n\t  local array - safer.\n\t  (show_ip_ospf_neighbor_detail_sub) ditto\n\t  (ospf_vty_init) install the new SPF throttle timer commands.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "13faf906cdc58b97e26513754db0ef72951dddfc",
      "old_mode": 33188,
      "old_path": "ospfd/ChangeLog",
      "new_id": "76c220aa79e5fe5d9abb5831820d9cd9edf5a2f3",
      "new_mode": 33188,
      "new_path": "ospfd/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "829c00f7bd4ed4f43f88cf1d7cf862bc305a221b",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_dump.c",
      "new_id": "9ae87a61e7568f07fe294d46929b3594d58c728a",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_dump.c"
    },
    {
      "type": "modify",
      "old_id": "81abb75455eed673b3310deaa61d30021a9ff88d",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_dump.h",
      "new_id": "e24244ee0467ae67c2e6a07d25559a7fc54ddb7f",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_dump.h"
    },
    {
      "type": "modify",
      "old_id": "a8b7e37a447c2bef228ec7116e22f5dd0c755330",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_flood.c",
      "new_id": "d7ab859e90cd35d385acdd94033ecfac4600181d",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_flood.c"
    },
    {
      "type": "modify",
      "old_id": "7c29a04a212c640cbc1459c2d0478ed1d693d9e0",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_packet.c",
      "new_id": "8b818d7230ac41ef1cc2c29403f3ab56b2e0ac78",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_packet.c"
    },
    {
      "type": "modify",
      "old_id": "b05117dae31a64d057053dc13adde8ee9cfd5fab",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_spf.c",
      "new_id": "f6260fbda3d9130b78ba286e3f0671fd3ae0954c",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_spf.c"
    },
    {
      "type": "modify",
      "old_id": "0d0befa7cecb7adad965c65fda6f6126302f9743",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_vty.c",
      "new_id": "5263f15ca72e0c2089aeed6e4158a22afb5ca906",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_vty.c"
    },
    {
      "type": "modify",
      "old_id": "9161f9cef962c475865baf8c748c9094c4687c43",
      "old_mode": 33188,
      "old_path": "ospfd/ospfd.c",
      "new_id": "bf8ca4dcb046125f94379b03b6676b26122b1a6a",
      "new_mode": 33188,
      "new_path": "ospfd/ospfd.c"
    },
    {
      "type": "modify",
      "old_id": "b24a1cf79959b77ca457c040313d3e3d9dec261a",
      "old_mode": 33188,
      "old_path": "ospfd/ospfd.h",
      "new_id": "38e56b6f5630632c2b150c600a6f7fa224cb5b9b",
      "new_mode": 33188,
      "new_path": "ospfd/ospfd.h"
    }
  ]
}
