)]}'
{
  "log": [
    {
      "commit": "4d1f3eb2c792f679ccc05ab2aae1af1c97182b52",
      "tree": "0aabc9727dc8c90eacdc665fc7f1c4e370e268fb",
      "parents": [
        "07c1cc72b66a60b6fa69d767c44a31b36cc2501c"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Oct 03 13:45:57 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Oct 04 12:50:44 2013 -0700"
      },
      "message": "oft: change default port to 6653\n\n6653 is the IANA assigned port number.\n"
    },
    {
      "commit": "c41fbece667088409d6ebce617f5ac2f03cf1dfb",
      "tree": "ac726eba612562610c3db95a006574f99b125baf",
      "parents": [
        "04d32f9f165b11b1379c2ca3a0ad72fc4997fb73"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Oct 02 00:27:59 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Oct 02 00:27:59 2013 -0700"
      },
      "message": "testutils: fix flow_match_test when exp_pkt is None\n\nThis fixes a bug introduced in e4b384df, which removed code it shouldn\u0027t have.\n\nReported by Tony van der Peet.\n"
    },
    {
      "commit": "8f45e2dc7666ef5bd04a80b0bb147d673104d0c2",
      "tree": "c4853a76ecb207097e0d12404cd861a48bdf2363",
      "parents": [
        "e4b384df950b553313a628ef9c37cba455ba8243"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Oct 01 16:06:54 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Oct 01 16:06:54 2013 -0700"
      },
      "message": "testutils: use idiomatic ternary operator in flow match tests functions\n"
    },
    {
      "commit": "e4b384df950b553313a628ef9c37cba455ba8243",
      "tree": "6860128c143570f0007b2a13b65835ccf4db81c7",
      "parents": [
        "9f2f17e6715531ed1a750f09f1718f4aa40f8bec"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Sep 13 14:33:40 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Sep 30 13:37:41 2013 -0700"
      },
      "message": "testutils: add new functions to check for dataplane packets\n\n`receive_pkt_check` and `receive_pkt_verify` had slightly different\nfunctionality and neither were sufficient for complex tests. This change\ndeprecates them and adds new functions.\n\nThe high level `verify_packets` function is sufficient for most tests. When\nmore complex logic is needed the primitive functions `verify_packet`,\n`verify_no_packet`, and `verify_no_other_packets` should be used directly.\n\nAll OpenFlow 1.0/1.3 tests are updated to use the new functions. The old\nfunctions are left around for compatibility with out of tree tests.\n"
    },
    {
      "commit": "9f2f17e6715531ed1a750f09f1718f4aa40f8bec",
      "tree": "aac0fff4fbc6b8b51dc262d52685e865bb998305",
      "parents": [
        "1b50442ab6daea4969695001bd1447443d538e65"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Sep 13 13:19:37 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Sep 30 13:37:40 2013 -0700"
      },
      "message": "testutils: fix undefined variable in packet_in_match\n"
    },
    {
      "commit": "150d8b02576596502a3c2369becb0a086f9c9f85",
      "tree": "441bab2327fef0c4fd3cd5b311711c06d5661ab1",
      "parents": [
        "ae8fbf12408c7c5dce2b48c40b8595fbd8a74636"
      ],
      "author": {
        "name": "Kiran Poola",
        "email": "kiran.poola@bigswitch.com",
        "time": "Fri Sep 20 13:30:39 2013 -0700"
      },
      "committer": {
        "name": "Kiran Poola",
        "email": "kiran.poola@bigswitch.com",
        "time": "Fri Sep 20 13:30:39 2013 -0700"
      },
      "message": "Reorganized virtual port interface name in vport create message.\n"
    },
    {
      "commit": "ae8fbf12408c7c5dce2b48c40b8595fbd8a74636",
      "tree": "1edd893fa88f38dbbec5a898ae2f7c981dfda958",
      "parents": [
        "13e9800ede52b01855008f438479d54f2f77e4af"
      ],
      "author": {
        "name": "Kiran Poola",
        "email": "kiran.poola@bigswitch.com",
        "time": "Thu Sep 19 16:32:32 2013 -0700"
      },
      "committer": {
        "name": "Kiran Poola",
        "email": "kiran.poola@bigswitch.com",
        "time": "Thu Sep 19 16:32:32 2013 -0700"
      },
      "message": "Support for specifying interface name while creating virtual port.\n"
    },
    {
      "commit": "472aaea288edad9d16f33a0800af74964a8a5748",
      "tree": "3441a0672c380034e1d3e229da05feed7c7b9540",
      "parents": [
        "a9e64420edde500743f191735a856d89db34dd2d"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Aug 27 09:27:38 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Aug 27 13:08:19 2013 -0700"
      },
      "message": "use PcapWriter to log dataplane traffic\n\nWhen we write a logfile we\u0027ll also write a pcap file with the extension\nreplaced by \".pcap\". If per-test logging is enabled we\u0027ll open a new pcap file\nfor each test.\n"
    },
    {
      "commit": "a9e64420edde500743f191735a856d89db34dd2d",
      "tree": "3ebde7c643016a11ae4466bb19c2a8f798ff1d9c",
      "parents": [
        "360bcca038a82fa3af0a982095e03e899e55b8dd"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Aug 26 13:56:24 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Aug 26 16:33:59 2013 -0700"
      },
      "message": "pcap_writer: use PPI\n"
    },
    {
      "commit": "360bcca038a82fa3af0a982095e03e899e55b8dd",
      "tree": "4fe3984c57826e466ec1dcdc1e08ec13601fe9af",
      "parents": [
        "69fd8e00e577492589447cf867d9cd6794511858"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Aug 23 17:10:14 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Aug 26 16:33:58 2013 -0700"
      },
      "message": "add a simple pcap file writer\n"
    },
    {
      "commit": "69fd8e00e577492589447cf867d9cd6794511858",
      "tree": "78801fb30c66ae47e8c9d5f60c22834b827a5bb7",
      "parents": [
        "4a905e0663b3befdde8fb53f51e8c9cfafdf7915"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Aug 23 16:23:42 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Aug 23 16:35:30 2013 -0700"
      },
      "message": "per-test logfiles\n\nThe new --log-dir option creates a directory with one log file for every test\n(plus main.log for the oft script). It takes precedence over the --log-file\noption if both are specified.\n\nThe --log-append option and the ability to pass \"-\" or \"stderr\" to --log-file\nhave been removed.\n"
    },
    {
      "commit": "024f9d53ab410ebf052e5169004f97b931516bbf",
      "tree": "75bbc7e9f4406b6938797e58699ceba44b13ac22",
      "parents": [
        "3d22812403307852d1d87044f7c5509760eeab67"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Aug 12 15:56:39 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Aug 12 15:56:39 2013 -0700"
      },
      "message": "add scapy imports to fix packet pretty-printing\n"
    },
    {
      "commit": "3d22812403307852d1d87044f7c5509760eeab67",
      "tree": "b7ae935f3ea12cc040ba21496c9c3e4932f6730f",
      "parents": [
        "d6e79187963be79129748b74dda8e8f5c6f7be13",
        "be4fd42e388c0f9cc9fe5dd549b48228b404a64a"
      ],
      "author": {
        "name": "abat",
        "email": "abat@bigswitch.com",
        "time": "Mon Aug 12 14:58:28 2013 -0700"
      },
      "committer": {
        "name": "abat",
        "email": "abat@bigswitch.com",
        "time": "Mon Aug 12 14:58:28 2013 -0700"
      },
      "message": "Merge into master from pull request #64:\nfix/workaround all pylint errors (https://github.com/floodlight/oftest/pull/64)\n"
    },
    {
      "commit": "fdec0fbf17c8e966ffc783de66d011e9ed809396",
      "tree": "6b0bf2ef3a5fcd059edc91d7f9f4609a8418c52c",
      "parents": [
        "720eaf272b8de1d5ffa810e5f8ec3e6678335931"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Aug 09 18:01:05 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Aug 09 18:01:05 2013 -0700"
      },
      "message": "workaround pylint warnings\n"
    },
    {
      "commit": "720eaf272b8de1d5ffa810e5f8ec3e6678335931",
      "tree": "4ba70a72aeda1a4c147a51562c5593d16fa88297",
      "parents": [
        "a68176f803f56ead0e73ba8aac052e2886b6f2ef"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Aug 09 18:00:45 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Aug 09 18:00:45 2013 -0700"
      },
      "message": "fix bugs found by pylint\n"
    },
    {
      "commit": "a68176f803f56ead0e73ba8aac052e2886b6f2ef",
      "tree": "1485cfa1a449c1c868ec0340e3c14d1ecbcc319e",
      "parents": [
        "2855ef7187e9b2ebd3d2b1b2240aebb277ee1bff"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Aug 09 17:41:05 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Aug 09 17:41:05 2013 -0700"
      },
      "message": "wrap scapy with explicit imports\n\npylint can\u0027t handle scapy\u0027s magical imports.\n"
    },
    {
      "commit": "82c882de48d1c0d6ac0d2ee03944f98dc0cd1adf",
      "tree": "9fac9d58ef10dd03cddc787171db9be43d8e2b67",
      "parents": [
        "2855ef7187e9b2ebd3d2b1b2240aebb277ee1bff"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Aug 09 17:13:52 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Aug 09 17:13:52 2013 -0700"
      },
      "message": "basic-1.3: add basic.DefaultDrop\n"
    },
    {
      "commit": "045db0710e1654dd1fdf0b9c9ecc68f23991ca39",
      "tree": "4fb52a61a67a0e19f35a974820da2e18d8d2e631",
      "parents": [
        "d53156a1ad4889118378c1f07756e2de5b2d38bf"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Aug 06 13:16:30 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Aug 06 13:16:30 2013 -0700"
      },
      "message": "testutils: add openflow_ports()\n\nThis function replaces the common boilerplate code that gets a list of port\nnumbers from the config dictionary and checks that enough ports are available\nfor the test.\n\nI changed the OF 1.3 tests to use this function.\n"
    },
    {
      "commit": "d53156a1ad4889118378c1f07756e2de5b2d38bf",
      "tree": "380fe5040c7d241e87efb4cd81e20bdc8543630e",
      "parents": [
        "b626a9c3bd8f57e1fb86ddc30b1281d359c912c7"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Aug 05 17:17:33 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Aug 05 17:17:33 2013 -0700"
      },
      "message": "update pyloxi to c47bc6facb2869a7833b8694b7a20b3113284d94\n"
    },
    {
      "commit": "3f17dbba1772f56640b0b9fe87b1d2a338d02d9a",
      "tree": "cfd86b7018aacf969308c318f62bb6747e8884fb",
      "parents": [
        "b7dc3e25d8e4c18d54251f8fe2646c1edb7c6ef1"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Jul 19 13:51:37 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Mon Aug 05 16:38:35 2013 -0700"
      },
      "message": "packet_to_flow_match: use OFPVID_PRESENT\n\nThe spec requires OFPVID_PRESENT (the CFI bit) to be included in the vlan_vid\nvalue if matching on a vlan id.\n"
    },
    {
      "commit": "b7dc3e25d8e4c18d54251f8fe2646c1edb7c6ef1",
      "tree": "60ffa04f6be37de602df72c60983846653423723",
      "parents": [
        "748d6381f2d4fa80729417992257a880ca794823"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Aug 02 13:51:06 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Aug 02 13:51:06 2013 -0700"
      },
      "message": "testutils: fix simple_eth_pkt src address\n\nA multicast source MAC address is not valid.\n"
    },
    {
      "commit": "86aceb0ffe948b8afa95a86aaadb85afc5cde0a1",
      "tree": "3247d673528be7f586484f0bcfd0299a6b5afe65",
      "parents": [
        "b9d1f4b860e91a4cabe334f48ba9c933360bf521"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Jul 17 18:45:38 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Wed Jul 17 19:16:45 2013 -0700"
      },
      "message": "testutils: add simple_{tcp,udp,icmp}v6_packet()\n\nThese are simplified and IPv6-ified versions of the existing functions.\n\nAlso added IPv6 packets to the OF 1.3 ethertype tests.\n"
    },
    {
      "commit": "9cef27462230a60f932f5ec24b44171a8833b7de",
      "tree": "87baec03f4a15e01f6c7535d7ccda37ef4bfdb8b",
      "parents": [
        "a8d749119c4ec5751c3d3957d3b73c022f50e02d"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Jul 16 13:27:00 2013 -0700"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Jul 16 13:27:00 2013 -0700"
      },
      "message": "do not attempt to execute base tests\n\nThe OF 1.3 match.MatchTest class was intended to just be a base class, but\nsince it inherits from unittest.TestCase it was being run as a test.\n\nThis change ignores test classes that don\u0027t include a runTest field.\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "d7b0ffabfde4d7b10fc34d91b79b9fd9638c8760",
      "tree": "b3c25f1f914fca05f581636de7739dea995b759b",
      "parents": [
        "537247359caf0f7ad204d0fc1add4a48efe525a8"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Fri Mar 08 15:53:42 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Tue Mar 12 09:41:44 2013 -0700"
      },
      "message": "loxi-prep: remove uses of cstruct module\n\nThis module does not exist in PyLoxi.\n"
    },
    {
      "commit": "537247359caf0f7ad204d0fc1add4a48efe525a8",
      "tree": "bddef1bf755394be5987c8c285b3399a9fb034cf",
      "parents": [
        "53b9681ed6299a0da9ea4e2a99f46006c798f11b"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Fri Mar 08 23:54:02 2013 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Fri Mar 08 23:54:02 2013 -0800"
      },
      "message": "Qualify sleep calls with time\n"
    },
    {
      "commit": "53b9681ed6299a0da9ea4e2a99f46006c798f11b",
      "tree": "8643d7af09572557afd05ff15f8ae78d18848bdc",
      "parents": [
        "6a3349220285c09ae642b0a745f1f3df56f89af8"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Mar 07 16:54:50 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Mar 07 16:54:50 2013 -0800"
      },
      "message": "testutils: add 10% fuzz to byte counter matching\n\nSome switches include the 4-byte Ethernet CRC in their counters. Since the spec\nis ambiguous here we allow this and similar behavior by allowing the byte\ncounters to increment up to 10% more than we\u0027d usually expect.\n"
    },
    {
      "commit": "6a3349220285c09ae642b0a745f1f3df56f89af8",
      "tree": "fbf4c304800e63044c0971210d4b10b18f18b518",
      "parents": [
        "968b61972f18bc2813558cd1373cc3c6fdc19709"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Mar 07 16:14:52 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Mar 07 16:52:34 2013 -0800"
      },
      "message": "refactor verify_queuestats and move to testutils\n"
    },
    {
      "commit": "968b61972f18bc2813558cd1373cc3c6fdc19709",
      "tree": "6a1dfdd9572c4350dea5f9e95590aa4b945b43ff",
      "parents": [
        "ae3428c00817b638d0b2595872676e6e7f29c690"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Mar 07 15:34:43 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Mar 07 16:52:33 2013 -0800"
      },
      "message": "refactor verify_portstats and move to testutils\n"
    },
    {
      "commit": "ae3428c00817b638d0b2595872676e6e7f29c690",
      "tree": "ebb83e87d8ba9618c3b5347fd6b582ebb7dac516",
      "parents": [
        "34593fa8f4f0234f7f2e073de1079ead09b4053f"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Mar 07 14:37:42 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rlane@bigswitch.com",
        "time": "Thu Mar 07 16:35:25 2013 -0800"
      },
      "message": "refactor verify_flowstats and move to testutils\n\nThis needs to be centralized for later byte counter fuzzing changes.\n"
    },
    {
      "commit": "2940fdd2a83a02b4fd3e79ff4cd6b3e21bb0dacd",
      "tree": "44ed7a1bf636443056107056be3ae72f172c949c",
      "parents": [
        "9cf018c6557fded5602845ff106b4c2ad5a822c7"
      ],
      "author": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Wed Feb 06 15:01:35 2013 -0800"
      },
      "committer": {
        "name": "Dan Talayco",
        "email": "dan.talayco@bigswitch.com",
        "time": "Wed Feb 06 15:01:35 2013 -0800"
      },
      "message": "Fix skip report config key error\n"
    },
    {
      "commit": "c7562b123fc44e78a55166ed08c7743063328f42",
      "tree": "185d83d89a7e6a8be7a0fa6f8151c3feb6bd10a4",
      "parents": [
        "857fb606e3173b528f518740e7f2ac073e5789a0"
      ],
      "author": {
        "name": "Shudong Zhou",
        "email": "shudongzhou@gmail.com",
        "time": "Wed Feb 06 01:12:18 2013 -0800"
      },
      "committer": {
        "name": "Shudong Zhou",
        "email": "shudongzhou@gmail.com",
        "time": "Wed Feb 06 01:12:18 2013 -0800"
      },
      "message": "Add simple_arp_packet\n"
    },
    {
      "commit": "3c26683d57deed514e64d945c881221486d6cde5",
      "tree": "9a47e523747ac902fca41040535ebf104435d441",
      "parents": [
        "dacbe738d5bb92d0e8e3d5733edc2c96cf7edd59"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Tue Jan 29 18:29:15 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Tue Jan 29 18:29:15 2013 -0800"
      },
      "message": "testutils: fix wording in receive_pkt_check\n"
    },
    {
      "commit": "9cc93345f9948ebb54e28e7333f406d82b1cf3b5",
      "tree": "c6adabf0c0b29a0ead21e2c630b1eed61a1af97c",
      "parents": [
        "bde05edf0a77d9c1a0fd0ad9375b2b6f88918816"
      ],
      "author": {
        "name": "Gregor Maier",
        "email": "gregor.maier@bigswitch.com",
        "time": "Tue Jan 29 16:55:28 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Tue Jan 29 16:55:28 2013 -0800"
      },
      "message": "testutils: add ip_ttl option to simple_*_packet\n"
    },
    {
      "commit": "fdedc07bbf8f942833acb722e8c206131dec627e",
      "tree": "1b91b57585ad88bc590140d085030956ef2ffc13",
      "parents": [
        "f16b557da3163a0c3d54b2da27596d0d8f67b0c5"
      ],
      "author": {
        "name": "ederlf",
        "email": "ederlf@cpqd.com.br",
        "time": "Fri Jan 18 09:32:00 2013 -0200"
      },
      "committer": {
        "name": "ederlf",
        "email": "ederlf@cpqd.com.br",
        "time": "Fri Jan 18 09:32:00 2013 -0200"
      },
      "message": "This commit has some improvements for the code related to the OpenFlow 1.2\nThe changes are:\n\n    - On match unpack, insert the proper match tlv object. (e.g, if the oxm field is\nan inport, insert and inport object).\n    - Add a compare method to oxm_tlvs and match_list, because there was not how to test\nif the match in messages like flow_stats or flow_removed were correctly sent by the switch.\n    - Improvements to the print format of oxm_tlvs.\n\nAlso, there is a minor fix for the groups test.\n"
    },
    {
      "commit": "7744e11daf890cbb0b815e51ce4781de78624c51",
      "tree": "8bdb5b76058cc53be78eac7f560b63dfccf62203",
      "parents": [
        "5a9a192ab77c53024bfd2f9864488906c093a7d3"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 17:23:57 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 17:23:57 2013 -0800"
      },
      "message": "testutils: define __all__ to limit the variables imported by tests\n"
    },
    {
      "commit": "5a9a192ab77c53024bfd2f9864488906c093a7d3",
      "tree": "0a47fbdd7bc1caf4152b8bf6b6d7ad7e1fa3ee5c",
      "parents": [
        "5d63b9c8bded2cfeb4b07c46e648c671cb683b1c"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 14:29:30 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 14:29:30 2013 -0800"
      },
      "message": "add version decorator\n\nAlso adds the TableModConfig test to the main basic test module, using the new\ndecorator.\n"
    },
    {
      "commit": "5d63b9c8bded2cfeb4b07c46e648c671cb683b1c",
      "tree": "072ea8b1751a43250ca1190bae3014322656efb4",
      "parents": [
        "e3a5972ae4dc86966f6ffce998cdd25ac02bfb02"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 14:12:37 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 14:12:37 2013 -0800"
      },
      "message": "controller: log xids and error messages\n"
    },
    {
      "commit": "e3a5972ae4dc86966f6ffce998cdd25ac02bfb02",
      "tree": "7722d40dace1507cc5af3a50ec6c3c2f963e73f0",
      "parents": [
        "5de2d94348b08b05f3ea510cc73b97886700bc89"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 12:50:25 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 12:50:25 2013 -0800"
      },
      "message": "of12: support actions keyword argument in packet_out message\n"
    },
    {
      "commit": "5de2d94348b08b05f3ea510cc73b97886700bc89",
      "tree": "5cd18b01c8ec044fb22959b473b49f8517264979",
      "parents": [
        "aecd7163f3c230f788a8df53d91d997450566ec4"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 11:49:36 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 11:49:36 2013 -0800"
      },
      "message": "of12: add keyword arguments to action and message classes\n"
    },
    {
      "commit": "aecd7163f3c230f788a8df53d91d997450566ec4",
      "tree": "c8d4cbd6b9832b8fb951735f9806cb61a4492f79",
      "parents": [
        "63393495124c77d79b2319d96550a8bc3ab6e35b"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 11:33:00 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 11:33:00 2013 -0800"
      },
      "message": "of10: simplify importing\n"
    },
    {
      "commit": "63393495124c77d79b2319d96550a8bc3ab6e35b",
      "tree": "8e0e80d75de6925e5d081544bb654a48d30f093d",
      "parents": [
        "2fe6beac0c69eb9108be08112b1e9d727ff11d4c"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 09:21:12 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 09:24:31 2013 -0800"
      },
      "message": "of12: remove redundant action_ prefix from action classes\n"
    },
    {
      "commit": "dc04c91a4c3f9c170688a6d8cffda254ff2426c5",
      "tree": "781f35473fd033fc8b4b4c2c35ace24656f1a9ad",
      "parents": [
        "8f2861eb5c879d7761d458204c9ad59e4fe2e576"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 09:13:37 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 09:13:37 2013 -0800"
      },
      "message": "of12: fix bug in packet_to_flow_match\n"
    },
    {
      "commit": "8f2861eb5c879d7761d458204c9ad59e4fe2e576",
      "tree": "8bfa3cbb8f5bb2847cda64044b347ef441952840",
      "parents": [
        "ea8732650f81771e585f7405df46b6a08237ee03"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 09:13:20 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 09:13:20 2013 -0800"
      },
      "message": "import scapy.contrib.mpls for ease of installation\n"
    },
    {
      "commit": "02eb6b0d18297b6fc371d035110dc99ee9b2a5a3",
      "tree": "2216043104e9de51f60eed0a612fae8f207aca6f",
      "parents": [
        "f9aa5022c4707485455a9476912ea13e20e6baac"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 08:08:37 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 08:20:20 2013 -0800"
      },
      "message": "of12: simplify importing\n"
    },
    {
      "commit": "f9aa5022c4707485455a9476912ea13e20e6baac",
      "tree": "87c7fd3c19293d2f1d8c03345f61e7430889091c",
      "parents": [
        "629393f7b71a12026e5d719f2551cafe264ccd52"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Jan 10 16:36:15 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 08:20:20 2013 -0800"
      },
      "message": "oft12 testutils: remove uses of parent.logger\n"
    },
    {
      "commit": "629393f7b71a12026e5d719f2551cafe264ccd52",
      "tree": "421463e8f2ea2336fe088e94af2e6748620726a1",
      "parents": [
        "9fd05683ca2baa9d04d4d3c1c563f5a7b45d5b1e"
      ],
      "author": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Thu Jan 10 15:37:33 2013 -0800"
      },
      "committer": {
        "name": "Rich Lane",
        "email": "rich.lane@bigswitch.com",
        "time": "Fri Jan 11 08:20:20 2013 -0800"
      },
      "message": "import OpenFlow 1.2 protocol module and basic test cases from CPqD/oftest12\n\nFor now these tests will live in a separate directory. The goal is to merge\nthem where possible but this has to wait for an OpenFlow protocol module that\nsupports all versions of OpenFlow.\n"
    }
  ],
  "next": "9fd05683ca2baa9d04d4d3c1c563f5a7b45d5b1e"
}
