)]}'
{
  "log": [
    {
      "commit": "2dbba6f773d1e1e4c78f03b0dbf19790d9017693",
      "tree": "19535af46e79a0af756275f751d7b0080b72001d",
      "parents": [
        "84659eb529b33572bb3f8c94e0978bd5d084bc7e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 18 15:47:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 15:47:52 2007 -0700"
      },
      "message": "[GENETLINK]: Dynamic multicast groups.\n\nIntroduce API to dynamically register and unregister multicast groups.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "334c29a64507dda187565dd0db0403de3d70ec8b",
      "tree": "a01eb4f714f598806e6362f6c291e5dc77e29463",
      "parents": [
        "620034c84d1d939717bdfbe02c51a3fee43541c3"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Mon Dec 04 19:31:51 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 06 18:38:41 2006 -0800"
      },
      "message": "[GENETLINK]: Move command capabilities to flags.\n\nThis patch moves command capabilities to command flags. Other than\nbeing cleaner, saves several bytes.\nWe increment the nlctrl version so as to signal to user space that\nto not expect the attributes. We will try to be careful\nnot to do this too often ;-\u003e\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb328111efde7bca782f340fe805756039ec6a0c",
      "tree": "77c38b0a7ee67703c95caf16c6691576e2f77d03",
      "parents": [
        "78e5b8916e7db119850f57ce8548fbb9767078fc"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Mon Sep 18 00:01:59 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:51 2006 -0700"
      },
      "message": "[GENL]: Provide more information to userspace about registered genl families\n\nAdditionaly exports the following information when providing\nthe list of registered generic netlink families:\n  - protocol version\n  - header size\n  - maximum number of attributes\n  - list of available operations including\n      - id\n      - flags\n      - avaiability of policy and doit/dumpit function\n\nlibnl HEAD provides a utility to read this new information:\n\n\t0x0010 nlctrl version 1\n\t    hdrsize 0 maxattr 6\n\t      op GETFAMILY (0x03) [POLICY,DOIT,DUMPIT]\n\t0x0011 NLBL_MGMT version 1\n\t    hdrsize 0 maxattr 0\n\t      op unknown (0x02) [DOIT]\n\t      op unknown (0x03) [DOIT]\n\t      ....\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "482a8524f85a7d8c40c6fb5d072e85bc2fef327f",
      "tree": "cbd4225da63a687dd70441d41aad35ff5c171f48",
      "parents": [
        "9ac4a16983ea4edf719c390a1a234d956947688d"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Nov 10 02:25:56 2005 +0100"
      },
      "committer": {
        "name": "Thomas Graf",
        "email": "tgr@axs.localdomain",
        "time": "Thu Nov 10 02:26:41 2005 +0100"
      },
      "message": "[NETLINK]: Generic netlink family\n\nThe generic netlink family builds on top of netlink and provides\nsimplifies access for the less demanding netlink users. It solves\nthe problem of protocol numbers running out by introducing a so\ncalled controller taking care of id management and name resolving.\n\nGeneric netlink modules register themself after filling out their\nid card (struct genl_family), after successful registration the\nmodules are able to register callbacks to command numbers by\nfilling out a struct genl_ops and calling genl_register_op(). The\nregistered callbacks are invoked with attributes parsed making\nlife of simple modules a lot easier.\n\nAlthough generic netlink modules can request static identifiers,\nit is recommended to use GENL_ID_GENERATE and to let the controller\nassign a unique identifier to the module. Userspace applications\nwill then ask the controller and lookup the idenfier by the module\nname.\n\nDue to the current multicast implementation of netlink, the number\nof generic netlink modules is restricted to 1024 to avoid wasting\nmemory for the per socket multiacst subscription bitmask.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
