)]}'
{
  "log": [
    {
      "commit": "6618662aee433d3fec1c92b41c4199ed24f53190",
      "tree": "5e5fe18dfc4b23c137b8d2bc9deb0ecef87c14a8",
      "parents": [
        "3c74d3b1fc6ad14854fd6d18f37c9b37567889e5"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Nov 08 14:24:00 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Nov 08 16:54:29 2016 -0800"
      },
      "message": "Remove generated artifacts from git\n\nChange-Id: I1d8f9a5a4519004618e2df87c28fdb8849b68c00\n"
    },
    {
      "commit": "f8abbc992604a3ac08e439ad8449d85178054e75",
      "tree": "92f628c0067e8aceae0d80d4818214145b16227b",
      "parents": [
        "4c43525b70b09b2ef7267a984c8fe9dd5ba3aa2f"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Nov 04 19:56:45 2016 -0400"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Nov 04 19:56:45 2016 -0400"
      },
      "message": "Adding initial test cases, include enumeration conversion, address review comments\n\nChange-Id: I59a19f80289464c934ad16d2d2ce1c78a6ba6f2c\n"
    },
    {
      "commit": "4c43525b70b09b2ef7267a984c8fe9dd5ba3aa2f",
      "tree": "e1977383b7ff23033f9ae18d8db0b2502b283936",
      "parents": [
        "2bdb6b31e4b86a5ae88fbceb70bd05143cef318b"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Nov 03 23:21:32 2016 -0400"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Nov 03 23:21:47 2016 -0400"
      },
      "message": "experiments with converting yang to protobuf with limited types\n\nChange-Id: Icae31cbd779ff6f1efb6b5259e749436a7ee9bbf\n"
    },
    {
      "commit": "cd22adc23cff59dd5f6a96ec12a5b336036937ec",
      "tree": "f8884eee569867f43a28b450a6c2242f458f1221",
      "parents": [
        "862883a240b41c87dc49d956246edd2d37c604e1"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Oct 25 00:13:06 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Oct 28 08:34:51 2016 -0700"
      },
      "message": "Packet in/out streaming from ofagent to core\nGetting ready for packet streaming\n\nChange-Id: I8d70d4d6ffbb23c0d7ab20582e9afac49f9f6461\n\nSupport flow_delete_strict\n\nChange-Id: I5dab5f74a7daddcddfeb8691a3940347cb2fc11b\n\nPacket out halfway plumbed\n\nChange-Id: I799d3f59d42ac9de0563b5e6b9a0064fd895a6f6\n\nrefactored async_twisted\n\nChange-Id: I68f8d12ce6fdbb70cee398f581669529b567d94d\n\nPacket in pipeline and ofagent refactoring\n\nChange-Id: I31ecbf7d52fdd18c3884b8d1870f673488f808df\n"
    },
    {
      "commit": "023ea7cbbc9482643579b92ab02b3ed104e1f575",
      "tree": "e75ec5bff25548904e2a8e358029cc5fe8bb6466",
      "parents": [
        "4ba198966634f48c11a7dfb5590b404b1b2a1f34"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Oct 16 19:30:34 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Oct 24 01:38:54 2016 -0700"
      },
      "message": "Async/streaming gRPC client/server proto\n\nThis experiment was to fine-tune how we can implement\nasync gRPC client and server code inside a Twisted\npython app.\n\nChange-Id: I945014e27f4b9d6ed624666e0284cc298548adb3\n\nMajor cleanup of openflow_13.proto\n\nChange-Id: I4e54eaf87b682124ec518a0ade1a6050a6ec6da8\n\nRelocated openflow_13.proto to voltha\n\nChange-Id: I66ae45a9142d180c2c6651e75c7a1ee08aef7ef8\n\nRemoved forced utest from make build\n\nChange-Id: If0da58e9d135ebde6ca68c3316688a03a7b10f2f\n\ntwisted openflow agent first pass\n\nChange-Id: Ibe5b4727ccfe92e6fd464ccd3baf6275569ef5d3\n\nstore openflow derived files\n\nChange-Id: Ib3e1384bb2ca2a9c0872767f7b793f96b0a154e2\n\nMinor cleanup\n\nChange-Id: I1280ed3acb606121b616a0efd573f5f59d010dca\n\nFactored out common utils\n\nChange-Id: Icd86fcd50f60d0900924674cbcd65e13e47782a1\n\nRefactored twisted agent\n\nChange-Id: I71f26ce5357a4f98477df60b8c5ddc068cf75d43\n\nRelocated openflow agent to ofagent\n\n... and preserved obsolete working (non-twisted) agent under\n~/obsolete, so we can still run the olt-oftest and pass tests,\nunit the new twisted based agent reaches that maturity point.\n\nChange-Id: I727f8d7144b1291a40276dad2966b7643bd7bc4b\n\nolt-oftest in fake mode works with new agent\n\nChange-Id: I43b4f5812e8dfaa9f45e4a77fdcf6c30ac520f8d\n\nInitial ofagent/voltha operation\n\nChange-Id: Ia8104f1285a6b1c51635d36d7d78fc113f800e79\n\nAdditional callouts to Voltha\n\nChange-Id: If8f483d5140d3c9d45f22b480b8d33249a29cd4e\n\nMore gRPC calls\n\nChange-Id: I7d24fadf9425217fb26ffe18f25359d072ef38fa\n\nFlow add/list now works\n\nChange-Id: Ie3e3e73108645b47891cef798fc61372a022fd93\n\nMissed some files\n\nChange-Id: I29e81238ff1a26c095c0c73e521579edf7092e21\n"
    },
    {
      "commit": "e39523be566546d3431c26f0bc1bdbecdea1d09e",
      "tree": "1154bf88363a50dacf6d62a54e0752b47d98f5a3",
      "parents": [
        "a54b663f7fe41e222b069bd3ef3e97d3b725d9bd"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Oct 16 19:30:34 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Oct 20 18:28:08 2016 -0700"
      },
      "message": "Async/streaming gRPC client/server proto\n\nThis experiment was to fine-tune how we can implement\nasync gRPC client and server code inside a Twisted\npython app.\n\nChange-Id: I945014e27f4b9d6ed624666e0284cc298548adb3\n"
    },
    {
      "commit": "f1c3c031f90419e19725193fb71fe517fdcd8310",
      "tree": "37b34c2dceae9c88c04d8ec9586ae4ea95e114a1",
      "parents": [
        "74c1ef0e935e2790848ebab47c0eedd8f5feb45f"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Oct 12 21:58:25 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Oct 12 21:58:25 2016 -0700"
      },
      "message": "Experimental protobuf rendition of OF1.3\n\nThis version happily compiles, but more work is needed:\n- add methods\n- simplify some of the structured (systematically). For\n  instance, many lenth fields are unnecessary in protobuf.\n- Clean file (comments, alignments)\n\nChange-Id: I7e377e874391845b43136a2fcf06380fdc6a4322\n"
    },
    {
      "commit": "d1c9f235279f23db0ca2664d305c8666da360668",
      "tree": "25df7cfcbae6e9f06b7409b4a703da144b5626c8",
      "parents": [
        "cfd15e5ffaef251e44d0a1c4596fd054bba77a57"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Sep 22 23:18:38 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Sep 22 23:18:38 2016 -0700"
      },
      "message": "Backing out pypcap to save build\n"
    },
    {
      "commit": "a54f2ac5df7889261d5b27373e0d3ac5f4f21d50",
      "tree": "4b5a89321f8eb34c26d0cef069ad02eca01d6460",
      "parents": [
        "4161248cf648f9a326b4a4264210d2ecaaa5e391"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 15:54:15 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 15:54:15 2016 -0700"
      },
      "message": "Add support for protobuf API definitions\n"
    }
  ]
}
