)]}'
{
  "commit": "7514fb7739f74311830e9ddd1381d0d228224f61",
  "tree": "4d4b9a4fdfcea4cb6fa496085327f1aae9a9a380",
  "parents": [
    "5fa05099567bbe42aae87a9bef8fd630b3666a4d"
  ],
  "author": {
    "name": "Paul Jakma",
    "email": "paul.jakma@sun.com",
    "time": "Wed May 02 16:05:35 2007 +0000"
  },
  "committer": {
    "name": "Paul Jakma",
    "email": "paul.jakma@sun.com",
    "time": "Wed May 02 16:05:35 2007 +0000"
  },
  "message": "[zebra] Routemap support on received routes, with \u0027set src\u0027 command (linux)\n\n2007-05-01 David L Stevens \u003cdlstevens@us.ibm.com\u003e\n\n\t* (general) These changes collectively add route-map and\n\t  prefix-list support to zebra and fix a bug in \"show\n\t  route-map\" (with no argument).\n\t* doc/main.texi: added route-map, prefix-list, ip protocol\n\t  and set src documentation\n\t* lib/command.h: added PROTOCOL_NODE type\n\t* lib/log.c: (proto_name2num) new function, protocol name to\n\t  number translation.\n\t* lib/routemap.c: (vty_show_route_map) fixed \"show route-map\"\n\t  without route-map name\n\t* lib/routemap.h: added RMAP_ZEBRA type\n\t* lib/zebra.h: added proto_name2num() prototype\n\t* vtysh/extract.pl.in: added VTYSH_ZEBRA flag for route-map and\n\t  plist\n\t* vtysh/Makefile.am: added zebra_routemap.c\n\t* vtysh/vtysh.h: added VTYSH_ZEBRA flag to VTYSH_RMAP\n\t* zebra/connected.c: (connected_up_ipv4) added src preference argument\n\t  to rib_add_ipv4()\n\t* zebra/kernel_socket.c: (rtm_read) ditto\n\t* zebra/main.c: added prefix list initialization\n\t* zebra/Makefile.am: added zebra_routemap.c source file\n\t* zebra/rib.h: added generic address union \"g_addr\" and use in\n\t  existing places that had an explicit union.\n\t  Added \"src\" to struct nexthop.\n\t  Added preferred src arg to nexthop_ipv4_add and rib_add_ipv4.\n\t* zebra/rt_netlink.c: (netlink_routing_table) set preferred source on\n\t  netlink messages.\n\t  (netlink_route_change) ditto\n\t  (netlink_route_multipath) ditto.\n\t* zebra/rtread_getmsg.c: (handle_route_entry) added (NULL) src to\n\t  rib_add_ipv4() call.\n\t* zebra/rtread_proc.c: (proc_route_read) ditto\n\t* zebra/zebra_rib.c: (nexthop_ipv4_add) add src argument.\n\t  (nexthop_ipv4_ifindex_add) ditto\n\t  (rib_add_ipv4) ditto\n\t  (nexthop_active_check) Add route-map processing.\n\t* zebra/zebra_routemap.c: new file for zebra route-map commands.\n\t* zebra/zebra_vty.c: (ip_protocol_cmd) Apply route-map to protocol\n\t  (vty_show_ip_route_detail) added \"src\" printing\n\t  (vty_show_ip_route) ditto\n\t  (show_ip_protocol_cmd) new command, list routemaps.\n\t  (config_write_protocol) write out routemap protocl config.\n\t  (zebra_vty_init) Install the new routemap protocol commands.\n\t* zebra/zserv.c: (zread_ipv4_add) added (NULL) src arg\n\t  (zebra_init) init zebra route-maps.\n\t* zebra/zserv.h: add zebra_route_map_init\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "586852c6ea4b731bd1fcd71703132363591627b7",
      "old_mode": 33188,
      "old_path": "doc/ChangeLog",
      "new_id": "b8c81e74964f882b4e56887d05ad924adfba315c",
      "new_mode": 33188,
      "new_path": "doc/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "b76a636b396e5249291cddae4820fc186b2b0081",
      "old_mode": 33188,
      "old_path": "doc/main.texi",
      "new_id": "9966b356d35432c198af6abdf4a23ad2c0c324ee",
      "new_mode": 33188,
      "new_path": "doc/main.texi"
    },
    {
      "type": "modify",
      "old_id": "f8fdd11ef525b595a92f830e9c4496be21c95bce",
      "old_mode": 33188,
      "old_path": "lib/ChangeLog",
      "new_id": "3787b68cbf048758aa590654e659e44e3b4eeab4",
      "new_mode": 33188,
      "new_path": "lib/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "ce18731e6763ccf5e1f7787ab948e56feaa8cc9c",
      "old_mode": 33188,
      "old_path": "lib/command.h",
      "new_id": "a72537881d4105c85acb3b55a62115b6ede858fa",
      "new_mode": 33188,
      "new_path": "lib/command.h"
    },
    {
      "type": "modify",
      "old_id": "21bf3f2f6b6d88ccf2088bc1efa21ab9f801890f",
      "old_mode": 33188,
      "old_path": "lib/log.c",
      "new_id": "cbf76af9921bff955526b92d5f2de8ee1f1cde9e",
      "new_mode": 33188,
      "new_path": "lib/log.c"
    },
    {
      "type": "modify",
      "old_id": "55cc33c775fa8bd26d7cd6865df21b63e25e4d1e",
      "old_mode": 33188,
      "old_path": "lib/routemap.c",
      "new_id": "58ed09a7cf7a049360796131e18195a04a3aa381",
      "new_mode": 33188,
      "new_path": "lib/routemap.c"
    },
    {
      "type": "modify",
      "old_id": "c9cf44105acf36b62af934da59de11e5f6ee69b7",
      "old_mode": 33188,
      "old_path": "lib/routemap.h",
      "new_id": "321e1927aa64a8bf09f8cb75f8abf81db412c6c0",
      "new_mode": 33188,
      "new_path": "lib/routemap.h"
    },
    {
      "type": "modify",
      "old_id": "2e2f8cda03b2ed3e7159ee694ebc7fd86e78b6f8",
      "old_mode": 33188,
      "old_path": "lib/zebra.h",
      "new_id": "8553739942636149f406ec6832cf0a828624152e",
      "new_mode": 33188,
      "new_path": "lib/zebra.h"
    },
    {
      "type": "modify",
      "old_id": "4ca5df9451520031f87c53a7c6b4fee38808130f",
      "old_mode": 33188,
      "old_path": "vtysh/ChangeLog",
      "new_id": "a582b959e278bd9468c05310e5f20c46fc6fa56c",
      "new_mode": 33188,
      "new_path": "vtysh/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "98a9ddde81ec827cebf9b6f7e8e281ddaa8aff60",
      "old_mode": 33261,
      "old_path": "vtysh/extract.pl.in",
      "new_id": "723fe8d613b1f7d389c1e9cae66cfe4f240a82a9",
      "new_mode": 33261,
      "new_path": "vtysh/extract.pl.in"
    },
    {
      "type": "modify",
      "old_id": "dd2bcbd0a03f281ac0e8d9c08748443751204934",
      "old_mode": 33188,
      "old_path": "vtysh/vtysh.h",
      "new_id": "3ed0dd328ed13e180af0474e5f0dfbf00e2af085",
      "new_mode": 33188,
      "new_path": "vtysh/vtysh.h"
    },
    {
      "type": "modify",
      "old_id": "11e406d499396f0a1ae6a1b8e2d046a831038908",
      "old_mode": 33188,
      "old_path": "zebra/ChangeLog",
      "new_id": "c08bbe4e3ad2efb682e0787b5eb00f3a320bbff4",
      "new_mode": 33188,
      "new_path": "zebra/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "7527562a03d0c4bad9b7bc29b6c6a59cf28e65aa",
      "old_mode": 33188,
      "old_path": "zebra/Makefile.am",
      "new_id": "5d8db4115c788c5232863a4aeecd62a4d6f7e490",
      "new_mode": 33188,
      "new_path": "zebra/Makefile.am"
    },
    {
      "type": "modify",
      "old_id": "74e10ac681b26983f3c177a2a237a1c76fcef27a",
      "old_mode": 33188,
      "old_path": "zebra/connected.c",
      "new_id": "53aa25432fa4eb76c865f8231ff4c0e46fa54e27",
      "new_mode": 33188,
      "new_path": "zebra/connected.c"
    },
    {
      "type": "modify",
      "old_id": "5281236769044245cce937d42316d82598520a98",
      "old_mode": 33188,
      "old_path": "zebra/kernel_socket.c",
      "new_id": "b7c7ccc1d512b11f921370f404c723fd6bfe18ce",
      "new_mode": 33188,
      "new_path": "zebra/kernel_socket.c"
    },
    {
      "type": "modify",
      "old_id": "ed45bd13f7a80e73553345c8df679b62071f51ec",
      "old_mode": 33188,
      "old_path": "zebra/main.c",
      "new_id": "7d895799b42e4648a0157b25e1f19dfb25ec83f1",
      "new_mode": 33188,
      "new_path": "zebra/main.c"
    },
    {
      "type": "modify",
      "old_id": "04fbbecf9e0c68aa86b234f55ab05230f145960e",
      "old_mode": 33188,
      "old_path": "zebra/rib.h",
      "new_id": "7b2bd426a8915f460c799a87a350219281d7cd08",
      "new_mode": 33188,
      "new_path": "zebra/rib.h"
    },
    {
      "type": "modify",
      "old_id": "e2f1f9d9336a5f416e3953b35ec9219a0ae96212",
      "old_mode": 33188,
      "old_path": "zebra/rt_netlink.c",
      "new_id": "3b602c45ed41dcc3852b2bcaeaf5de202cf85bb0",
      "new_mode": 33188,
      "new_path": "zebra/rt_netlink.c"
    },
    {
      "type": "modify",
      "old_id": "1b0c8965f919135be1d582672f7cda0d16d58afc",
      "old_mode": 33188,
      "old_path": "zebra/rtread_getmsg.c",
      "new_id": "3e065c6f4ff6ea51fb0c97bd283f38ebfde8e8e0",
      "new_mode": 33188,
      "new_path": "zebra/rtread_getmsg.c"
    },
    {
      "type": "modify",
      "old_id": "93ec238fffd012eaa17cac16f33e2b8abe38cb9e",
      "old_mode": 33188,
      "old_path": "zebra/rtread_proc.c",
      "new_id": "1de435a494255fa757d5bb6aeb3532c7e2dce394",
      "new_mode": 33188,
      "new_path": "zebra/rtread_proc.c"
    },
    {
      "type": "modify",
      "old_id": "02c73d1296dc7585752fee5408824634e3dd4114",
      "old_mode": 33188,
      "old_path": "zebra/zebra_rib.c",
      "new_id": "693b3331389776ab6c0509ee32eab61274c58aaf",
      "new_mode": 33188,
      "new_path": "zebra/zebra_rib.c"
    },
    {
      "type": "modify",
      "old_id": "68e6f920795f58ef7612e2bd43f8b97abd629b31",
      "old_mode": 33188,
      "old_path": "zebra/zebra_vty.c",
      "new_id": "1487745b1546a2d19cfc44087429b0fd60bf092a",
      "new_mode": 33188,
      "new_path": "zebra/zebra_vty.c"
    },
    {
      "type": "modify",
      "old_id": "1703d3f569258718906ea84371d721c200a2bcba",
      "old_mode": 33188,
      "old_path": "zebra/zserv.c",
      "new_id": "22a6bed26e9a3ccafa74c4f706b7d357b28c01f8",
      "new_mode": 33188,
      "new_path": "zebra/zserv.c"
    },
    {
      "type": "modify",
      "old_id": "9a570fb3bea19ef8e8587e490576a7256c0b879d",
      "old_mode": 33188,
      "old_path": "zebra/zserv.h",
      "new_id": "68c26f234d5782de4529564995c16707f889f362",
      "new_mode": 33188,
      "new_path": "zebra/zserv.h"
    }
  ]
}
