)]}'
{
  "log": [
    {
      "commit": "a8d749119c4ec5751c3d3957d3b73c022f50e02d",
      "tree": "1a45e687aaccbfaf29ca798f5e68a9db05b1e5ea",
      "parents": [
        "692b9c05cb866394c748cdf87019c4b42a7019e1"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Jul 16 10:10:39 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Jul 16 11:20:19 2013 -0700"
      },
      "message": "initial OpenFlow 1.3 match tests\n\nThe only tests currently implemented are for the VLAN tag.\n"
    },
    {
      "commit": "692b9c05cb866394c748cdf87019c4b42a7019e1",
      "tree": "d994a4edd22eff827eb96494e57c24bd272ba3e7",
      "parents": [
        "13bdd03ff2f0394b214475509de8ce1fc25767ed"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Jul 15 15:38:50 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Jul 16 11:13:48 2013 -0700"
      },
      "message": "basic-1.3: add OutputWildcard and PacketInWildcard tests\n\nThese tests check that a match-all (but not table-miss) flow matches packets.\n"
    },
    {
      "commit": "13bdd03ff2f0394b214475509de8ce1fc25767ed",
      "tree": "a25d3c180488e6c1670aafafecc20d14088c67db",
      "parents": [
        "17b8b60b747c16e47ea751a0c7b3d1a9ae2bf15c",
        "5542cf52a65b670aa6bfbf90cf5e27f72a92b3ce"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Fri Jul 12 13:32:28 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Fri Jul 12 13:32:28 2013 -0700"
      },
      "message": "Merge pull request #57 from sumithdev09/master\n\nPolling Hello Message"
    },
    {
      "commit": "5542cf52a65b670aa6bfbf90cf5e27f72a92b3ce",
      "tree": "41f910ec7e6033d640f1d2a7f646bd5be5bdd3f8",
      "parents": [
        "7ecabd21e1787ba69b4455e7e06de5563b524c3f"
      ],
      "author": {
        "name": "sumithdev09",
        "email": "sumith.hy398@gmail.com",
        "time": "Fri Jul 12 14:56:28 2013 -0400"
      },
      "committer": {
        "name": "sumithdev09",
        "email": "sumith.hy398@gmail.com",
        "time": "Fri Jul 12 14:56:28 2013 -0400"
      },
      "message": "Update controller.py"
    },
    {
      "commit": "17b8b60b747c16e47ea751a0c7b3d1a9ae2bf15c",
      "tree": "4107d643fdf25a9276f4ec0787efb974454e1bfa",
      "parents": [
        "6d2e396f5561091c2ee34a903efab955dec0eeb9",
        "682db964570cfc6fa0ef307ef0cafd27adcaddda"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Fri Jul 12 10:32:41 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Fri Jul 12 10:32:41 2013 -0700"
      },
      "message": "Merge pull request #56 from rlane/of13\n\nOpenFlow 1.3 basic test suite"
    },
    {
      "commit": "7ecabd21e1787ba69b4455e7e06de5563b524c3f",
      "tree": "63b1eafc635f5e54095872e0ca907237786a0a43",
      "parents": [
        "6d2e396f5561091c2ee34a903efab955dec0eeb9"
      ],
      "author": {
        "name": "sumithdev09",
        "email": "sumith.hy398@gmail.com",
        "time": "Fri Jul 12 11:10:53 2013 -0400"
      },
      "committer": {
        "name": "sumithdev09",
        "email": "sumith.hy398@gmail.com",
        "time": "Fri Jul 12 11:10:53 2013 -0400"
      },
      "message": "Update controller.py\n\nBugfix:We cannot poll the OFPT_HELLO message using the poll function if exp_msg\u003dNone."
    },
    {
      "commit": "682db964570cfc6fa0ef307ef0cafd27adcaddda",
      "tree": "4107d643fdf25a9276f4ec0787efb974454e1bfa",
      "parents": [
        "b80c130d5ee69fde711ea4e7fc2984db134caa23"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Jul 11 20:19:27 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Jul 11 20:19:27 2013 -0700"
      },
      "message": "basic-1.3: consistently use OFP_NO_BUFFER\n"
    },
    {
      "commit": "b80c130d5ee69fde711ea4e7fc2984db134caa23",
      "tree": "f45d343b4f9f15d039f087ec85bcebf7be050a54",
      "parents": [
        "1dee22c6940d9a54c649339eed037cb81f770be2"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Jul 11 19:32:24 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Jul 11 19:32:56 2013 -0700"
      },
      "message": "basic-1.3: fix comments, log messages, and constants\n"
    },
    {
      "commit": "1dee22c6940d9a54c649339eed037cb81f770be2",
      "tree": "14d5c16c3dc4934a7e3fb375908bd797772bba10",
      "parents": [
        "bd56ed611e50984269c836f1849bc59a1f54f31f"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Jun 13 15:50:28 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Jul 10 16:53:51 2013 -0700"
      },
      "message": "add basic OF 1.3 tests\n\nMany of these tests were ported from the CPqD fork of oftest.\n\nI\u0027ve been running them against ofsoftswitch13. All pass except for\nPacketInMiss.\n"
    },
    {
      "commit": "bd56ed611e50984269c836f1849bc59a1f54f31f",
      "tree": "a693e7fbbb6f63bbf14a2ddcb5c3e365187939dc",
      "parents": [
        "c0d26dd11b2c1a98bc1f82cf5bd4051507e29476"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Jul 10 15:49:44 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Jul 10 16:15:14 2013 -0700"
      },
      "message": "testutils: update get_stats to support OF 1.3\n"
    },
    {
      "commit": "c0d26dd11b2c1a98bc1f82cf5bd4051507e29476",
      "tree": "849789584c3a75a335c2a92d3d581007141f00f6",
      "parents": [
        "6dc865c39e5a5f172ed6bb30a15da904a169611d"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Jul 10 12:46:03 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Jul 10 16:15:14 2013 -0700"
      },
      "message": "testutils: update verify_packet_in for OF 1.3\n"
    },
    {
      "commit": "6dc865c39e5a5f172ed6bb30a15da904a169611d",
      "tree": "c7e7b7dd79a8acd280512d872437cd8473507139",
      "parents": [
        "ab7476f499caf2af69e74cd3c1e5e8fe1a693fff"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Jul 10 10:12:13 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Jul 10 16:15:14 2013 -0700"
      },
      "message": "testutils: update port_config_get/set for OF 1.3\n"
    },
    {
      "commit": "ab7476f499caf2af69e74cd3c1e5e8fe1a693fff",
      "tree": "580772da5308388aaf20273632d7ee77927487ea",
      "parents": [
        "c717f4452f9da0da6b87820279c1dd9c84f6b08b"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Jun 13 15:53:52 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Jul 10 16:15:14 2013 -0700"
      },
      "message": "testutils: remove incompatible wildcard check for OF 1.3\n\nThis needs to be replaced with code that uses the table features reply to\ndetermine the fields that cannot be matched.\n"
    },
    {
      "commit": "c717f4452f9da0da6b87820279c1dd9c84f6b08b",
      "tree": "67ea173e8952d15900aa772bff62d4422b80f832",
      "parents": [
        "fe600f5a6fa649aa459dd9425be0c45d42e0b208"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Jun 13 15:49:09 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Jul 10 16:15:14 2013 -0700"
      },
      "message": "testutils: support of13 in delete_all_flows\n"
    },
    {
      "commit": "fe600f5a6fa649aa459dd9425be0c45d42e0b208",
      "tree": "d6c1258cc59ebdbb1cb890dad6b1fa7e5d04a062",
      "parents": [
        "6d2e396f5561091c2ee34a903efab955dec0eeb9"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Jul 09 13:22:32 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Jul 10 16:15:14 2013 -0700"
      },
      "message": "update pyloxi to 46b7804026447644fec44c0ad517b41844eeb91b\n"
    },
    {
      "commit": "6d2e396f5561091c2ee34a903efab955dec0eeb9",
      "tree": "99fa69cdb0ed373aa0d0b1a67d59a50d78804593",
      "parents": [
        "bbb944599cf948c88b8b173cab5bcf76785f1a07",
        "44c4e3f9e6b5cb77661fb255189de43af80b91de"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Mon Jul 08 10:31:21 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Mon Jul 08 10:31:21 2013 -0700"
      },
      "message": "Merge pull request #55 from rlane/barrier-after-delete\n\ntestutils: send barrier after deleting all flows"
    },
    {
      "commit": "bbb944599cf948c88b8b173cab5bcf76785f1a07",
      "tree": "2fb88fb81f785d61756987a15e5ea51e3557d08c",
      "parents": [
        "03bdc50f2b7db94be2b7cd4815776a6ac7350063",
        "2510a2148db7f020684706bc6437eb8d1ed06b2b"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Mon Jul 08 10:31:08 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Mon Jul 08 10:31:08 2013 -0700"
      },
      "message": "Merge pull request #53 from dtalayco/master\n\nchanges from loxigen e8e6401509"
    },
    {
      "commit": "03bdc50f2b7db94be2b7cd4815776a6ac7350063",
      "tree": "c1a58ca8f41637a8c8228a85c506a1fc20bc0039",
      "parents": [
        "6d94d0b07c7bdde0009da443fe5e6280ba62fc41",
        "ceee1c652bf021c587b018fc7f0ce6f534b3ba97"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Mon Jul 08 10:30:51 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Mon Jul 08 10:30:51 2013 -0700"
      },
      "message": "Merge pull request #54 from poolakiran/match_arp_opcode\n\nflow_match: Match on ARP Opcode"
    },
    {
      "commit": "44c4e3f9e6b5cb77661fb255189de43af80b91de",
      "tree": "a26181cc552ab4945cd43cf9a83547ca31eaefd6",
      "parents": [
        "6d94d0b07c7bdde0009da443fe5e6280ba62fc41"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Jul 08 10:17:49 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Jul 08 10:17:49 2013 -0700"
      },
      "message": "testutils: send barrier after deleting all flows\n\nIf a flow-add is sent immediately after a flow-delete-all, the switch can\nlegitimately include the new flow in the set of flows deleted. A barrier must\nbe used to serialize these operations.\n"
    },
    {
      "commit": "2510a2148db7f020684706bc6437eb8d1ed06b2b",
      "tree": "c404bb483e41cd7bfaaaa26bb324b032fdb9dde8",
      "parents": [
        "f620225e327b1c56e78865d5cbd6ff51524f57b4"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Thu Jul 04 00:38:50 2013 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Thu Jul 04 00:38:50 2013 -0700"
      },
      "message": "Added OFTest license for loxi code\n"
    },
    {
      "commit": "ceee1c652bf021c587b018fc7f0ce6f534b3ba97",
      "tree": "c1a58ca8f41637a8c8228a85c506a1fc20bc0039",
      "parents": [
        "ff12e4891210ff38cc696c38c876c3b739211de0"
      ],
      "author": {
        "name": "Kiran Poola",
        "email": "kiran.poola@bigswitch.com",
        "time": "Tue Jul 02 14:57:42 2013 -0700"
      },
      "committer": {
        "name": "Kiran Poola",
        "email": "kiran.poola@bigswitch.com",
        "time": "Tue Jul 02 14:57:42 2013 -0700"
      },
      "message": "In ARP opcode flow_match test flow entry should look for specific DL_TYPE\n"
    },
    {
      "commit": "ff12e4891210ff38cc696c38c876c3b739211de0",
      "tree": "1cbc1ef040a939399bd80a1ab1145c449471eb37",
      "parents": [
        "6d94d0b07c7bdde0009da443fe5e6280ba62fc41"
      ],
      "author": {
        "name": "Kiran Poola",
        "email": "kiran.poola@bigswitch.com",
        "time": "Tue Jul 02 14:19:52 2013 -0700"
      },
      "committer": {
        "name": "Kiran Poola",
        "email": "kiran.poola@bigswitch.com",
        "time": "Tue Jul 02 14:19:52 2013 -0700"
      },
      "message": "flow_match: Match on ARP Opcode\n"
    },
    {
      "commit": "f620225e327b1c56e78865d5cbd6ff51524f57b4",
      "tree": "4002d8d9c7378d4a03d432808e2698c3b82136cd",
      "parents": [
        "6d94d0b07c7bdde0009da443fe5e6280ba62fc41"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Tue Jul 02 01:00:29 2013 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Tue Jul 02 01:00:29 2013 -0700"
      },
      "message": "changes from loxigen e8e6401509\n"
    },
    {
      "commit": "6d94d0b07c7bdde0009da443fe5e6280ba62fc41",
      "tree": "b107414b0231d0ed48783e95e55f912e19a43a26",
      "parents": [
        "ee0e680afbb7e22f9a7a7f12c575f02dd9ee65a3",
        "4c504f32da9ba180c1091a631063a567fbb921ae"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Jun 18 12:14:17 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Jun 18 12:14:17 2013 -0700"
      },
      "message": "Merge branch \u0027testutils\u0027\n"
    },
    {
      "commit": "4c504f32da9ba180c1091a631063a567fbb921ae",
      "tree": "b107414b0231d0ed48783e95e55f912e19a43a26",
      "parents": [
        "ee0e680afbb7e22f9a7a7f12c575f02dd9ee65a3"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Jun 07 17:24:14 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Jun 07 17:24:14 2013 -0700"
      },
      "message": "testutils: add verify_packet_in and verify_no_packet_in\n\nChecking that the controller received a packet-in message is surprisingly\ncomplicated to do correctly. Because the switch may send unexpected packet-ins\n(Linux IP stack on IVS\u0027s OFPP_LOCAL, for example) each test needs logic to\nmatch the packet data, in_port, etc to figure out if this is the packet-in\nmessage it\u0027s looking for.\n\nThis change adds two testutils functions that automate this, and replaces all\nthe other implementations in tests.\n"
    },
    {
      "commit": "ee0e680afbb7e22f9a7a7f12c575f02dd9ee65a3",
      "tree": "b313b01330a8233d1bf0ad425e6e9e0a9104d266",
      "parents": [
        "90c961cc991ede8a34b1f54fe0d51616c5192a2a",
        "0f79bee9bf70d9aeec814b8b55638a9da7c5ede5"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 14 09:29:20 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 14 09:29:20 2013 -0700"
      },
      "message": "Merge branch \u0027fix-1.2\u0027\n"
    },
    {
      "commit": "0f79bee9bf70d9aeec814b8b55638a9da7c5ede5",
      "tree": "b313b01330a8233d1bf0ad425e6e9e0a9104d266",
      "parents": [
        "cfff0ae6a9237e93b042b4b00b603d1f6c367eaa"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon May 13 17:37:43 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 14 09:28:45 2013 -0700"
      },
      "message": "parse: remove ipaddr dependency\n"
    },
    {
      "commit": "cfff0ae6a9237e93b042b4b00b603d1f6c367eaa",
      "tree": "b2675a27e69bf3eec2321ff7f9861fd417a4fe5e",
      "parents": [
        "97b61c1622c62ce1df2cf2f95b3665b6dd30255f"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 07 15:49:10 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 14 09:28:45 2013 -0700"
      },
      "message": "ipv6-1.2: mechanical pyloxi update\n"
    },
    {
      "commit": "97b61c1622c62ce1df2cf2f95b3665b6dd30255f",
      "tree": "87f6ac815b9f387b71cf01094c716374d34ee0e8",
      "parents": [
        "36414bae77591e352801af519aeef8eedd16a52d"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 07 15:32:41 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 14 09:28:44 2013 -0700"
      },
      "message": "flow_mods-1.2: pyloxi update\n"
    },
    {
      "commit": "36414bae77591e352801af519aeef8eedd16a52d",
      "tree": "04495ef0b1aba5a50fa4001889ad8c96b9a2ba81",
      "parents": [
        "48e447eccedce64a06ac4496240dfe7655ddb09c"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 07 15:01:57 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 14 09:28:44 2013 -0700"
      },
      "message": "groups-1.2: improve assertions\n"
    },
    {
      "commit": "48e447eccedce64a06ac4496240dfe7655ddb09c",
      "tree": "11b547d0a0caa11d727a1824baeb4c0368e4aa23",
      "parents": [
        "4b5537fd27df7347765176462e8d9f5f0ef537b3"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 07 15:23:35 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 14 09:28:44 2013 -0700"
      },
      "message": "groups-1.2: mechanical pyloxi update\n"
    },
    {
      "commit": "4b5537fd27df7347765176462e8d9f5f0ef537b3",
      "tree": "44c4d9d45a9d20704b0d9cab9d7b6b3bce2d65a2",
      "parents": [
        "18c9fede374197a45f08b98ef200732ffb2f2a66"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 07 15:23:26 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 14 09:28:44 2013 -0700"
      },
      "message": "basic-1.2: mechanical pyloxi update\n"
    },
    {
      "commit": "18c9fede374197a45f08b98ef200732ffb2f2a66",
      "tree": "c06c83e378e208b70c269d6604e9ed6a976e4abe",
      "parents": [
        "b62555192601d28d05be8afcb0c1a47474b3862d"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 07 15:22:53 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 14 09:28:44 2013 -0700"
      },
      "message": "oft12: mechanical pyloxi update\n"
    },
    {
      "commit": "b62555192601d28d05be8afcb0c1a47474b3862d",
      "tree": "f0e799408c0ced4f0e7cf7fd7c097e6f968987f7",
      "parents": [
        "7094ff189a698d3fba0807aaf4ccb58b14751e9f"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 07 14:58:43 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 14 09:28:44 2013 -0700"
      },
      "message": "parse: support OF 1.2\n"
    },
    {
      "commit": "7094ff189a698d3fba0807aaf4ccb58b14751e9f",
      "tree": "4af9c249ebd0361b9cdafab7ef5182b9d9b51ea7",
      "parents": [
        "90c961cc991ede8a34b1f54fe0d51616c5192a2a"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 07 14:57:53 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 14 09:28:44 2013 -0700"
      },
      "message": "controller: log more usefully when checking message queue\n"
    },
    {
      "commit": "90c961cc991ede8a34b1f54fe0d51616c5192a2a",
      "tree": "b3e9825b5b75104c93a88dade49deb3bd1ea3d20",
      "parents": [
        "ca3da2718e04b04dd8f2b2fb9db434e7a24a6638"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 14 09:26:50 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue May 14 09:26:50 2013 -0700"
      },
      "message": "import pyloxi @ c0659ad95fd4fb48e670985b4e91f553da55995b\n"
    },
    {
      "commit": "ca3da2718e04b04dd8f2b2fb9db434e7a24a6638",
      "tree": "b62ab82161f6f3928b6ae1f678b8405f04849cf3",
      "parents": [
        "509fa239f5f6208f219f78f80cec4027e48dc61a"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Sun May 05 09:07:33 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Sun May 05 09:07:33 2013 -0700"
      },
      "message": "add missing pyloxi files\n"
    },
    {
      "commit": "509fa239f5f6208f219f78f80cec4027e48dc61a",
      "tree": "9568ccb5ba2d6ef5a74ff5ea14dc5e94f1a2ee8c",
      "parents": [
        "c4ab0beb2464abf5e29aa102c61ab0de257ed087",
        "74b13d1f5613e00b759428b0cbf30a5d730a3734"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Sun May 05 01:48:28 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Sun May 05 01:48:28 2013 -0700"
      },
      "message": "Merge pull request #50 from rlane/basic-1.3\n\nSupport for OpenFlow 1.3 tests"
    },
    {
      "commit": "74b13d1f5613e00b759428b0cbf30a5d730a3734",
      "tree": "9568ccb5ba2d6ef5a74ff5ea14dc5e94f1a2ee8c",
      "parents": [
        "1ab6f83ca994c42033e066ca6329ff043b82c79e"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri May 03 17:58:50 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri May 03 17:58:50 2013 -0700"
      },
      "message": "oft: compute default test dir based on OF version\n"
    },
    {
      "commit": "1ab6f83ca994c42033e066ca6329ff043b82c79e",
      "tree": "964f2554e7d86e91b1b2e45766f385c090b12d34",
      "parents": [
        "f3bc48c2db2e0e15d188faf76ef00cddf63c7895"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri May 03 17:51:35 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri May 03 17:51:35 2013 -0700"
      },
      "message": "of13: add basic.Echo\n"
    },
    {
      "commit": "f3bc48c2db2e0e15d188faf76ef00cddf63c7895",
      "tree": "ede8dcdb42b188e231f59101cc1bc96530b08d25",
      "parents": [
        "50cfa508a71a5603544739d815969aa3d06037d6"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri May 03 17:39:35 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri May 03 17:48:41 2013 -0700"
      },
      "message": "testutils: avoid using constants not defined for the current OpenFlow version\n"
    },
    {
      "commit": "50cfa508a71a5603544739d815969aa3d06037d6",
      "tree": "c27b3fe9df6f779c273c358c9005898d35755bdb",
      "parents": [
        "542b959acb62df4cb5b686475acbf6a4e78c41fd"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Apr 25 13:45:08 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri May 03 17:47:27 2013 -0700"
      },
      "message": "oft: use pyloxi version map\n"
    },
    {
      "commit": "542b959acb62df4cb5b686475acbf6a4e78c41fd",
      "tree": "4693aea68a8b6dd4c22375b0b26ebd1636a83162",
      "parents": [
        "c2ee4b8544783535160cedee206f5c1179f43b58"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Apr 25 09:32:59 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri May 03 17:43:05 2013 -0700"
      },
      "message": "flow_stats: remove references to padding\n"
    },
    {
      "commit": "c2ee4b8544783535160cedee206f5c1179f43b58",
      "tree": "60df8edda08fbc6b9f4db208d05e540cf736a1ef",
      "parents": [
        "c4ab0beb2464abf5e29aa102c61ab0de257ed087"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Apr 24 17:12:38 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri May 03 17:41:49 2013 -0700"
      },
      "message": "import pyloxi @ 56db3af912fd38fe3789e7629a823788b94f463d\n"
    },
    {
      "commit": "c4ab0beb2464abf5e29aa102c61ab0de257ed087",
      "tree": "949bec31dc8d7b2553bcf22ca392ca1290021470",
      "parents": [
        "377e74763eafedde3efaef92ffa4e954ee2e939c",
        "7071cf14dc17dd23214033349f8d08dfe15ca667"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Tue Apr 16 11:43:25 2013 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Tue Apr 16 11:43:25 2013 -0700"
      },
      "message": "Merge pull request #48 from floodlight/det-monitor-pkt-in\n\nTest to monitor and report packet-in rate.  Disabled by default as it is \"blocking\".  Note that this only supports a single controller (determined by the command line parameters)."
    },
    {
      "commit": "7071cf14dc17dd23214033349f8d08dfe15ca667",
      "tree": "bb507c73e53ac7974a46d90a3702ddb355f342e9",
      "parents": [
        "7e45412a921a3b7220b86d366048e27aeb395b62"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Tue Apr 16 11:02:13 2013 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Tue Apr 16 11:02:13 2013 -0700"
      },
      "message": "Minor updates for pkt in monitoring\n\nResponse to comment for rename of packet count\nClarified periodic_task name\nIndentation\n"
    },
    {
      "commit": "377e74763eafedde3efaef92ffa4e954ee2e939c",
      "tree": "6280768286e67ac7c58b51e7c7531203d4e7f6a8",
      "parents": [
        "ea8c472f36be65f3a8f2d9a3f76c231e12524780",
        "9c49160e407d2edd96e156dcf389d297e7443112"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Mon Apr 15 18:12:48 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Mon Apr 15 18:12:48 2013 -0700"
      },
      "message": "Merge pull request #49 from rlane/flow-removed-load\n\nFlow removed load test"
    },
    {
      "commit": "9c49160e407d2edd96e156dcf389d297e7443112",
      "tree": "6280768286e67ac7c58b51e7c7531203d4e7f6a8",
      "parents": [
        "d929b8d132dd8ed000f9a6d331e39d25303310e6"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Apr 15 16:00:46 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Apr 15 16:00:46 2013 -0700"
      },
      "message": "add load.FlowRemovedLoad\n"
    },
    {
      "commit": "d929b8d132dd8ed000f9a6d331e39d25303310e6",
      "tree": "90194b8e5343ef7ee18984a9c89d6bd7bb893c4b",
      "parents": [
        "ea8c472f36be65f3a8f2d9a3f76c231e12524780"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Apr 15 15:59:14 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Apr 15 15:59:14 2013 -0700"
      },
      "message": "controller: prevent switch from reconnecting\n\nIf a switch disconnects during a test we want to make sure we catch it.\n"
    },
    {
      "commit": "7e45412a921a3b7220b86d366048e27aeb395b62",
      "tree": "93fec9abb7ab7514a8269e03468ec14adf8d99c3",
      "parents": [
        "dd6b6ffabf26a9d5338c50093c30b89aae0f7edf"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Fri Apr 12 08:22:42 2013 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Fri Apr 12 08:22:42 2013 -0700"
      },
      "message": "Added packet-in monitor test case\n\nThis test case starts the controller connection with keep-alive.\nIt then polls the controller to count packet in messages.  It\nreports the number of messages received about every second.\n"
    },
    {
      "commit": "dd6b6ffabf26a9d5338c50093c30b89aae0f7edf",
      "tree": "61b7168a0cc43b87252a6c8d6d8d28fc95edd3fa",
      "parents": [
        "ea8c472f36be65f3a8f2d9a3f76c231e12524780"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Fri Apr 12 08:20:18 2013 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Fri Apr 12 08:20:18 2013 -0700"
      },
      "message": "Support counting pkt-in msgs in controller\n\nCount pkt-in messages as they are received\nAllow the message queue to be cleared with new clear_queue fn\nAlso small bug fix: deref null exp_msg\n"
    },
    {
      "commit": "ea8c472f36be65f3a8f2d9a3f76c231e12524780",
      "tree": "d5086d9c905b3d20e047c482eed3f571756e3730",
      "parents": [
        "ff637c9fc8949913789b930a70ad7ec8bcc4bbff"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Apr 04 15:30:20 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Apr 04 15:30:20 2013 -0700"
      },
      "message": "explictly set buffer_id for packet-out messages\n\nThe old pylibopenflow library did this by default, but PyLoxi initializes that\nfield to zero.\n"
    },
    {
      "commit": "ff637c9fc8949913789b930a70ad7ec8bcc4bbff",
      "tree": "1a2d4ea55212e3e66c17170aab51ce536ddbe858",
      "parents": [
        "5252a51958f8f6c356083a2b386dbc9497ae986b"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Apr 04 13:57:09 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Apr 04 13:57:09 2013 -0700"
      },
      "message": "Revert \"Packet out buffer id should be -1 when there is no buffer\"\n\nThis reverts commit 4d89266604bf4bd6ad18832475f6c7dbaf84b288.\n"
    },
    {
      "commit": "5252a51958f8f6c356083a2b386dbc9497ae986b",
      "tree": "12d260600d8c390162739fcc1907be90741fa33a",
      "parents": [
        "f345bd3fbdb4b79f5114ababdc8abc665d81ec27"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Apr 04 13:19:22 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Apr 04 13:19:22 2013 -0700"
      },
      "message": "nicira_role: add module description\n"
    },
    {
      "commit": "f345bd3fbdb4b79f5114ababdc8abc665d81ec27",
      "tree": "040b2dda3fbf221cb99b6f3ecdda3336c9e309ff",
      "parents": [
        "4d89266604bf4bd6ad18832475f6c7dbaf84b288",
        "2c232ca88b107494c4517600cc27d56821c57cbb"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Apr 04 13:16:17 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Apr 04 13:16:17 2013 -0700"
      },
      "message": "Merge branch \u0027nicira-role\u0027\n"
    },
    {
      "commit": "2c232ca88b107494c4517600cc27d56821c57cbb",
      "tree": "a700a86f137799686e49cae8714361f84577e45f",
      "parents": [
        "cf5dbde67f17fc84866310f8c5f89f604f70ddba"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Mar 28 16:53:09 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Mar 28 16:53:09 2013 -0700"
      },
      "message": "nicira_role: add EqualAsyncMessages test\n\nRequires special switch configuration.\n"
    },
    {
      "commit": "cf5dbde67f17fc84866310f8c5f89f604f70ddba",
      "tree": "70f80cac2bba82bc9b3aa05ddb48551601e24bda",
      "parents": [
        "13c91598220c4ab6da1431a43ee4a8ccf0a7c0e2"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Mar 28 13:53:05 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Mar 28 13:55:42 2013 -0700"
      },
      "message": "nicira_role: add RoleSwitch test\n\nThis test has to be disabled by default because it requires special switch\nconfiguration.\n"
    },
    {
      "commit": "13c91598220c4ab6da1431a43ee4a8ccf0a7c0e2",
      "tree": "faa08aac4324b34b95d5ef0e1cfbb28aed7f1a0c",
      "parents": [
        "f41eea60ecf9ed9efcfebf789a105c517c107a8b"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Mar 27 17:03:56 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Mar 28 11:46:43 2013 -0700"
      },
      "message": "nicira_role: add a test for packet-in\n"
    },
    {
      "commit": "f41eea60ecf9ed9efcfebf789a105c517c107a8b",
      "tree": "fd8530431b2abdba07f2b2ce85f635201fe53275",
      "parents": [
        "cb816fd389a9a51d847e102ac3297baf45ee0a87"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Mar 27 16:05:43 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Mar 27 17:17:06 2013 -0700"
      },
      "message": "nicira_role: add test for permissions checking\n"
    },
    {
      "commit": "cb816fd389a9a51d847e102ac3297baf45ee0a87",
      "tree": "549e6435ed6b477f8c1ba81b977c7b7455c7791f",
      "parents": [
        "161290852a49dda9c282746efdf4b15f4a980baa"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 26 21:53:47 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Mar 27 17:16:40 2013 -0700"
      },
      "message": "nicira_role: rename and expand test for any reply\n"
    },
    {
      "commit": "4d89266604bf4bd6ad18832475f6c7dbaf84b288",
      "tree": "9c3d691b194d87057e7f1490d4cf31c7fe6d6fd4",
      "parents": [
        "e0cbba0975c409babbe032b1b5c03a1144d628d0"
      ],
      "author": {
        "name": "Shudong Zhou",
        "email": "shudongzhou@gmail.com",
        "time": "Tue Mar 19 00:49:14 2013 -0700"
      },
      "committer": {
        "name": "Shudong Zhou",
        "email": "shudongzhou@gmail.com",
        "time": "Tue Mar 19 00:49:14 2013 -0700"
      },
      "message": "Packet out buffer id should be -1 when there is no buffer\n"
    },
    {
      "commit": "e0cbba0975c409babbe032b1b5c03a1144d628d0",
      "tree": "6e7dc44c7f19c6be34f990f64c0fb0d3628d7ab2",
      "parents": [
        "7fe09af8158fb84d522504a960e4082181d56af3",
        "ec6084d660ea143dc64e5852b7d6984a0c8b7d75"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Fri Mar 15 08:45:08 2013 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Fri Mar 15 08:45:08 2013 -0700"
      },
      "message": "Merge pull request #44 from floodlight/report-random\n\nReport random seed in log even when not specified"
    },
    {
      "commit": "7fe09af8158fb84d522504a960e4082181d56af3",
      "tree": "ad900d08e98a7bbe705348558cacdb033da81872",
      "parents": [
        "161290852a49dda9c282746efdf4b15f4a980baa",
        "a651b10d01fa25c70d13b79aefe3416a081d305e"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Thu Mar 14 19:43:06 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "lanerl@gmail.com",
        "time": "Thu Mar 14 19:43:06 2013 -0700"
      },
      "message": "Merge pull request #45 from yamahata/delete-munger\n\nDEVELOPING: remove description on tools/munger"
    },
    {
      "commit": "a651b10d01fa25c70d13b79aefe3416a081d305e",
      "tree": "ad900d08e98a7bbe705348558cacdb033da81872",
      "parents": [
        "161290852a49dda9c282746efdf4b15f4a980baa"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Fri Mar 15 10:42:10 2013 +0900"
      },
      "committer": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Fri Mar 15 10:42:10 2013 +0900"
      },
      "message": "DEVELOPING: remove description on tools/munger\n\nSince the changeset of be8503a69d609d0aee844a91f3f5d66f4e2666c7\nremoved tools/munger directory entirely, those description is stale.\n\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\n"
    },
    {
      "commit": "ec6084d660ea143dc64e5852b7d6984a0c8b7d75",
      "tree": "8d65cc2ff284321a336c67315d9f28c564f6ddae",
      "parents": [
        "161290852a49dda9c282746efdf4b15f4a980baa"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Thu Mar 14 10:38:22 2013 -0700"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Thu Mar 14 10:38:22 2013 -0700"
      },
      "message": "Report random seed in log even when not specified\n"
    },
    {
      "commit": "161290852a49dda9c282746efdf4b15f4a980baa",
      "tree": "34274d4900f786505e553edbc20de686953b9178",
      "parents": [
        "537247359caf0f7ad204d0fc1add4a48efe525a8",
        "de1a5278ee9f3c3be1f3e5cef1e1aef3ac482002"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 14:58:41 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 14:58:41 2013 -0700"
      },
      "message": "Merge branch \u0027pyloxi\u0027\n"
    },
    {
      "commit": "de1a5278ee9f3c3be1f3e5cef1e1aef3ac482002",
      "tree": "34274d4900f786505e553edbc20de686953b9178",
      "parents": [
        "3f7098c6ff7932ee35fca6ca2e25a911e69e876d"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:29:08 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:29:30 2013 -0700"
      },
      "message": "remove of11 and of12 modules\n\nOF 1.1+ support is broken until we add it to PyLoxi.\n"
    },
    {
      "commit": "3f7098c6ff7932ee35fca6ca2e25a911e69e876d",
      "tree": "d808e8f3b4820150bc4bede1f9567433f8215ce8",
      "parents": [
        "e717c6ec92edba03c453a4204a788d7c22ab47bd"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:28:32 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:29:30 2013 -0700"
      },
      "message": "use loxi.protocol to import the correct module\n"
    },
    {
      "commit": "e717c6ec92edba03c453a4204a788d7c22ab47bd",
      "tree": "9bfebeabb40d36dfa30206c71a122e9f24a7ae9b",
      "parents": [
        "be8503a69d609d0aee844a91f3f5d66f4e2666c7"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:25:50 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:29:30 2013 -0700"
      },
      "message": "use generic ofp import\n"
    },
    {
      "commit": "be8503a69d609d0aee844a91f3f5d66f4e2666c7",
      "tree": "a79380b64318379465ab98999830ff59d9b32a7a",
      "parents": [
        "75a3641110a63c03239b1a706409035283aeb7a8"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:16:33 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:29:30 2013 -0700"
      },
      "message": "remove pylibopenflow tools\n"
    },
    {
      "commit": "75a3641110a63c03239b1a706409035283aeb7a8",
      "tree": "b279b00af152168844fa67aa09ad35a7cff11075",
      "parents": [
        "efdc2c5e3c8e8f2f2222d9c3ade7e1ab799dead2"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:16:07 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:29:30 2013 -0700"
      },
      "message": "remove of10\n"
    },
    {
      "commit": "efdc2c5e3c8e8f2f2222d9c3ade7e1ab799dead2",
      "tree": "64bf32c837531c48c6b495cde2751f5026495778",
      "parents": [
        "b658dddb70833c6a12daeba71ab51ddc754683ab"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:15:45 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:29:30 2013 -0700"
      },
      "message": "oft: use pyloxi\n"
    },
    {
      "commit": "b658dddb70833c6a12daeba71ab51ddc754683ab",
      "tree": "e03a9cbad7f7d43b06b295622cd296860e7f4c5f",
      "parents": [
        "4b6014513c2b27cedc2f2d0935560b32d64448be"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:15:10 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:29:30 2013 -0700"
      },
      "message": "import pyloxi @ 39ed7a3\n"
    },
    {
      "commit": "4b6014513c2b27cedc2f2d0935560b32d64448be",
      "tree": "28fd53200625a444d819c299cfb34f322188e719",
      "parents": [
        "032669d657a6eed33d37fb1814e512d16ebb7606"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 23:37:06 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:29:30 2013 -0700"
      },
      "message": "loxi-prep: rewrite vendor tests to use pyloxi message classes\n"
    },
    {
      "commit": "032669d657a6eed33d37fb1814e512d16ebb7606",
      "tree": "f72d393934b0305ac941dd75649cee6803b691cf",
      "parents": [
        "231cab83e8a07f6159c2cdcdedd80063ef4d154c"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 23:36:28 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:06:32 2013 -0700"
      },
      "message": "loxi-prep: singleton stats replies do not use arrays\n"
    },
    {
      "commit": "231cab83e8a07f6159c2cdcdedd80063ef4d154c",
      "tree": "79673af8ceb2806c43feff3ac6166cb72c691122",
      "parents": [
        "b659c76827fc6cc6b1c07712fa054af310939aad"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 23:08:58 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:04:41 2013 -0700"
      },
      "message": "loxi-prep: disable buggy HelloWithBody test\n\nThis test was not actually doing the HELLO handshake - when it polled the\ncontroller it got back the initial hello from the switch. The test would need\nto be rewritten to do more of controller.py\u0027s work itself.\n\nAlso, PyLoxi does not have a data field for hello messages.\n"
    },
    {
      "commit": "b659c76827fc6cc6b1c07712fa054af310939aad",
      "tree": "3d18103dafedc767012413ef9f4f17f187b2cbf0",
      "parents": [
        "f9f6b513958532cd3681ffa0912b0fbb32f3d752"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 23:08:36 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:04:40 2013 -0700"
      },
      "message": "loxi-prep: change vendor tests to use action classes from pyloxi\n"
    },
    {
      "commit": "f9f6b513958532cd3681ffa0912b0fbb32f3d752",
      "tree": "31b2131d728389245d92968123ea8225864177f5",
      "parents": [
        "0237baf6057179131cc929af1cee4e46667b76a0"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 22:35:28 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:04:30 2013 -0700"
      },
      "message": "loxi-prep: get OFPT_ERROR from the correct module\n"
    },
    {
      "commit": "0237baf6057179131cc929af1cee4e46667b76a0",
      "tree": "03f230bf6dddd94ea0bab08bf171ad1ba1f18bff",
      "parents": [
        "e6b794f4ac4cbe0bea1c312e5135e0cc29227fec"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 22:34:59 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:04:30 2013 -0700"
      },
      "message": "loxi-prep: rename users of ofp_match\n"
    },
    {
      "commit": "e6b794f4ac4cbe0bea1c312e5135e0cc29227fec",
      "tree": "b53add1e66c3a9541c4bba155151c4ee744092ae",
      "parents": [
        "768ef9535dde3bdce651092ab80cd212dc0489e9"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 22:32:19 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:04:30 2013 -0700"
      },
      "message": "loxi-prep: remove action_ prefix from more users\n"
    },
    {
      "commit": "768ef9535dde3bdce651092ab80cd212dc0489e9",
      "tree": "7a26ec9a0bd503590077e45e8f86bfa586d56841",
      "parents": [
        "1879dc74881a84e324aebfa5a6b33e8605e3ec18"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 22:31:28 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:04:30 2013 -0700"
      },
      "message": "loxi_prep: remove illegal_message_type dependency on pylibopenflow internals\n"
    },
    {
      "commit": "1879dc74881a84e324aebfa5a6b33e8605e3ec18",
      "tree": "24bc003245743124713ccba053d46aac5c65151f",
      "parents": [
        "c7b85d2cdfade2a5b9af25fe4283a18a4de7e811"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 22:08:51 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:04:30 2013 -0700"
      },
      "message": "loxi-prep: always handle missing entry in type map\n"
    },
    {
      "commit": "c7b85d2cdfade2a5b9af25fe4283a18a4de7e811",
      "tree": "728a57ea8dd3828be38460b129c4d713562f41cd",
      "parents": [
        "1622bbb4cab39b4d10f8a4c0c389ea08e1f46bb2"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 17:55:20 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:04:30 2013 -0700"
      },
      "message": "loxi-prep: remove import compatibility\n"
    },
    {
      "commit": "1622bbb4cab39b4d10f8a4c0c389ea08e1f46bb2",
      "tree": "17ae59eb625aa897f641a2719c5dbb23e7fb9129",
      "parents": [
        "f688351915a755359bde9dffc1e7ac5cb2d8e440"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 17:11:53 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:04:30 2013 -0700"
      },
      "message": "loxi-prep: change parse_header to return a tuple\n"
    },
    {
      "commit": "f688351915a755359bde9dffc1e7ac5cb2d8e440",
      "tree": "1cb2047ad9a2656cbbcf206d60631a0752f27f51",
      "parents": [
        "06c17984b4144e9b2d9b0071380ae25fc8caa84d"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 17:00:09 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 11:04:27 2013 -0700"
      },
      "message": "loxi-prep: move message parsing to ofp.message\n"
    },
    {
      "commit": "06c17984b4144e9b2d9b0071380ae25fc8caa84d",
      "tree": "da2dd62d4d332e41924c65478ccc30a5504b9cef",
      "parents": [
        "ba3f0e2ebbe7b4f933c725e33b861895ad8f16d3"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 16:47:52 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "loxi-prep: move parse.py to oftest module\n"
    },
    {
      "commit": "ba3f0e2ebbe7b4f933c725e33b861895ad8f16d3",
      "tree": "2e2ebffefbe8152022bf43414cf71a5dfe265f09",
      "parents": [
        "8fbfd66c4033bb81694a8d1b80a50f8125f53ae6"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 16:43:57 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "loxi-prep: subtype flow_mod classes\n"
    },
    {
      "commit": "8fbfd66c4033bb81694a8d1b80a50f8125f53ae6",
      "tree": "c42575569e2481c4caed37d856b0368410cb6648",
      "parents": [
        "b73808cc3c603f1ff3cccf225c71ff2e76313308"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 15:30:44 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "loxi-prep: default xid to None\n"
    },
    {
      "commit": "b73808cc3c603f1ff3cccf225c71ff2e76313308",
      "tree": "edf0dbed9a42596406cfe4b813d542b9faa21c39",
      "parents": [
        "7c7342aacc146b200e3c4def63c5280ed7adb4b9"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 15:22:23 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "loxi-prep: move header fields into the message classes\n"
    },
    {
      "commit": "7c7342aacc146b200e3c4def63c5280ed7adb4b9",
      "tree": "a8c2c9f4e92e0a5efb278b579d882d6e42a6120b",
      "parents": [
        "4e361bb5b280268aab5cab94fadfc01e0d94555e"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 14:16:58 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "loxi-prep: rename stats request/type field \u0027type\u0027 to \u0027stats_type\u0027\n"
    },
    {
      "commit": "4e361bb5b280268aab5cab94fadfc01e0d94555e",
      "tree": "6356f6026aca8ee507872c449278ab1f3cbb7d50",
      "parents": [
        "5fd6faf673cf448933155ad43b9933bf47764e2c"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 13:57:31 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "loxi-prep: rename error \u0027type\u0027 field to \u0027err_type\u0027\n"
    },
    {
      "commit": "5fd6faf673cf448933155ad43b9933bf47764e2c",
      "tree": "bbc14104f80992cec281e1e0a9dced8ab64de43d",
      "parents": [
        "d0478ff69b4be47852e98e663e78c4627202bb2a"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 13:30:20 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "loxi-prep: rename stats reply \u0027stats\u0027 field to \u0027entries\u0027 to match PyLoxi\n"
    },
    {
      "commit": "d0478ff69b4be47852e98e663e78c4627202bb2a",
      "tree": "0983639c1c2d761345b866a8909ff5a0560a96c1",
      "parents": [
        "5b44ab4d048a93acce528280b54fd572766b75f6"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 12:46:58 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "loxi-prep: rename uses of match fields\n"
    },
    {
      "commit": "5b44ab4d048a93acce528280b54fd572766b75f6",
      "tree": "bfd04b97d4f5b38c97d25eb636b54c8547bd76e2",
      "parents": [
        "62e96859803556d799992732d09183fe2a346a80"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 12:37:45 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "loxi-prep: rename match fields to match pyloxi\n"
    },
    {
      "commit": "62e96859803556d799992732d09183fe2a346a80",
      "tree": "7a6a44690dda620cb74ec227f21308e48db4de5e",
      "parents": [
        "e6ea3fec5d5cd297848416a65bb77828e4168288"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Mar 11 12:04:45 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "loxi-prep: use plain lists to hold OF actions\n\nSome callsites needed to be changed because they depended on action_list.append\ntaking a shallow copy.\n"
    },
    {
      "commit": "e6ea3fec5d5cd297848416a65bb77828e4168288",
      "tree": "bd2cc6ddcfd1fd2bf3d6331f1a9f32dacc9da9fb",
      "parents": [
        "7d40efa71354bc2273f1233c78fce4a09b70e092"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Mar 08 17:54:38 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "action_list: remove show method\n\nAlso adds __iter__ so we can use an action_list as a sequence.\n"
    },
    {
      "commit": "7d40efa71354bc2273f1233c78fce4a09b70e092",
      "tree": "5ecb6579a2821268c0fb095a5e85db4937d3c3ba",
      "parents": [
        "c495d9e91e8a3a27399654e767afbb3c6f158595"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Mar 08 17:46:13 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "action_list: remove unused methods\n"
    },
    {
      "commit": "c495d9e91e8a3a27399654e767afbb3c6f158595",
      "tree": "df9334b3bc16a82974155749243fcb0ad6202e9e",
      "parents": [
        "9d3cc6bb3fc93d18631784a7eb858f6a0b8cbf9f"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Mar 08 17:43:36 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "loxi-prep: rename action_list.add to append\n\nFor consistency with the list type.\n"
    },
    {
      "commit": "9d3cc6bb3fc93d18631784a7eb858f6a0b8cbf9f",
      "tree": "f2c37387251df5a102b5d7c1af6776688ee8de86",
      "parents": [
        "28fa927a64e367d2fa0c8d2f300e2f7963d98127"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Mar 08 16:33:08 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:56 2013 -0700"
      },
      "message": "loxi-prep: remove action_ prefix from callers\n"
    },
    {
      "commit": "28fa927a64e367d2fa0c8d2f300e2f7963d98127",
      "tree": "c7799042196181bf14fbee14bbffcfa62a8fa1f2",
      "parents": [
        "d7b0ffabfde4d7b10fc34d91b79b9fd9638c8760"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Mar 08 16:00:25 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 10:45:50 2013 -0700"
      },
      "message": "loxi-prep: access message/action modules through the ofp module\n"
    }
  ],
  "next": "d7b0ffabfde4d7b10fc34d91b79b9fd9638c8760"
}
