)]}'
{
  "log": [
    {
      "commit": "f32138319ca6541e65f95f8e17c9cc88ac1baf94",
      "tree": "20505f3d5955d89d3763a6182052a8e9b37eaf37",
      "parents": [
        "82251de2a2b7b84987dde104d48a765b63170149"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 15 14:11:53 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 01:01:03 2012 -0400"
      },
      "message": "net: ipv6: Standardize prefixes for message logging\n\nAdd #define pr_fmt(fmt) as appropriate.\n\nAdd \"IPv6: \" to appropriate files.\n\nConvert printk(KERN_\u003cLEVEL\u003e to pr_\u003clevel\u003e (but not KERN_DEBUG).\nStandardize on \"%s: \" not \"%s(): \" when emitting __func__.\nUse \"%s: \", __func__ instead of embedding function name.\nCoalesce formats, align arguments.\n\nADDRCONF output is now prefixed with \"IPv6: \"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e87cc4728f0e2fb663e592a1141742b1d6c63256",
      "tree": "b8219696d37f0c8d0521d5853560b97fc96dc667",
      "parents": [
        "3a3bfb61e64476ff1e4ac3122cb6dec9c79b795c"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun May 13 21:56:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 15 13:45:03 2012 -0400"
      },
      "message": "net: Convert net_ratelimit uses to net_\u003clevel\u003e_ratelimited\n\nStandardize the net core ratelimited logging functions.\n\nCoalesce formats, align arguments.\nChange a printk then vprintk sequence to use printf extension %pV.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06eb4eafbdc0796d741d139a44f1253278da8611",
      "tree": "fbdb44317130c371928154c9e6903e699fe2b995",
      "parents": [
        "32ed53b83ea5ec26a4dba90e18f5e0ff6c71eb48",
        "f68e556e23d1a4176b563bcb25d8baf2c5313f91"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 10 14:30:45 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 10 14:30:45 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "c78679e8f31b86c7a46e77a3096011f911854187",
      "tree": "511b7a8e07c89a6ca7936c1ed3cb26300d8fe6a5",
      "parents": [
        "86ebb02dc793058ea17ad647c802b507dafff7cb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 20:27:33 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 02 04:33:43 2012 -0400"
      },
      "message": "ipv6: Stop using NLA_PUT*().\n\nThese macros contain a hidden goto, and are thus extremely error\nprone and make code hard to audit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "5095d64db1b978bdb31d30fed9e47dbf04f729be",
      "tree": "a912b34b0f78b40f46fde374fae530211ef22c4c",
      "parents": [
        "ba9adbe67e288823ac1deb7f11576ab5653f833e"
      ],
      "author": {
        "name": "RongQing.Li",
        "email": "roy.qing.li@gmail.com",
        "time": "Tue Feb 21 22:10:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 22 15:30:14 2012 -0500"
      },
      "message": "ipv6: ip6_route_output() never returns NULL.\n\nip6_route_output() never returns NULL, so it is wrong to\ncheck if the return value is NULL.\n\nSigned-off-by: RongQing.Li \u003croy.qing.li@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e3fd7a06dc20b2d8ec6892233ad2012968fe7b6",
      "tree": "da3fbec7672ac6b967dfa31cec6c88f468a57fa2",
      "parents": [
        "40ba84993d66469d336099c5af74c3da5b73e28d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Nov 21 03:39:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 22 16:43:32 2011 -0500"
      },
      "message": "net: remove ipv6_addr_copy()\n\nC assignment can handle struct in6_addr copying.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc3b2d7fb9b014d75ebb79ba371a763dbab5e8cf",
      "tree": "b0fd4e724bdb1c0a1783616614ae5a9dec1cfa5c",
      "parents": [
        "d9b9384215e17c68d7b6bd05d6fa409e5d4140d7"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Jul 15 11:47:34 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:30 2011 -0400"
      },
      "message": "net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules\n\nThese files are non modular, but need to export symbols using\nthe macros now living in export.h -- call out the include so\nthat things won\u0027t break when we remove the implicit presence\nof module.h from everywhere.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "67928c4041606f02725f3c95c4c0404e4532df1b",
      "tree": "52e69d8e283dc0efe3f6b406ce996cc999bc1e78",
      "parents": [
        "fbe58186901155c0cb5398dd343337be0c456c04"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Fri Sep 23 13:11:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 27 15:34:00 2011 -0400"
      },
      "message": "ipv6-multicast: Fix memory leak in IPv6 multicast.\n\nIf reg_vif_xmit cannot find a routing entry, be sure to\nfree the skb before returning the error.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2015de5fe2a47086a3260802275932bfd810884e",
      "tree": "2155f30fa4c0a664935264bad216c872f929063b",
      "parents": [
        "29453f65a4d0a46190dedf93ab31717d4c26bda6"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Tue Sep 27 15:16:08 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 27 15:16:08 2011 -0400"
      },
      "message": "ipv6-multicast: Fix memory leak in input path.\n\nHave to free the skb before returning if we fail\nthe fib lookup.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c7ac8679bec9397afe8918f788cbcef88c38da54",
      "tree": "c152712de4c997ea79252ef9ac72aaedb8f88c18",
      "parents": [
        "929dd047720785f099e12113780b3d7914ce6d9f"
      ],
      "author": {
        "name": "Greg Rose",
        "email": "gregory.v.rose@intel.com",
        "time": "Fri Jun 10 01:27:09 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Thu Jun 09 20:38:07 2011 -0700"
      },
      "message": "rtnetlink: Compute and store minimum ifinfo dump size\n\nThe message size allocated for rtnl ifinfo dumps was limited to\na single page.  This is not enough for additional interface info\navailable with devices that support SR-IOV and caused a bug in\nwhich VF info would not be displayed if more than approximately\n40 VFs were created per interface.\n\nImplement a new function pointer for the rtnl_register service that will\ncalculate the amount of data required for the ifinfo dump and allocate\nenough data to satisfy the request.\n\nSigned-off-by: Greg Rose \u003cgregory.v.rose@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "b71d1d426d263b0b6cb5760322efebbfc89d4463",
      "tree": "226ca7390bd6187ec9139d2ccedd26fd94d8e57a",
      "parents": [
        "5f8629c526b4f7e529a6d27bbd802c0dc7fcc357"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Apr 22 04:53:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 22 11:04:14 2011 -0700"
      },
      "message": "inet: constify ip headers and in6_addr\n\nAdd const qualifiers to structs iphdr, ipv6hdr and in6_addr pointers\nwhere possible, to make code intention more obvious.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e49e6d520401e1d25ec8d366520aad2c01adc1c",
      "tree": "60dac2bdbce6b61524ac1f12468841470607c5ad",
      "parents": [
        "f4e5bd4f5784c0608078805f29d4a4897ee482f7"
      ],
      "author": {
        "name": "Cesar Eduardo Barros",
        "email": "cesarb@cesarb.net",
        "time": "Sat Mar 26 05:10:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 27 23:35:05 2011 -0700"
      },
      "message": "net: use CHECKSUM_NONE instead of magic number\n\nTwo places in the kernel were doing skb-\u003eip_summed \u003d 0.\n\nChange both to skb-\u003eip_summed \u003d CHECKSUM_NONE, which is more readable.\n\nSigned-off-by: Cesar Eduardo Barros \u003ccesarb@cesarb.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c9483b2fb5d2548c3cc1fe03cdd4484ceeb5d1c",
      "tree": "c29c8070012cffb38fe249cf528589a675f622b1",
      "parents": [
        "9cce96df5b76691712dba22e83ff5efe900361e1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 16:22:43 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:54 2011 -0800"
      },
      "message": "ipv6: Convert to use flowi6 where applicable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d28f42c1bd4bb2363d88df74d0128b4da135b4a",
      "tree": "cb2e652fe79a2bc307e871bc2d3fa51cc8051e45",
      "parents": [
        "ca116922afa8cc5ad46b00c0a637b1cde5ca478a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:29:39 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:44 2011 -0800"
      },
      "message": "net: Put flowi_* prefix on AF independent members of struct flowi\n\nI intend to turn struct flowi into a union of AF specific flowi\nstructs.  There will be a common structure that each variant includes\nfirst, much like struct sock_common.\n\nThis is the first step to move in that direction.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ddc3731fcb712646e4a0f8e6117af6a153e9d36f",
      "tree": "3b36d1f397ef7255ff437cf8f51921e03751e32e",
      "parents": [
        "e9476e95d8707d1567d1af60df2c1f19630219a3"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Fri Feb 25 05:45:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 25 14:00:23 2011 -0800"
      },
      "message": "ipv6: ignore rtnl_unicast() return code\n\nrtnl_unicast() return value is not of interest, we can silently ignore\nit, save some instructions and four byte on the stack.\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "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": "5811662b15db018c740c57d037523683fd3e6123",
      "tree": "f820610a6024799a26699f22dc9a4ef5dee07978",
      "parents": [
        "dd68ad2235b4625e0dc928b2b4c614d265f976d3"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Nov 12 18:43:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 17 12:27:45 2010 -0800"
      },
      "message": "net: use the macros defined for the members of flowi\n\nUse the macros defined for the members of flowi to clean the code up.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "caf586e5f23cebb2a68cbaf288d59dbbf2d74052",
      "tree": "5c0dfcf5a14c55501f9225835c83abddb8d1876e",
      "parents": [
        "a00eac0c459abecb539fb2a2abd3122dd7ca5d4a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 30 21:06:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 14:47:55 2010 -0700"
      },
      "message": "net: add a core netdev-\u003erx_dropped counter\n\nIn various situations, a device provides a packet to our stack and we\ndrop it before it enters protocol stack :\n- softnet backlog full (accounted in /proc/net/softnet_stat)\n- bad vlan tag (not accounted)\n- unknown/unregistered protocol (not accounted)\n\nWe can handle a per-device counter of such dropped frames at core level,\nand automatically adds it to the device provided stats (rx_dropped), so\nthat standard tools can be used (ifconfig, ip link, cat /proc/net/dev)\n\nThis is a generalization of commit 8990f468a (net: rx_dropped\naccounting), thus reverting it.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8990f468ae9010ab0af4be8f51bf7ab833a67202",
      "tree": "e84ad358ed67da6011b1e20f3d8039d1f9f07e4a",
      "parents": [
        "462fb2af9788a82a534f8184abfde31574e1cfa0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Sep 20 00:12:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 20 10:08:58 2010 -0700"
      },
      "message": "net: rx_dropped accounting\n\nUnder load, netif_rx() can drop incoming packets but administrators dont\nhave a chance to spot which device needs some tuning (RPS activation for\nexample)\n\nThis patch adds rx_dropped accounting in vlans and tunnels.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "035320d54758e21227987e3aae0d46e7a04f4ddc",
      "tree": "9ad66a45ab0b0d903ebcbe435894d1fb9d5d78f5",
      "parents": [
        "3fd7fa4a89f0b85b9b33e922f15a2289c0fb8499"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Jun 06 23:48:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 07 02:57:14 2010 -0700"
      },
      "message": "ipmr: dont corrupt lists\n\nipmr_rules_exit() and ip6mr_rules_exit() free a list of items, but\nforget to properly remove these items from list. List head is not\nchanged and still points to freed memory.\n\nThis can trigger a fault later when icmpv6_sk_exit() is called.\n\nFix is to either reinit list, or use list_del() to properly remove items\nfrom list before freeing them.\n\nbugzilla report : https://bugzilla.kernel.org/show_bug.cgi?id\u003d16120\n\nIntroduced by commit d1db275dd3f6e4 (ipv6: ip6mr: support multiple\ntables) and commit f0ad0860d01e (ipv4: ipmr: support multiple tables)\n\nReported-by: Alex Zhavnerchik \u003calex.vizor@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ffb335e8d696affc04f963bf73ce2196f80edb9",
      "tree": "91cbe2f0876ee74971fd396ce59e848242810d0e",
      "parents": [
        "72e09ad107e78d69ff4d3b97a69f0aad2b77280f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Jun 06 15:34:40 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 06 15:34:40 2010 -0700"
      },
      "message": "ip6mr: fix a typo in ip6mr_for_each_table()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed0f160ad674407adb3aba499444f71c83289c63",
      "tree": "39cff780164f55d6cda23018431ab553c4477f9e",
      "parents": [
        "d938a702e5ce8909ea68be97566150507bfea4df"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed May 26 00:38:56 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 26 00:38:56 2010 -0700"
      },
      "message": "ipmr: off by one in __ipmr_fill_mroute()\n\nThis fixes a smatch warning:\n\tnet/ipv4/ipmr.c +1917 __ipmr_fill_mroute(12) error: buffer overflow\n\t\u0027(mrt)-\u003evif_table\u0027 32 \u003c\u003d 32\n\nThe ipv6 version had the same issue.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d19d56ddc88e7895429ef118db9c83c7bbe3ce6a",
      "tree": "c0db76f3527c88c95a8793c871f62d628fb3fd1d",
      "parents": [
        "de213e5eedecdfb1b1eea7e6be28bc64cac5c078"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 17 22:36:55 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 22:36:55 2010 -0700"
      },
      "message": "net: Introduce skb_tunnel_rx() helper\n\nskb rxhash should be cleared when a skb is handled by a tunnel before\nbeing delivered again, so that correct packet steering can take place.\n\nThere are other cleanups and accounting that we can factorize in a new\nhelper, skb_tunnel_rx()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b285cac3570a935aaa28312c1ea28f9e01c5452",
      "tree": "a39d8602eb21eb4a721fda933fe21b0c79d3d383",
      "parents": [
        "d1db275dd3f6e4182c4c4b4a1ac6287925d60569"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:56 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:56 2010 +0200"
      },
      "message": "ipv6: ip6mr: add support for dumping routing tables over netlink\n\nThe ip6mr /proc interface (ip6_mr_cache) can\u0027t be extended to dump routes\nfrom any tables but the main table in a backwards compatible fashion since\nthe output format ends in a variable amount of output interfaces.\n\nIntroduce a new netlink interface to dump multicast routes from all tables,\nsimilar to the netlink interface for regular routes.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.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": "c476efbcde5ba58b81ac752f4a894d6db8e17d94",
      "tree": "69aea7351adf2ae537e4d6ec76e1cc0799a16593",
      "parents": [
        "d250fe91ae129bff0968e685cc9c466d3a5e3482"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:48 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue May 11 14:40:48 2010 +0200"
      },
      "message": "ipv6: ip6mr: move unres_queue and timer to per-namespace data\n\nThe unres_queue is currently shared between all namespaces. Following patches\nwill additionally allow to create multiple multicast routing tables in each\nnamespace. Having a single shared queue for all these users seems to excessive,\nmove the queue and the cleanup timer to the per-namespace data to unshare it.\n\nAs a side-effect, this fixes a bug in the seq file iteration functions: the\nfirst entry returned is always from the current namespace, entries returned\nafter that may belong to any namespace.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "62910554656cdcd6b6f84a5154c4155aae4ca231",
      "tree": "dcf14004f6fd2ef7154362ff948bfeba0f3ea92d",
      "parents": [
        "22265a5c3c103cf8c50be62e6c90d045eb649e6d",
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 16:02:01 2010 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Apr 20 16:02:01 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of /repos/git/net-next-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tnet/ipv6/netfilter/ip6t_REJECT.c\n\tnet/netfilter/xt_limit.c\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "7438189baa0a2fe30084bdc97e3d540ebc5444f3",
      "tree": "6627b63b785df9175e04a0ce1b49d5eea8ea0777",
      "parents": [
        "e7d481a6f3c13041446b7bb8f98ab861460076a3"
      ],
      "author": {
        "name": "Nicolas Dichtel",
        "email": "nicolas.dichtel@dev.6wind.com",
        "time": "Thu Mar 25 23:45:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 27 08:33:21 2010 -0700"
      },
      "message": "net: ipmr/ip6mr: prevent out-of-bounds vif_table access\n\nWhen cache is unresolved, c-\u003emf[6]c_parent is set to 65535 and\nminvif, maxvif are not initialized, hence we must avoid to\nparse IIF and OIF.\nA second problem can happen when the user dumps a cache entry\nwhere a VIF, that was referenced at creation time, has been\nremoved.\n\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2e0b385d77069031edb957839aaaa8441b47287",
      "tree": "7b0cd8ed74fd0f8ab6a198cd1be735c6a972517e",
      "parents": [
        "9bbc768aa911a3ef336272eaa6d220abfba8ce50"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 23 04:09:07 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:00:49 2010 +0100"
      },
      "message": "netfilter: ipv6: use NFPROTO values for NF_HOOK invocation\n\nThe semantic patch that was used:\n// \u003csmpl\u003e\n@@\n@@\n(NF_HOOK\n|NF_HOOK_THRESH\n|nf_hook\n)(\n-PF_INET6,\n+NFPROTO_IPV6,\n ...)\n// \u003c/smpl\u003e\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "a50436f2cd6e85794f7e1aad795ca8302177b896",
      "tree": "522ac0b3ac330fb53d4ee9147f7565b27b482085",
      "parents": [
        "ea93fd9456ad32cd85b2d7914b58c6313cc40c9e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 06:04:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 19 22:47:22 2010 -0700"
      },
      "message": "net: ipmr/ip6mr: fix potential out-of-bounds vif_table access\n\nmfc_parent of cache entries is used to index into the vif_table and is\ninitialised from mfcctl-\u003emfcc_parent. This can take values of to 2^16-1,\nwhile the vif_table has only MAXVIFS (32) entries. The same problem\naffects ip6mr.\n\nRefuse invalid values to fix a potential out-of-bounds access. Unlike\nthe other validity checks, this is checked in ipmr_mfc_add() instead of\nthe setsockopt handler since its unused in the delete path and might be\nuninitialized.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c871e664ea39363c2a1011ec2dc4bc172dc396a0",
      "tree": "90a83827b99c690e5380d6f2668d224c5a2bc534",
      "parents": [
        "62808f91237181dbac74c2b5be4fa92adfbbbe40"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Oct 28 04:48:11 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:13:53 2009 -0700"
      },
      "message": "ip6mr: Optimize multiple unregistration\n\nSpeedup module unloading by factorizing synchronize_rcu() calls\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c720c7e8383aff1cb219bddf474ed89d850336e3",
      "tree": "4f12337e6690fccced376db9f501eaf98614a65e",
      "parents": [
        "988ade6b8e27e79311812f83a87b5cea11fabcd7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 15 06:30:45 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 18 18:52:53 2009 -0700"
      },
      "message": "inet: rename some inet_sock fields\n\nIn order to have better cache layouts of struct sock (separate zones\nfor rx/tx paths), we need this preliminary patch.\n\nGoal is to transfert fields used at lookup time in the first\nread-mostly cache line (inside struct sock_common) and move sk_refcnt\nto a separate cache line (only written by rx path)\n\nThis patch adds inet_ prefix to daddr, rcv_saddr, dport, num, saddr,\nsport and id fields. This allows a future patch to define these\nfields as macros, like sk_refcnt, without name clashes.\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": "88e9d34c727883d7d6f02cf1475b3ec98b8480c7",
      "tree": "475f544536d52739e0929e7727cab5124e855a06",
      "parents": [
        "b7ed698cc9d556306a4088c238e2ea9311ea2cb3"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Sep 22 16:43:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "seq_file: constify seq_operations\n\nMake all seq_operations structs const, to help mitigate against\nrevectoring user-triggerable function pointers.\n\nThis is derived from the grsecurity patch, although generated from scratch\nbecause it\u0027s simpler than extracting the changes from there.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41135cc836a1abeb12ca1416bdb29e87ad021153",
      "tree": "01c402f2fb9ac494dc3655a17e92072b170b7c1f",
      "parents": [
        "32613090a96dba2ca2cc524c8d4749d3126fdde5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 14 12:22:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:03:05 2009 -0700"
      },
      "message": "net: constify struct inet6_protocol\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ca1b998d33c39819fca2b675d80c4469e705f2d",
      "tree": "fbe882f3908b6b57ae3fe54d13abb0067538276d",
      "parents": [
        "3b401a81c0d50ea9c718cf837f62cc2e6e79cc30"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 01 19:25:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 01:03:53 2009 -0700"
      },
      "message": "net: file_operations should be const\n\nAll instances of file_operations should be const.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98147d527a038c4aab599e57323a4e5d727c28a6",
      "tree": "0a9b012258f5f05d1308adc282741d32aa0958f0",
      "parents": [
        "0fc0b732eaa38beb93a6fb62f77c7bd9622c76ec"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Sep 01 19:25:02 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 02 01:03:39 2009 -0700"
      },
      "message": "net: seq_operations should be const\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fef4c0c8eeff7de13007a5f56113475444a253d",
      "tree": "216bafb88ab84c5e0a048598cd6c05f7eb8f438d",
      "parents": [
        "dc1f8bf68b311b1537cb65893430b6796118498a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 31 19:50:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 01:13:07 2009 -0700"
      },
      "message": "netdev: convert pseudo-devices to netdev_tx_t\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ed106549d17474ca17a16057f4c0ed4eba5a7ca",
      "tree": "b98c09081509b3a9757339b6b66779e4126dfa29",
      "parents": [
        "0e8635a8e1f2d4a9e1bfc6c3b21419a5921e674f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 23 06:03:08 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 05 19:16:04 2009 -0700"
      },
      "message": "net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions\n\nThis patch is the result of an automatic spatch transformation to convert\nall ndo_start_xmit() return values of 0 to NETDEV_TX_OK.\n\nSome occurences are missed by the automatic conversion, those will be\nhandled in a seperate patch.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "403dbb97f654cd59b87999fe1b64d29bf90b3a2a",
      "tree": "c8d4ea1152288792f5e6bde54e79497dcfd44a9e",
      "parents": [
        "e61a4b634a15c11725eac8e66b457ba411168c7f"
      ],
      "author": {
        "name": "Tom Goff",
        "email": "thomas.goff@boeing.com",
        "time": "Sun Jun 14 03:16:13 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 14 03:16:13 2009 -0700"
      },
      "message": "PIM-SM: namespace changes\n\nIPv4:\n  - make PIM register vifs netns local\n  - set the netns when a PIM register vif is created\n  - make PIM available in all network namespaces (if CONFIG_IP_PIMSM_V2)\n    by adding the protocol handler when multicast routing is initialized\n\nIPv6:\n  - make PIM register vifs netns local\n  - make PIM available in all network namespaces (if CONFIG_IPV6_PIMSM_V2)\n    by adding the protocol handler when multicast routing is initialized\n\nSigned-off-by: Tom Goff \u003cthomas.goff@boeing.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adf30907d63893e4208dfe3f5c88ae12bc2f25d5",
      "tree": "0f07542bb95de2ad537540868aba6cf87a86e17d",
      "parents": [
        "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:19:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:04 2009 -0700"
      },
      "message": "net: skb-\u003edst accessors\n\nDefine three accessors to get/set dst attached to a skb\n\nstruct dst_entry *skb_dst(const struct sk_buff *skb)\n\nvoid skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)\n\nvoid skb_dst_drop(struct sk_buff *skb)\nThis one should replace occurrences of :\ndst_release(skb-\u003edst)\nskb-\u003edst \u003d NULL;\n\nDelete skb-\u003edst field\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d6e430d3bafe743b18dc443189093bf532e91ed",
      "tree": "efc2aac6a7f1581332f79df69d4389bcc7aa079f",
      "parents": [
        "905db44087855e3c1709f538ecdc22fd149cadd8"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Sat Jan 31 00:51:49 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 31 00:51:49 2009 -0800"
      },
      "message": "ipv6: compile fix for ip6mr.c\n\nnet/ipv6/ip6mr.c: In function \u0027pim6_rcv\u0027:\nnet/ipv6/ip6mr.c:368: error: implicit declaration of function \u0027csum_ipv6_magic\u0027\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d6e55f195128813f96458203a9fa14204f9251e",
      "tree": "8fb8d332a9d5a0df98401f0b49a86173a0c3f25a",
      "parents": [
        "6c06a478c9e59d1584a5dc1b2b3519bae5d6546a"
      ],
      "author": {
        "name": "Thomas Goff",
        "email": "thomas.goff@boeing.com",
        "time": "Tue Jan 27 22:39:59 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 27 22:39:59 2009 -0800"
      },
      "message": "IPv6: Fix multicast routing bugs.\n\nThis patch addresses the IPv6 multicast routing issues described\nbelow.  It was tested with XORP 1.4/1.5 as the IPv6 PIM-SM routing\ndaemon against FreeBSD peers.\n\nnet/ipv6/ip6_input.c:\n\n  - Don\u0027t try to forward link-local multicast packets.\n\n  - Don\u0027t reset skb2-\u003edev before calling ip6_mr_input() so packets can\n    be identified as coming from the PIM register vif properly.\n\nnet/ipv6/ip6mr.c:\n\n  - Fix incoming PIM register messages processing:\n\n    * The IPv6 pseudo-header should be included when checksumming PIM\n      messages (RFC 4601 section 4.9; RFC 3973 section 4.7.1).\n\n    * Packets decapsulated from PIM register messages should have\n      skb-\u003eprotocol ETH_P_IPV6.\n\n  - Enable/disable IPv6 multicast forwarding on the corresponding\n    interface when a routing daemon adds/removes a multicast virtual\n    interface.\n\n  - Remove incorrect skb_pull() to fix userspace signaling.\n\n  - Enable/disable global IPv6 multicast forwarding when an IPv6\n    multicast routing socket is opened/closed.\n\nnet/ipv6/route.c:\n\n  - Don\u0027t use strict routing logic for packets decapsulated from PIM\n    register messages (similar to disabling rp_filter for the IPv4\n    case).\n\nSigned-off-by: Thomas Goff \u003cthomas.goff@boeing.com\u003e\nReviewed-by: Fred Templin \u003cfred.l.templin@boeing.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8da73b73ef29d537ba09f29393cd68707833e746",
      "tree": "b4281dcf12f6033774b81c05b24296922eeada28",
      "parents": [
        "448eb71f40120a8fd11ebd58153c271c63e6f862"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sun Dec 14 23:15:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 14 23:15:49 2008 -0800"
      },
      "message": "ip6mr: use goto to common label instead of opencoding\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "8b90fc7e5b43aaef941044a4785a42439015b539",
      "tree": "8a04eaf58a725db5bafb6c5e3a1bc67764558ad0",
      "parents": [
        "950d5704e5daa1f90bcd75b99163491e7b249169"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:29:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:29:48 2008 -0800"
      },
      "message": "netns: ip6mr: declare ip6mr /proc/net entries per-namespace\n\nDeclare IPv6 multicast forwarding /proc/net entries per-namespace:\n/proc/net/ip6_mr_vif\n/proc/net/ip6_mr_cache\n\nChangelog\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nV2:\n* In routine ipmr_mfc_seq_idx(), only match entries belonging to current\n  netns in mfc_unres_queue list.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "950d5704e5daa1f90bcd75b99163491e7b249169",
      "tree": "c46302160f4364dfc6e66c73c0c9910a9329810a",
      "parents": [
        "a21f3f997c73ced682129aedd372bb6b53041510"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:29:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:29:24 2008 -0800"
      },
      "message": "netns: ip6mr: declare reg_vif_num per-namespace\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDeclare variable \u0027reg_vif_num\u0027 per-namespace, moves into struct netns_ipv6.\n\nAt the moment, this variable 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": "a21f3f997c73ced682129aedd372bb6b53041510",
      "tree": "f236a2ef74036df4929f99350316096c6603a3ae",
      "parents": [
        "4045e57c19bee150370390545ee8a933b3f7a18d"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:28:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:28:44 2008 -0800"
      },
      "message": "netns: ip6mr: declare mroute_do_assert and mroute_do_pim per-namespace\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDeclare IPv6 multicast forwarding variables \u0027mroute_do_assert\u0027 and\n\u0027mroute_do_pim\u0027 per-namespace in struct netns_ipv6.\n\nAt the moment, these variables are 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": "4045e57c19bee150370390545ee8a933b3f7a18d",
      "tree": "a4744efeed6819eff5acd9c13ca0fafe71df144d",
      "parents": [
        "4a6258a0e33d042e4c84d9dec25d45ddb40a70b3"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:27:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:27:21 2008 -0800"
      },
      "message": "netns: ip6mr: declare counter cache_resolve_queue_len per-namespace\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDeclare variable cache_resolve_queue_len per-namespace: moves it into\nstruct netns_ipv6.\n\nThis variable counts the number of unresolved cache entries queued in the\nlist mfc_unres_queue. This list is kept global to all netns as the number\nof entries per namespace is limited to 10 (hardcoded in routine \nip6mr_cache_unresolved).\nEntries belonging to different namespaces in mfc_unres_queue will be\nidentified by matching the mfc_net member introduced previously in \nstruct mfc6_cache.\n\nKeeping this list global to all netns, also allows us to keep a single\ntimer (ipmr_expire_timer) to handle their expiration.\nIn some places cache_resolve_queue_len value was tested for arming \nor deleting the timer. These tests were equivalent to testing \nmfc_unres_queue value instead and are replaced in this patch.\n\nAt the moment, cache_resolve_queue_len 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": "4a6258a0e33d042e4c84d9dec25d45ddb40a70b3",
      "tree": "5cc24a8d367593b039c32a0d1fa4a64730673542",
      "parents": [
        "58701ad41105638baa0b38ffe9ac5b10469c1fd3"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:24:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:24:07 2008 -0800"
      },
      "message": "netns: ip6mr: dynamically allocate mfc6_cache_array\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDynamically allocates IPv6 multicast forwarding cache, mfc6_cache_array,\nand moves it to struct netns_ipv6. \n\nAt the moment, mfc6_cache_array is only referenced in init_net.\n\nReplace \u0027ARRAY_SIZE(mfc6_cache_array)\u0027 with mfc6_cache_array size: MFC6_LINES.\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": "4e16880cb4225bfa68878ad5b2a9ded53657d054",
      "tree": "6a8c15e47fe33edede4c4bd79c05dabc5ca2f79c",
      "parents": [
        "bd91b8bf372911c1e4d66d6bb44fe409349a6791"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 10 16:15:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 10 16:15:08 2008 -0800"
      },
      "message": "netns: ip6mr: dynamically allocates vif6_table\n\nPreliminary work to make IPv6 multicast forwarding netns-aware.\n\nDynamically allocates interface table vif6_table and moves it to \nstruct netns_ipv6, and updates MIF_EXISTS() macro. \n\nAt the moment, vif6_table 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": "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": "36cbac5909d227c4de31fb93e1dd99c839c9cb6f",
      "tree": "c718f49479bb3de88f50681c0357c1add9e5a989",
      "parents": [
        "df66f858074370a7ac7b21af2940e7a3a6af17c2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Dec 03 22:27:25 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 03 22:27:25 2008 -0800"
      },
      "message": "net/ipv6/ip6mr.c: Use kmem_cache_zalloc, remove memset\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "999890b21a8eff7559a140fcbd2cd4b34e685c76",
      "tree": "83f0c7fbb43e562c40cce760666d69de653abcf0",
      "parents": [
        "1ea472e2dedcf23d5f31c63fc790cccfab93c0de"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 03 22:22:16 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 03 22:22:16 2008 -0800"
      },
      "message": "net: /proc/net/ip_mr_cache, display Iif as a signed short\n\nToday, iproute2 fails to show multicast forwarding unresolved cache\nentries while scanning /proc/net/ip_mr_cache.\n\nIndeed, it expects to see -1 in \u0027Iif\u0027 column to identify unresolved\nentries but the kernel outputs 65535. It\u0027s a signed/unsigned issue:\n\n\u0027Iif\u0027, the source interface, is retrieved from member mfc_parent in\nstruct mfc_cache. mfc_parent is a vifi_t: unsigned short, but is\ndisplayed in ipmr_mfc_seq_show() as \"%-3d\", signed integer.\n\nIn unresolevd entries, the 65535 value (0xFFFF) comes from this define:\n#define ALL_VIFS    ((vifi_t)(-1))\n\nThat may explains why the guy who added support for this in iproute2\nthought a -1 should be expected.\n\nI don\u0027t know if this must be fixed in kernel or in iproute2. Who is\nright? What is the correct API? How was it designed originally?\n\nI let you decide if it should goes in the kernel or be fixed in iproute2.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ea472e2dedcf23d5f31c63fc790cccfab93c0de",
      "tree": "1886e87c59bc3efe9edee6f2473d5a2ad5b22e9e",
      "parents": [
        "9de6d99a7559d20f7ababd1cacdc61ee5315f3c1"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Wed Dec 03 22:21:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 03 22:21:47 2008 -0800"
      },
      "message": "net: fix /proc/net/ip_mr_cache display - V2\n\n/proc/net/ip_mr_cache and /proc/net/ip6_mr_cache displays garbage when\nshowing unresolved mfc_cache entries.\n\n[root@qemu tests]# cat /proc/net/ip_mr_cache\nGroup    Origin   Iif     Pkts    Bytes    Wrong Oifs\n014C00EF 010014AC 1         10    10050        0  2:1    3:1\n024C00EF 010014AC 65535      514        2 -559067475\n\nThe first line is correct. It is a resolved cache entry, 10 packets used it...\nThe second line represents an unresolved entry, and the columns Pkts(4th),\nBytes(5th) and Wrong(6th) just show garbage.\n\nIn struct mfc_cache, there\u0027s an union to store data for resolved and\nunresolved cases. And what ipmr_mfc_seq_show() is printing in these \ncolumns for the unresolved entries is some bytes from mfc_cache.mfc_un.res.\nBad.\n(eg. In our case -559067475 is in fact 0xdead4ead which is the spinlock\nmagic from mfc_cache.mfc_un.unres.unresolved.lock.magic).\n\nThis patch replaces the garbage data written in these columns for the\nunresolved entries by \u00270\u0027 (zeros) which is more correct.\nThis change doesn\u0027t break the ABI.\n\nAlso, mfc-\u003emfc_un.res.pkt, mfc-\u003emfc_un.res.bytes, mfc-\u003emfc_un.res.wrong_if\nare unsigned long.\n\nIt applies on top of net-next-2.6.\n\nThe patch for net-2.6 is slightly different because of the NIP6_FMT to\n%pI6 conversion that was made in the seq_printf.\n\nChangelog:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nV2:\n* Instead of breaking the ABI by suppressing the columns that have no\n  meaning for unresolved entries, fill them with 0 values.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "007c3838d9fdcc8fdaea87e4879ec3759f016ed5",
      "tree": "67f09220e48797dc2799a7db6b0b4f5cc8a99ac3",
      "parents": [
        "aa18e9e88c863a58f6ea63eeee0e740be071fdcf"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:28:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:28:35 2008 -0800"
      },
      "message": "ipmr: convert ipmr virtual interface to net_device_ops\n\nConvert to new network device ops interface.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ab33d51713d6d60c7677c0d020910a8cb37e513",
      "tree": "546c2ff099b2757e75cf34ddace874f1220f740e",
      "parents": [
        "7be6065b39c3f1cfa796667eac1a2170465acc91",
        "13d428afc007fcfcd6deeb215618f54cf9c0cae6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tinclude/net/mac80211.h\n\tnet/phonet/af_phonet.c\n"
    },
    {
      "commit": "eedd726efbc439dbed94fb8577e5533a986b341f",
      "tree": "5980fdeb7ad34e2cd3623fe8d3a477121c1e8dbb",
      "parents": [
        "3aa4614da741f10b09559a5675c79e2eff5cccd8"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Thu Nov 20 04:16:12 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 04:16:12 2008 -0800"
      },
      "message": "ipv6: use seq_release_private for ip6mr.c /proc entries\n\nIn ip6mr.c, /proc entries /proc/net/ip6_mr_cache and /proc/net/ip6_mr_vif\nare opened with seq_open_private(), thus seq_release_private() should be \nused to release them.\nShould fix a small memory leak.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e452baf6b96b5aeba097afd91501d33d390cc97",
      "tree": "9b0e062d3677d50d731ffd0fba47423bfdee9253",
      "parents": [
        "3ac38c3a2e7dac3f8f35a56eb85c27881a4c3833",
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 15:43:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 15:43:02 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/message/fusion/mptlan.c\n\tdrivers/net/sfc/ethtool.c\n\tnet/mac80211/debugfs_sta.c\n"
    },
    {
      "commit": "87b30a6530218cde431a659f2c118cb72175507c",
      "tree": "792683c82c1ddf7728698c68301cdaa67997bc8e",
      "parents": [
        "1207e795568a368928dfd23d6817e47f2e8097e3"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Mon Nov 10 16:34:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 10 16:34:11 2008 -0800"
      },
      "message": "ipv6: fix ip6_mr_init error path\n\nThe order of cleanup operations in the error/exit section of ip6_mr_init()\nis completely inversed. It should be the other way around.\nAlso a del_timer() is missing in the error path.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b095d98928fdb9e3b75be20a54b7a6cbf6ca9ad",
      "tree": "b6caa0cdbaac016447a790881ad4a6c5dfce6900",
      "parents": [
        "4b7a4274ca63dadd9c4f17fc953f3a5d19855c4c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 12:52:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 12:52:50 2008 -0700"
      },
      "message": "net: replace %p6 with %pI6\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c6ce78abf6e228d44c3840edb8a4ae0c1299825",
      "tree": "55f228de41dd191609310c03633579eec05b1f33",
      "parents": [
        "38ff4fa49bef77e86b21d95d9ce341a098f02839"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Oct 28 16:09:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 23:02:31 2008 -0700"
      },
      "message": "net: replace uses of NIP6_FMT with %p6\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "483a47d2fe794328d29950fe00ce26dd405d9437",
      "tree": "44a6daeb0ca377a733a1c8fcca44663ae8fd7811",
      "parents": [
        "3bd653c8455bc7991bae77968702b31c8f5df883"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 08 11:09:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 11:09:27 2008 -0700"
      },
      "message": "ipv6: added net argument to IP6_INC_STATS_BH\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "721499e8931c5732202481ae24f2dfbf9910f129",
      "tree": "c94d8d681966109bb41f712f21f3a9825ae2172d",
      "parents": [
        "407d819cf0fd54c6fc1138a509225696aecafd15"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "message": "netns: Use net_eq() to compare net-namespaces for optimization.\n\nWithout CONFIG_NET_NS, namespace is always \u0026init_net.\nCompiler will be able to omit namespace comparisons with this patch.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7af3db78a99f47b9ff40b8cb0bb08160ad6a3d6b",
      "tree": "d8d3e43ace346a484705c2a143366ae03ed12a42",
      "parents": [
        "5ae7b444137143a4e067b80354171ab128eb1b2b"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Jul 14 20:54:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:54:54 2008 -0700"
      },
      "message": "ipv6: Fix using after dev_put()\n\nPatrick McHardy pointed it out.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ae7b444137143a4e067b80354171ab128eb1b2b",
      "tree": "5a903c02c26d186d2ed95d81152ee28c5e2daaa3",
      "parents": [
        "bc3f9076f671f128c82022428992c30be57f22d5"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Jul 14 20:54:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:54:23 2008 -0700"
      },
      "message": "ipv6: Check return of dev_set_allmulti\n\nallmulti might overflow.\nCommit: \"netdevice: Fix promiscuity and allmulti overflow\" in net-next makes\ndev_set_promiscuity/allmulti return error number if overflow happened.\n\nHere, we check the positive increment for allmulti to get error return.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e \nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "4ae127d1b6c71f9240dd4245f240e6dd8fc98014",
      "tree": "b7aa27b3e0c655f4613fe2146cb57d7f69e421f6",
      "parents": [
        "875ec4333b99144e2589e900a0bcd2c25c757b27",
        "7775c9753b94fe429dc4323360d6502c95e0dd6e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 13 20:52:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 13 20:52:39 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/smc911x.c\n"
    },
    {
      "commit": "7d120c55df02a2b87f4aa317f1f04e398398dcdc",
      "tree": "4c0a8776d51c36bb656d5c9c6e2895a52e49f433",
      "parents": [
        "9cba632e24ef18e2905c18997a8f24e8d7a29e71"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Wed Apr 23 14:35:13 2008 +0300"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jun 12 02:38:13 2008 +0900"
      },
      "message": "ipv6 mroute: Use MRT6_VERSION instead of MRT_VERSION in ip6mr.c.\n\nMRT6_VERSION should be used instead of MRT_VERSION in ip6mr.c.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "d430a227d272fa514bade388bf511dba4ec2962a",
      "tree": "bcf633298ce9740f4c0f38278f3006d634da98eb",
      "parents": [
        "c409d52bd1f16b37d35a50162cbf6401011f1135"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Jun 02 10:59:02 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 04 08:06:02 2008 -0700"
      },
      "message": "bogus format in ip6mr\n\nptrdiff_t is %t..., not %Z...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc58c78c047fb01f4c13e7de91abc5eb931920b3",
      "tree": "f67a24b111698d1463cea202c36dea87641b4c9a",
      "parents": [
        "cf3677ae19c2f62979b39143f5d2f6b3dfb3b3e4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed May 21 14:17:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 21 14:43:46 2008 -0700"
      },
      "message": "ip6mr: Use on-device stats instead of private ones.\n\nSimilar to ipmr.\n\n[ Fix build failures -DaveM ]\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec6b486fa9f6d20bfbaebba1db88bfe9d390ab1a",
      "tree": "5bb2a05b285a1aea66d13cc41e4c82e2e384fa9b",
      "parents": [
        "5e2c433d9f84dd9b0e01ef8607380d53a7f64d69"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 26 22:28:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 27 14:26:49 2008 -0700"
      },
      "message": "ipv6: result of csum_fold() is already 16bit, no need to cast\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0912ea38de61378c5c753aef78c12e2f95854313",
      "tree": "fba14f973c7062a904f27fa47c45f81868be02f3",
      "parents": [
        "0b18542b7f5379e052d2a3132be91185776e7ceb"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Sun Apr 13 23:59:13 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 13 23:59:13 2008 -0700"
      },
      "message": "[IPV6] MROUTE: Add stats in multicast routing module method ip6_mr_forward().\n\nThis patches adds a call to increment IPSTATS_MIB_OUTFORWDATAGRAMS\nwhen forwarding the packet in ip6_mr_forward() in the IPv6 multicast\nrouting module (net/ipv6/ip6mr.c).\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "6ac7eb0868ccc9a2c597d6fd0b1ea09dcdc396ed",
      "tree": "451487036c27dccf248599956a5c6b711967904d",
      "parents": [
        "b2a9d7c2f8ab151fff78db06f1ae9b22a856e95e"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Thu Apr 10 12:40:10 2008 +0300"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Apr 12 13:43:26 2008 +0900"
      },
      "message": "[IPV6] MROUTE: Adjust IPV6 multicast routing module to use mroute6 header declarations.\n\n- This patch adjusts IPv6 multicast routing module, net/ipv6/ip6mr.c,\nto use mroute6 header definitions instead of mroute.\n (MFC6_LINES instead of MFC_LINES, MAXMIFS instead of MAXVIFS, mifi_t\ninstead of vifi_t.)\n\n- In addition, inclusion of some headers was removed as it is not needed.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "a9f83bf3858672164ed531cbc60ee9082d21d53f",
      "tree": "d36f642eb38fd89b3e5cac6b1ca2bdf9d45ceac5",
      "parents": [
        "02e10b90cd478bda81b4644102b0009bcd1d14ab"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Apr 10 15:41:28 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Apr 11 19:47:52 2008 +0900"
      },
      "message": "[IPV6]: Sparse: Reuse previous delaration where appropriate.\n\n| net/ipv6/ipv6_sockglue.c:162:16: warning: symbol \u0027net\u0027 shadows an earlier one\n| net/ipv6/ipv6_sockglue.c:111:13: originally declared here\n| net/ipv6/ipv6_sockglue.c:175:16: warning: symbol \u0027net\u0027 shadows an earlier one\n| net/ipv6/ipv6_sockglue.c:111:13: originally declared here\n| net/ipv6/ip6mr.c:1241:10: warning: symbol \u0027ret\u0027 shadows an earlier one\n| net/ipv6/ip6mr.c:1163:6: originally declared here\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "549e028d012fab01e5726943d4afecd0c33d64e6",
      "tree": "75c13c1a31643cd24b0973db8b7cb65ddcdeaab1",
      "parents": [
        "12802d058a003048104fe405a8d283b94ac50801"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Apr 05 22:17:39 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Apr 05 22:35:14 2008 +0900"
      },
      "message": "[IPV6] MROUTE: Use skb_tail_pointer(skb) instead of skb-\u003etail.\n\nThis bug resulted in compilation error on 64bit machines.\nPointed out by Rami Rosen \u003croszenrami@gmail.com\u003e.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\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"
    }
  ]
}
