)]}'
{
  "log": [
    {
      "commit": "e2d57766e6744f2956975dd2086d82957187b0f6",
      "tree": "6d7f09ad6eaaac8ad99528cc83894faa6b230b1a",
      "parents": [
        "ca6b8bb097c8e0ab6bce4fa04584074dee17c0d9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 17:59:32 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 03 18:05:29 2011 -0800"
      },
      "message": "net: Provide compat support for SIOCGETMIFCNT_IN6 and SIOCGETSGCNT_IN6.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1db275dd3f6e4182c4c4b4a1ac6287925d60569",
      "tree": "b8edf6661661ff84785495e2e053ce908417a9ff",
      "parents": [
        "6bd521433942d85e80f7a731a88cc91a327f38e0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:55 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:55 2010 +0200"
      },
      "message": "ipv6: ip6mr: support multiple tables\n\nThis patch adds support for multiple independant multicast routing instances,\nnamed \"tables\".\n\nUserspace multicast routing daemons can bind to a specific table instance by\nissuing a setsockopt call using a new option MRT6_TABLE. The table number is\nstored in the raw socket data and affects all following ip6mr setsockopt(),\ngetsockopt() and ioctl() calls. By default, a single table (RT6_TABLE_DFLT)\nis created with a default routing rule pointing to it. Newly created pim6reg\ndevices have the table number appended (\"pim6regX\"), with the exception of\ndevices created in the default table, which are named just \"pim6reg\" for\ncompatibility reasons.\n\nPackets are directed to a specific table instance using routing rules,\nsimilar to how regular routing rules work. Currently iif, oif and mark\nare supported as keys, source and destination addresses could be supported\nadditionally.\n\nExample usage:\n\n- bind pimd/xorp/... to a specific table:\n\nuint32_t table \u003d 123;\nsetsockopt(fd, SOL_IPV6, MRT6_TABLE, \u0026table, sizeof(table));\n\n- create routing rules directing packets to the new table:\n\n# ip -6 mrule add iif eth0 lookup 123\n# ip -6 mrule add oif eth0 lookup 123\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n\n"
    },
    {
      "commit": "6bd521433942d85e80f7a731a88cc91a327f38e0",
      "tree": "e263e39fc6096ef77e2a1c22d5972447785b2aa5",
      "parents": [
        "f30a77842129b5656360cc1f5db48a3fcfb64528"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:53 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:53 2010 +0200"
      },
      "message": "ipv6: ip6mr: move mroute data into seperate structure\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "f30a77842129b5656360cc1f5db48a3fcfb64528",
      "tree": "3a01eac73fd0e86d3c7a976ab6bccca9878cd35c",
      "parents": [
        "b5aa30b19121de49021fba57aa1f6e4c787fcf67"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:51 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:51 2010 +0200"
      },
      "message": "ipv6: ip6mr: convert struct mfc_cache to struct list_head\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "b5aa30b19121de49021fba57aa1f6e4c787fcf67",
      "tree": "dbbf01015bda08d52750f37a797d49c7db1990a9",
      "parents": [
        "c476efbcde5ba58b81ac752f4a894d6db8e17d94"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:50 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:50 2010 +0200"
      },
      "message": "ipv6: ip6mr: remove net pointer from struct mfc6_cache\n\nNow that cache entries in unres_queue don\u0027t need to be distinguished by their\nnetwork namespace pointer anymore, we can remove it from struct mfc6_cache\nadd pass the namespace as function argument to the functions that need it.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "d94d9fee9fa4e66a0b91640a694b8b10177075b3",
      "tree": "330b2b19e63c92f1fef3d9dbe0733ddeb0109664",
      "parents": [
        "b8883a65be2d925ea82b14ca0068ce9a6c8bac1f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 04 09:50:58 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 09:50:58 2009 -0800"
      },
      "message": "net: cleanup include/linux\n\nThis cleanup patch puts struct/union/enum opening braces,\nin first line to ease grep games.\n\nstruct something\n{\n\nbecomes :\n\nstruct something {\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85efde6f4e0de9577256c5f0030088d3fd4347c1",
      "tree": "28d3f28213e3da05ab3d38ce3ec01f778b713c5e",
      "parents": [
        "9d50638bae05ab7f62d700c9e4a83a1845cf9ef4"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Feb 26 00:51:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 26 18:14:14 2009 +0100"
      },
      "message": "make exported headers use strict posix types\n\nA number of standard posix types are used in exported headers, which\nis not allowed if __STRICT_KERNEL_NAMES is defined. In order to\nget rid of the non-__STRICT_KERNEL_NAMES part and to make sane headers\nthe default, we have to change them all to safe types.\n\nThere are also still some leftovers in reiserfs_fs.h, elfcore.h\nand coda.h, but these files have not compiled in user space for\na long time.\n\nThis leaves out the various integer types ({u_,u,}int{8,16,32,64}_t),\nwhich we take care of separately.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nCc: netdev@vger.kernel.org\nCc: linux-ppp@vger.kernel.org\nCc: Jaroslav Kysela \u003cperex@perex.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8229efdaef1e7913ae1712c0ba752f267e5fcd5e",
      "tree": "ba85dabf90f17b1b735fb8dda4b9bb11c5cd445d",
      "parents": [
        "8b90fc7e5b43aaef941044a4785a42439015b539"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:30:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:30:15 2008 -0800"
      },
      "message": "netns: ip6mr: enable namespace support in ipv6 multicast forwarding code\n\nThis last patch makes the appropriate changes to use and propagate the\nnetwork namespace where needed in IPv6 multicast forwarding code.\n\nThis consists mainly in replacing all the remaining init_net occurences\nwith current netns pointer retrieved from sockets, net devices or \nmfc6_caches depending on the routines\u0027 contexts.\n\nSome routines receive a new \u0027struct net\u0027 parameter to propagate the current\nnetns:\n* ip6mr_get_route\n* ip6mr_cache_report\n* ip6mr_cache_find\n* ip6mr_cache_unresolved\n* mif6_add/mif6_delete\n* ip6mr_mfc_add/ip6mr_mfc_delete\n* ip6mr_reg_vif\n\nAll the IPv6 multicast forwarding variables moved to struct netns_ipv6 by\nthe previous patches are now referenced in the correct namespace.\n\nChangelog:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n* Take into account the net associated to mfc6_cache when matching entries in\n  mfc_unres_queue list.\n* Call mroute_clean_tables() in ip6mr_net_exit() to free memory allocated\n  per-namespace.\n* Call dev_net_set() in ip6mr_reg_vif() to initialize dev-\u003end_net \n  correctly.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58701ad41105638baa0b38ffe9ac5b10469c1fd3",
      "tree": "cb76329caa1cc86fb89c7ef6d81bf924d86699ad",
      "parents": [
        "4e16880cb4225bfa68878ad5b2a9ded53657d054"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:22:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:22:34 2008 -0800"
      },
      "message": "netns: ip6mr: store netns in struct mfc6_cache\n\nThis patch stores into struct mfc6_cache the network namespace each\nmfc6_cache belongs to. The new member is mfc6_net.\n\nmfc6_net is assigned at cache allocation and doesn\u0027t change during\nthe rest of the cache entry life.\n\nThis will help to retrieve the current netns around the IPv6 multicast\nforwarding code.\n\nAt the moment, all mfc6_cache are allocated in init_net.\n\nChangelog:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n* Use write_pnet()/read_pnet() to set and get mfc6_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd91b8bf372911c1e4d66d6bb44fe409349a6791",
      "tree": "18a79fc3c86ad833523562d7b73a9a557207b51b",
      "parents": [
        "5eaa65b240c5eb7bf2235eb9dd177c83e6e3832c"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:07:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:07:08 2008 -0800"
      },
      "message": "netns: ip6mr: allocate mroute6_socket per-namespace.\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nMake IPv6 multicast forwarding mroute6_socket per-namespace,\nmoves it into struct netns_ipv6.\n\nAt the moment, mroute6_socket is only referenced in init_net.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c19a3d280297d43ef5ff7c6b205dc208a16d3d1",
      "tree": "cb8b2603086f117eb543f91a41a42fefede4f31a",
      "parents": [
        "102396ae65108b026e4e1868e30fa013f45a169e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 14:37:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 29 14:37:23 2008 -0700"
      },
      "message": "net: Unbreak userspace usage of linux/mroute.h\n\nNothing in linux/pim.h should be exported to userspace.\n\nThis should fix the XORP build failure reported by\nJose Calhariz, the debain package maintainer.\n\nNothing originally in linux/mroute.h was exported to userspace\never, but some of this stuff started to be when it was moved into\nthis new linux/pim.h, and that was wrong.  If we didn\u0027t provide these\ndefinitions for 10 years we can reasonably expect that applications\ndefined this stuff locally or used GLIBC headers providing the\nprotocol definitions.  And as such the only result of this can\nbe conflict and userland build breakage.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0835f8fa56d2d308486f8a34cf1c4480cd27f4e",
      "tree": "8b9e2f60795dbc6e0e0138c8e7c362efecb568e8",
      "parents": [
        "03d2f897e9fb3218989baa2139a951ce7f5414bf"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 03 16:51:22 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 03 17:51:57 2008 +0900"
      },
      "message": "ipv4,ipv6 mroute: Add some helper inline functions to remove ugly ifdefs.\n\nip{,v6}_mroute_{set,get}sockopt() should not matter by optimization but\nit would be better not to depend on optimization semantically.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "623d1a1af77bd52a389c6eda5920e28eb2ee468b",
      "tree": "85d0a7fbcd83b5a2cacf50b24a66c0063f7eca07",
      "parents": [
        "dd3abc4ef52597ec8268274222574b2700ba3ded"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Thu Jul 03 12:13:30 2008 +0800"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 03 17:51:56 2008 +0900"
      },
      "message": "ipv6: Do cleanup for ip6_mr_init.\n\nIf do not do it, we will get following issues:\n1. Leaving junks after inet6_init failing halfway.\n2. Leaving proc and notifier junks after ipv6 modules unloading.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "cee8947338d46bccece54c752bf6cd4043035f05",
      "tree": "3f1e30d20e75e66ebb22f9612d9eb64f2e1a8c48",
      "parents": [
        "671a1c7401c6e48f5f2a77ac330727a13a9c8b63"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Apr 13 23:21:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 23:21:16 2008 -0700"
      },
      "message": "[IPV6] MROUTE: Do not call ipv6_find_idev() directly.\n\nSince NETDEV_REGISTER notifier chain is responsible for creating\ninet6_dev{}, we do not need to call ipv6_find_idev() directly here.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14fb64e1f449ef6666f1c3a3fa4e13aec669b98d",
      "tree": "92df482215861e4856fe84172d566ebb7d946f4a",
      "parents": [
        "7bc570c8b4f75ddb3fd5dbeb38127cdc4acbcc9c"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Apr 03 09:22:54 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Apr 05 22:33:39 2008 +0900"
      },
      "message": "[IPV6] MROUTE: Support PIM-SM (SSM).\n\nBased on ancient patch by Mickael Hoerdt\n\u003choerdt@clarinet.u-strasbg.fr\u003e, which is available at\n\u003chttp://www-r2.u-strasbg.fr/~hoerdt/dev/linux_ipv6_mforwarding/patch-linux-ipv6-mforwarding-0.1a\u003e.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "7bc570c8b4f75ddb3fd5dbeb38127cdc4acbcc9c",
      "tree": "b688b728c3ea08479f75986d1e9f590fca1f8715",
      "parents": [
        "80a9492a33dd7d852465625022d56ff76d62174d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Apr 03 09:22:53 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Apr 05 22:33:38 2008 +0900"
      },
      "message": "[IPV6] MROUTE: Support multicast forwarding.\n\nBased on ancient patch by Mickael Hoerdt\n\u003choerdt@clarinet.u-strasbg.fr\u003e, which is available at\n\u003chttp://www-r2.u-strasbg.fr/~hoerdt/dev/linux_ipv6_mforwarding/patch-linux-ipv6-mforwarding-0.1a\u003e.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    }
  ]
}
