)]}'
{
  "log": [
    {
      "commit": "897522ea1c20691b6a65f32f03ae4e77e508b31c",
      "tree": "fe71ca8eeedc1c5aebdb4ed02d1db8222738336f",
      "parents": [
        "94918ff68a7c78fdd3241d13e18444ef80b8ff4a"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Fri Aug 25 00:52:06 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Aug 26 18:42:00 2006 -0700"
      },
      "message": "[CONNECTOR]: Add userspace example code into Documentation/connector/\n\nI was asked several times to include userspace example code into\nDocumentation, so if there is no policy against it, consider attached patch\nfor 2.6.18. This program works with included Documentation/connector/cn_test.c\nconnector module.\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b191ba0d599928372be5a89f75486eb58efab48a",
      "tree": "a0ecc636d121126aba838d49700ad9cfbbf94733",
      "parents": [
        "0ac81ae34ec8898e7eb1388fe21e3cee7b626a88"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Mon Mar 20 22:21:40 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:21:40 2006 -0800"
      },
      "message": "[CONNECTOR]: Use netlink_has_listeners() to avoind unnecessary allocations.\n\nReturn -ESRCH from cn_netlink_send() when there are not listeners,\njust as it could be done by netlink_broadcast().  Propagate\nnetlink_broadcast() error back to the caller.\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18a0c23617a2cb1c2e55e650046c2084d823fde0",
      "tree": "24e73433d0e8149c1ae8b658188f0cec0472c60c",
      "parents": [
        "072047e4de3800905e09d0f8ef0e1cc4e91a601e"
      ],
      "author": {
        "name": "Carlo Comin",
        "email": "vl4d@spine-group.org",
        "time": "Tue Nov 08 09:38:56 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 09:38:56 2005 -0800"
      },
      "message": "[CONNECTOR]: Fix documentation test module.\n\nPatch from Carlo Comin \u003cvl4d spine-group.org\u003e\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb0d6041143fae63410c5622fef96862e6b20933",
      "tree": "28a8f9ed7fc1e60850a06c2f06fe8bbaaa08d073",
      "parents": [
        "34cb711ba922f53cca45443b8c3c1078873cf599"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Thu Oct 13 14:42:04 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 13 14:42:04 2005 -0700"
      },
      "message": "[CONNECTOR]: Update documentation to match reality.\n\nUpdated documentation to reflect 2.6.14 netlink changes\nabout socket options, multicasting and group number.\nPlease concider for 2.6.14.\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7672d0b54411371e0b6a831c1cb2f0ce615de6dc",
      "tree": "27d88da3263041b91d18346b3bcd27807d332f1a",
      "parents": [
        "357d596bd552ad157a906289ab13ea6ba7e66e3d"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Sun Sep 11 19:15:07 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 11 19:15:07 2005 -0700"
      },
      "message": "[NET]: Add netlink connector.\n\nKernel connector - new userspace \u003c-\u003e kernel space easy to use\ncommunication module which implements easy to use bidirectional\nmessage bus using netlink as it\u0027s backend.  Connector was created to\neliminate complex skb handling both in send and receive message bus\ndirection.\n\nConnector driver adds possibility to connect various agents using as\none of it\u0027s backends netlink based network.  One must register\ncallback and identifier. When driver receives special netlink message\nwith appropriate identifier, appropriate callback will be called.\n\nFrom the userspace point of view it\u0027s quite straightforward:\n\n\tsocket();\n\tbind();\n\tsend();\n\trecv();\n\nBut if kernelspace want to use full power of such connections, driver\nwriter must create special sockets, must know about struct sk_buff\nhandling...  Connector allows any kernelspace agents to use netlink\nbased networking for inter-process communication in a significantly\neasier way:\n\nint cn_add_callback(struct cb_id *id, char *name, void (*callback) (void *));\nvoid cn_netlink_send(struct cn_msg *msg, u32 __groups, int gfp_mask);\n\nstruct cb_id\n{\n\t__u32\t\t\tidx;\n\t__u32\t\t\tval;\n};\n\nidx and val are unique identifiers which must be registered in\nconnector.h for in-kernel usage.  void (*callback) (void *) - is a\ncallback function which will be called when message with above idx.val\nwill be received by connector core.\n\nUsing connector completely hides low-level transport layer from it\u0027s\nusers.\n\nConnector uses new netlink ability to have many groups in one socket.\n\n[ Incorporating many cleanups and fixes by myself and\n  Andrew Morton -DaveM ]\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
