)]}'
{
  "log": [
    {
      "commit": "e3e452a3e5b2d6d288a6efeac52911f54175c6fa",
      "tree": "c2f108b5bd08b759a8fd6de0b423b9e1c58c3b68",
      "parents": [
        "3abf347f0a203cdc81ec682555c394d11b746e51"
      ],
      "author": {
        "name": "Rob Sherwood",
        "email": "rob.sherwood@bigswitch.com",
        "time": "Tue Mar 06 09:24:26 2012 -0800"
      },
      "committer": {
        "name": "Rob Sherwood",
        "email": "rob.sherwood@bigswitch.com",
        "time": "Tue Mar 06 09:24:26 2012 -0800"
      },
      "message": "Bugfix to controller I/O parsing\n\noftest incorrectly assumed that OF messages would\nnot span the data from a read(), and this is not\ntrue always.\n"
    },
    {
      "commit": "7455ed25ff380f32b8c0552c9fc012076757c2c6",
      "tree": "6184057bf7a1896c6b3371d722ac7bb0704e00ee",
      "parents": [
        "ba3745c94f562b2f89c6b7a6df7a9a7e945f4e4e"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Oct 27 10:51:12 2010 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Oct 27 10:51:12 2010 -0700"
      },
      "message": "Update buffer consumption for echo response\n"
    },
    {
      "commit": "8dbc4d73059a623b4103c5f8c4354343ae221997",
      "tree": "81381faadc242d8fb29b829d61aa7171371e7a6c",
      "parents": [
        "551befadb763269637cb38372400a31ad1a2ee1f"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sat Jul 17 00:32:46 2010 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sat Jul 17 00:32:46 2010 -0700"
      },
      "message": "Correct dl_match type when generating flow match from a tagged pkt\n"
    },
    {
      "commit": "741b118d4b68515796cd721c3459ed03ba274d24",
      "tree": "95ba41525d7f2cd8e67319e1da4239efaf141a87",
      "parents": [
        "6d4670680191633feca5a2eb638177c37d39a716"
      ],
      "author": {
        "name": "Glen Gibb",
        "email": "grg@stanford.edu",
        "time": "Thu Jul 08 16:43:58 2010 -0700"
      },
      "committer": {
        "name": "Glen Gibb",
        "email": "grg@stanford.edu",
        "time": "Thu Jul 08 16:43:58 2010 -0700"
      },
      "message": "Increase receive size for received OF msgs\n\nIt\u0027s possible for an OpenFlow instance to generate very large response\npackets if oftest and the device under test are communicating via the\nloopback interface (or using jumbo Ethernet frames). Increase the\nreceive size to prevent partial packets from being retrieved.\n"
    },
    {
      "commit": "6d4670680191633feca5a2eb638177c37d39a716",
      "tree": "900dee539387d5837ead34aed3f4dd953a40521c",
      "parents": [
        "39bf691b2a0427ccefeac3d2b964898e71f67536"
      ],
      "author": {
        "name": "Glen Gibb",
        "email": "grg@stanford.edu",
        "time": "Thu Jul 08 16:15:08 2010 -0700"
      },
      "committer": {
        "name": "Glen Gibb",
        "email": "grg@stanford.edu",
        "time": "Thu Jul 08 16:15:08 2010 -0700"
      },
      "message": "Support multiple OF msgs in a single pkt\n\nA single TCP packet may contain multiple OpenFlow messages. Update\n_pkt_handle to iterate through the set of OF msgs in a single packet.\n"
    },
    {
      "commit": "9c31e22302d39eb7ae5361fa3dec5e8763bc5553",
      "tree": "c63466d34c0124f4385d5417cb24c10cd482ad8f",
      "parents": [
        "8b886b16b434476a9c1c0063e35c6bcc9c30392e",
        "b8fb3c382fa1564bc276277c54f9c4156055727f"
      ],
      "author": {
        "name": "Tatsuya Yabe",
        "email": "tyabe@stanford.edu",
        "time": "Wed Jun 16 13:48:02 2010 -0700"
      },
      "committer": {
        "name": "Tatsuya Yabe",
        "email": "tyabe@stanford.edu",
        "time": "Wed Jun 16 13:48:02 2010 -0700"
      },
      "message": "Merge branch \u0027tyabe\u0027\n\nConflicts:\n\ttests/pktact.py\n"
    },
    {
      "commit": "b8fb3c382fa1564bc276277c54f9c4156055727f",
      "tree": "61efcafe033ac2c9f1bccd54dec1eaa15ea7a31e",
      "parents": [
        "f5ffb97b92a933ed7781a0a2e36b101b3f62c5e3"
      ],
      "author": {
        "name": "Tatsuya Yabe",
        "email": "tyabe@stanford.edu",
        "time": "Mon Jun 14 15:48:36 2010 -0700"
      },
      "committer": {
        "name": "Tatsuya Yabe",
        "email": "tyabe@stanford.edu",
        "time": "Mon Jun 14 15:48:36 2010 -0700"
      },
      "message": "Added: DirectPacket test with ICMP matching\n"
    },
    {
      "commit": "89d5734045e35fe0998f5c372fb5116e4f763e20",
      "tree": "32dfa4b2fe391f297d116472e996640466269849",
      "parents": [
        "9f47f4d4dd1f73db0f2f45c53680f865f65116d6"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Mon Jun 07 16:24:59 2010 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Mon Jun 07 16:24:59 2010 -0700"
      },
      "message": "Added flow expire/stats tests\n\nContributions from Google test engineers.  Basic tests for flow\nexpiration message generation and stats checking.  They also\nadded code for properly managing network prototype and wildcards\nfor TCP/UDP packets in parse.py.\n"
    },
    {
      "commit": "09c2c5986b137841adb59d25e26bf2a3dd29c549",
      "tree": "cf1741ac859241a4289da1d07cb3b0192278d31a",
      "parents": [
        "4aa1312087a5285f71f791b4c555a0fc62b31912"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Thu May 13 14:21:52 2010 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Thu May 13 14:21:52 2010 -0700"
      },
      "message": "Fix debug output for no resp on XID transaction\n"
    },
    {
      "commit": "3afcf72f4d904dcfeb2cc3d6b2b965d7d67552fa",
      "tree": "2106f33270230490f5aa3be25563d396dc97261b",
      "parents": [
        "f31718773f1d4e8634a96d02ad0f93fc2bea307b"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Tue May 11 15:05:11 2010 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Tue May 11 15:05:11 2010 -0700"
      },
      "message": "Copy actions put on lists\n\nPrior to adding an action to a list, do a deep copy of it.\nThis allows the caller to update the action object without\naffecting the actions already on the list.\n"
    },
    {
      "commit": "a99c21ad8909883b5040a1bac384f81410bf987a",
      "tree": "d68ee0e8f5baef8f7296cea7e49dd6861ab5b765",
      "parents": [
        "b2d1d044758cc66949665215ce79116bbfbe8377"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri May 07 09:23:34 2010 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri May 07 09:23:34 2010 -0700"
      },
      "message": "Debug output change\n"
    },
    {
      "commit": "b2d1d044758cc66949665215ce79116bbfbe8377",
      "tree": "76e4da76705485ef079e62453ba93d907a2ee8a6",
      "parents": [
        "ef701f4cf33eb44522c5d0e891940f360fd70de9"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri May 07 09:23:11 2010 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri May 07 09:23:11 2010 -0700"
      },
      "message": "Check for OpenFlow version compatibility\n"
    },
    {
      "commit": "958f3b9e93b6110735fab508e5868526e40e61fb",
      "tree": "a83c2728a07f2a88bb7088dc8be8d33b571f0e1a",
      "parents": [
        "6f223c841534e682d00f40f6341230f4264beb71"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@snowcrash.dbd.mogulmouse.net",
        "time": "Fri Mar 12 21:58:57 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@snowcrash.dbd.mogulmouse.net",
        "time": "Fri Mar 12 21:58:57 2010 -0800"
      },
      "message": "Clean up scapy references\n"
    },
    {
      "commit": "9f088483ac78d32547ff99e3d7c3a8fd4e2234b0",
      "tree": "5a93aed30e2e8c172fc3add92abefe6f7c393de5",
      "parents": [
        "f4426d5e9d379c4a08f8002b0cd46faaef35719e"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Mar 12 13:56:02 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Mar 12 13:56:02 2010 -0800"
      },
      "message": "Bad mixed import for scapy\n"
    },
    {
      "commit": "235d7cbbc96908d10bbf30d52ee8950e3b881f9b",
      "tree": "341fd10a5b635c4d23a820720fd5585cba7a37b8",
      "parents": [
        "fa16d59a54dd507c063860286a86df693ac98f14"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Mar 12 10:03:18 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Mar 12 10:03:18 2010 -0800"
      },
      "message": "Explicit logging import; was failing on CentOS 5.2\n"
    },
    {
      "commit": "f3d64d69dae47818152f015d469aeadd1eb66961",
      "tree": "61b9be2bc2348b6498daca3305a0f543fa692443",
      "parents": [
        "79f3608496bd5c1f10b5414e787407d00bc23a50"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Thu Mar 11 20:17:35 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Thu Mar 11 20:17:35 2010 -0800"
      },
      "message": "Do not list scapy as a rqmt for now as it breaks on CentOS\n"
    },
    {
      "commit": "d2ca1031708f717da7e8db5b05a87972a0a429a9",
      "tree": "6be35dcf9ae05fd5cbde36552cb86cf6a266a21a",
      "parents": [
        "0db53eb3dd0c33696698798244ca2f397b8b2ba8"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Mar 10 14:40:26 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Mar 10 14:40:26 2010 -0800"
      },
      "message": "As much as possible, remove dependence on python 2.5\n"
    },
    {
      "commit": "0db53eb3dd0c33696698798244ca2f397b8b2ba8",
      "tree": "0cc0086091629babf2f7c1774a369ef62c7e266d",
      "parents": [
        "cb6b5d7ec084e01f353e837d99b7382ca408ea99"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Mar 10 14:00:02 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Mar 10 14:00:02 2010 -0800"
      },
      "message": "Catch exception on socket open and exit\n"
    },
    {
      "commit": "cb6b5d7ec084e01f353e837d99b7382ca408ea99",
      "tree": "4e2bccb46b223424215109728cd44c8f13998b4b",
      "parents": [
        "5eba844727d48f669c643238ccf4ed2cb6204c1c"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Mar 10 13:59:33 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Mar 10 13:59:33 2010 -0800"
      },
      "message": "Support scapy packet as input for flow match\n"
    },
    {
      "commit": "46755faa9b26c268ea60002531f610a9c3eb965e",
      "tree": "43c5a0cb7cd6db3b4a2882d44de2d1e3d8ab09da",
      "parents": [
        "11c26e7991de1a351e56a049fbca261a26493194"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Tue Mar 09 21:44:29 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Tue Mar 09 21:44:29 2010 -0800"
      },
      "message": "Changed show to return a string rather than print\n"
    },
    {
      "commit": "11c26e7991de1a351e56a049fbca261a26493194",
      "tree": "894659869db051b45a7683c430a5299752ab99da",
      "parents": [
        "d12b661c13b90813e73aeb402d240b04b2d84dec"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sun Mar 07 22:03:57 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sun Mar 07 22:03:57 2010 -0800"
      },
      "message": "indentation, spaces\n"
    },
    {
      "commit": "d12b661c13b90813e73aeb402d240b04b2d84dec",
      "tree": "7941c4c3c9369e2dfa2b8bd3eff5cced737a20b3",
      "parents": [
        "1a88c12344b8e76a1a7a620809bcc61abafb3db6"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sun Mar 07 22:00:46 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sun Mar 07 22:00:46 2010 -0800"
      },
      "message": "Fixed race condition\n\nIt\u0027s possible that a packet is being processed when\npoll() is called, but that it has not been enqueued yet.\nIf poll gets control, it checks the queue and then sleeps\nif it can\u0027t find it\u0027s packet.  But if the check to notify\npoll has already taken place, the intended packet is\nenqueued after poll has checked for it.  Fix this by\nextending the period that the packet processing routine\nholds the mutex.\n"
    },
    {
      "commit": "2c0dba3b10266936d137c8756ef5dbc41a48a67f",
      "tree": "924417aa0c787ab2312751904e0c22eca92fe0c1",
      "parents": [
        "52f6444dcad3650d6eb0844ac140d69295335b5d"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sat Mar 06 22:47:06 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sat Mar 06 22:47:06 2010 -0800"
      },
      "message": "Setup and test spec implementation\n\nSetup now installs code as normal conventions:\ncd oftest/src/python\npython setup.py install\n\nSee basic.py for recommended import conventions\n\nCommand line parsing significantly updated; allow --test-spec\nto indicate a module or specific tests to include.\n"
    },
    {
      "commit": "4837010d858480e186a9aeb7b28dc2555db307d3",
      "tree": "57c9b4cb88846f288949fa0b53b66619f5b0352e",
      "parents": [
        "ea8ad807a0eef55315a251e055405ecdcc4fec41"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Mar 03 15:17:33 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Mar 03 15:17:33 2010 -0800"
      },
      "message": "Major overhaul of oftest command interface\n\nAdded tests/oft as top level executable\n\nSupport command line options for many config params\n\nUse logging module for output\n\nGot rid of oft_config.py; consolidate configuration in\noft (top level script) and pass around as a dictionary\n\nAdd oft_assert.py (the one useful piece of oft_config that\nremained).\n"
    },
    {
      "commit": "ea8ad807a0eef55315a251e055405ecdcc4fec41",
      "tree": "4c940a7eb24b8287d8aa816157cefaef6487c7da",
      "parents": [
        "c4747969e0dc491ea58aa485358c2454acbdeb23"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Mon Feb 22 20:30:18 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Mon Feb 22 20:30:18 2010 -0800"
      },
      "message": "Oops, missed this file in original commit\n"
    },
    {
      "commit": "f307f3fb64453a1abb9fbbeeabe31af28aad7434",
      "tree": "8826533f7b18fcb65aed7afae4332544bcf2d69c",
      "parents": [
        "90576bddc22855f816bace1b8afb3a13913259b5"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 19 11:42:29 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 19 11:42:29 2010 -0800"
      },
      "message": "Removed a bunch of unused clutter\n"
    },
    {
      "commit": "90576bddc22855f816bace1b8afb3a13913259b5",
      "tree": "c9c318a8d3e3d87f7abc5372e0ccefb755d564a4",
      "parents": [
        "4d065977ffd792f847b257347a26e8683ddc26b2"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 19 10:59:02 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 19 10:59:02 2010 -0800"
      },
      "message": "Comments and todo additions\n"
    },
    {
      "commit": "4d065977ffd792f847b257347a26e8683ddc26b2",
      "tree": "d2abc0771ae71a250512fc6df75ec86709b527d4",
      "parents": [
        "e226eb1a8a8257d43dd8bf7d5a619f8bb12c18a6"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Thu Feb 18 23:11:32 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Thu Feb 18 23:11:32 2010 -0800"
      },
      "message": "Doc init param\n"
    },
    {
      "commit": "e226eb1a8a8257d43dd8bf7d5a619f8bb12c18a6",
      "tree": "fa099163d1eb7bff8b79e58c0fb73f2f7e8f75cf",
      "parents": [
        "4557d783e2a5983c17c857d185fc102ed58c313b"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Thu Feb 18 23:06:30 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Thu Feb 18 23:06:30 2010 -0800"
      },
      "message": "Mostly polling and timeout support\n\nSupport poll timeouts for controller messages\nSupport poll and timeouts for dataplane messages\nChanged name of dataplane pkt get to \u0027poll\u0027\nSix basic test cases now passing on LB4G\nAdded test-framework assertion\nAdded additional files to lint checking\n"
    },
    {
      "commit": "710438c723e18e9e0e2d2ef070f158ef7d24950a",
      "tree": "bc605e46253f8163a8c22613ce3b781bd0789c69",
      "parents": [
        "a92e75bcf162b6e998daa2ca7ffce2069dce9736"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Thu Feb 18 15:16:07 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Thu Feb 18 15:16:07 2010 -0800"
      },
      "message": "Mostly changes to socket deployment\n\nUse select for handling sockets; hopefully better cleanup approach\n\nAdded connection semaphore for controller\nSupport message objects as arguments to controller.message_send\nSupport initial hello from controller when connected to switch\n"
    },
    {
      "commit": "2e1a10766e659ea24595539e099727c56e251098",
      "tree": "2302a08b7c88c6de34938bb89f65dc71e5e5a79c",
      "parents": [
        "1b3f6906767c2c169b00b91312d8ddb71c72e59d"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Mon Feb 15 14:15:19 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Mon Feb 15 14:15:19 2010 -0800"
      },
      "message": "Trivial setup file\n"
    },
    {
      "commit": "1b3f6906767c2c169b00b91312d8ddb71c72e59d",
      "tree": "205811371728a4429ab283616e7e82a55a296d94",
      "parents": [
        "dba4c34563f848906b1a5a63df1dd9ebb621b1ef"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Mon Feb 15 14:14:19 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Mon Feb 15 14:14:19 2010 -0800"
      },
      "message": "Lots of reorg and wrestling with sockets\n"
    },
    {
      "commit": "dba4c34563f848906b1a5a63df1dd9ebb621b1ef",
      "tree": "26ba8df934c38e9a791f62c7cc1f78c04145d5c4",
      "parents": [
        "dba244e62b83525246e9b3a88e801a34c6bdda7a"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Mon Feb 15 14:13:02 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Mon Feb 15 14:13:02 2010 -0800"
      },
      "message": "Added default debug level\n\nAlso, just one test port for bcm_indigo for now\n"
    },
    {
      "commit": "d7e2dbedd24da852edb42a68ba315da719db553e",
      "tree": "57ad07d074ee1cfdfcf7a7eaa780936a4fd686ac",
      "parents": [
        "ec857daa57c1f6cd6e9225b9a530560e2a6d9fd6"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sat Feb 13 21:51:15 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sat Feb 13 21:51:15 2010 -0800"
      },
      "message": "Moved core code up to oftest directory\n"
    },
    {
      "commit": "ec857daa57c1f6cd6e9225b9a530560e2a6d9fd6",
      "tree": "29632d9a7a800c96d95c555a6fb05a0214fbf9b4",
      "parents": [
        "3087a4632f30ba688dc50e4868d384dfa38bbf89"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sat Feb 13 21:49:32 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sat Feb 13 21:49:32 2010 -0800"
      },
      "message": "Moved code up one directory\n"
    },
    {
      "commit": "3087a4632f30ba688dc50e4868d384dfa38bbf89",
      "tree": "22d46b995aa6d60b20e94e36dc99a4e40e7c0e4a",
      "parents": [
        "411489d65a53503c5d4ba54a980628053f035a1c"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sat Feb 13 14:01:47 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sat Feb 13 14:01:47 2010 -0800"
      },
      "message": "Moved dataplaneport to dataplane so as only one file\n"
    },
    {
      "commit": "08d9dfeeb37a009b4f96b2ee989db4bd689e9c2a",
      "tree": "0890d12bbc409bdf531236944615c90599390153",
      "parents": [
        "19dbc79ca2807118789ef28f7c0971a1c29e6d16"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 12 23:02:11 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 12 23:02:11 2010 -0800"
      },
      "message": "Changed debug output\n"
    },
    {
      "commit": "19dbc79ca2807118789ef28f7c0971a1c29e6d16",
      "tree": "e018aa7703a1bfb2a86c39b08554c98d656ede77",
      "parents": [
        "21c75c7fc01523e5e3283444a25d8bad17cc9df4"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 12 23:00:54 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 12 23:00:54 2010 -0800"
      },
      "message": "Added promisc stuff here; moved other stuff to controller\n"
    },
    {
      "commit": "21c75c7fc01523e5e3283444a25d8bad17cc9df4",
      "tree": "656fd8a3d1b11c4e5499da05eec75588d7f20b39",
      "parents": [
        "9be11bc0b4979c17970e5cc8792680cf3434f5dc"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 12 22:59:24 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 12 22:59:24 2010 -0800"
      },
      "message": "Major changes\n\nAdded threading. Added queuing of received messages\nChanged function prototypes.  Debug counters.\n"
    },
    {
      "commit": "9be11bc0b4979c17970e5cc8792680cf3434f5dc",
      "tree": "ba43f9c777bbc409b68cac108f91b6d53ba5e738",
      "parents": [
        "a3b20188ac8746b4637862674882b9e21c03d9ee"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 12 22:58:46 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 12 22:58:46 2010 -0800"
      },
      "message": "Added debug, etc to config.py and moved to oft_config.py due to conflict\n"
    },
    {
      "commit": "a3b20188ac8746b4637862674882b9e21c03d9ee",
      "tree": "48fb43dcea2b0c0b2ec42369f154d431d2f35fd0",
      "parents": [
        "dc881813b8aba78eb434eec70278c72f111cf043"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Feb 10 22:49:34 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Feb 10 22:49:34 2010 -0800"
      },
      "message": "Comment changes\n"
    },
    {
      "commit": "b66b112491b5fad1009c7ca10401379ff1613889",
      "tree": "6125940c4c3400140445b920474274f842add3d8",
      "parents": [
        "56eb48d9a6c7213264b980ad0c5d470a33570ee5"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Feb 10 22:38:49 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Feb 10 22:38:49 2010 -0800"
      },
      "message": "Added scapy and packet to flow match\n"
    },
    {
      "commit": "56eb48d9a6c7213264b980ad0c5d470a33570ee5",
      "tree": "a5e08e0fac1fe3f22e79b46621de765bb1471081",
      "parents": [
        "d0dcca8520cb4d8f313075af29a72ac0f0058264"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Feb 10 22:38:24 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Wed Feb 10 22:38:24 2010 -0800"
      },
      "message": "Added vendor action to be recognized\n"
    },
    {
      "commit": "e37999f12704c95fe06a225e9bbda0a58da7acb8",
      "tree": "7be723e6697ace24c89d6d9437fde96ea1170759",
      "parents": [
        "b9cb548960025dab688f754d61d9479faa8b971b"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Tue Feb 09 15:27:12 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Tue Feb 09 15:27:12 2010 -0800"
      },
      "message": "Added netutils; update for changed paths\n"
    },
    {
      "commit": "b9cb548960025dab688f754d61d9479faa8b971b",
      "tree": "7171a5290295f8ebbf491e042d642f0cd07d31e3",
      "parents": [
        "34089522e7b488249bd9de2944d7199975655e8e"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Tue Feb 09 15:23:12 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Tue Feb 09 15:23:12 2010 -0800"
      },
      "message": "Renamed files\n\noft_config \u003d\u003d\u003e config\nofmsg \u003d\u003d\u003e protocol\nofmsg/of_message \u003d\u003d\u003e protocol/parse\nofmsg/ofp \u003d\u003d\u003e protocol/cstruct\nofmsg/ofp_aux \u003d\u003d\u003e protocol/class_maps\n"
    },
    {
      "commit": "34089522e7b488249bd9de2944d7199975655e8e",
      "tree": "91175e34189784cea14959fbaba99a1310a16215",
      "parents": [
        "10fe5c2c6a97bdd2b44331199a40cd5e03e7f42f"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sun Feb 07 23:07:41 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sun Feb 07 23:07:41 2010 -0800"
      },
      "message": "Added controller, dataplane and configuration files\n"
    },
    {
      "commit": "c398ca975de89de0338b9f2f64aba48c80ae0ff4",
      "tree": "3dfb18bf2e1af487982b4802e0009ecc7f33440c",
      "parents": [
        "5d9911fc30043064aa5b3c7ef8bcb5ad64c16df8"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sun Feb 07 22:57:28 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Sun Feb 07 22:57:28 2010 -0800"
      },
      "message": "Added type based functions and extend\n"
    },
    {
      "commit": "f75360a6820e5e05fd72f528b0f246ffd2b39811",
      "tree": "e9d1dda4b3672d43cf5414badf4734861fa0d562",
      "parents": [],
      "author": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 05 22:22:54 2010 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dtalayco@stanford.edu",
        "time": "Fri Feb 05 22:22:54 2010 -0800"
      },
      "message": "Initial oftest skeleton with wrapper generators and pylibopenflow\n"
    }
  ]
}
