)]}'
{
  "log": [
    {
      "commit": "ffa995e036bef734ea40cbbccda574d1df3a8a58",
      "tree": "396d7c202f1b0d82dce905e7d70c32708886f404",
      "parents": [
        "75cd33f86396c446f84c4bb620be70c36a2a54f6"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Thu Mar 01 15:35:17 2012 +0800"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Fri May 11 10:08:10 2012 +0200"
      },
      "message": "batman-adv: introduce packet type handler array for incoming packets\n\nThe packet handler array replaces the growing switch statement, thus\ndealing with incoming packets in a more efficient way. It also adds\nto possibility to register packet handlers on the fly.\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nAcked-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\n"
    },
    {
      "commit": "75cd33f86396c446f84c4bb620be70c36a2a54f6",
      "tree": "d6e118090a7aebe4f7e4082db411a8dd560a1537",
      "parents": [
        "9205cc521ec74bd510857a464d4ac4edee949bfd"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Thu Mar 01 15:35:16 2012 +0800"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Fri May 11 10:08:09 2012 +0200"
      },
      "message": "batman-adv: introduce is_single_hop_neigh variable to increase readability\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nAcked-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\n"
    },
    {
      "commit": "9205cc521ec74bd510857a464d4ac4edee949bfd",
      "tree": "ddc2e18bc62e0b8123df5c2ae956741e33222180",
      "parents": [
        "06a4c1c55dbe5d9f7a708e8f1a52fd2ac8e5874f"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Mon Feb 27 11:29:53 2012 +0100"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Fri May 11 10:08:08 2012 +0200"
      },
      "message": "batman-adv: fix wrong dhcp option list browsing\n\nIn is_type_dhcprequest(), while parsing a DHCP message, if the entry we found in\nthe option list is neither a padding nor the dhcp-type, we have to ignore it and\njump as many bytes as its length + 1. The \"+ 1\" byte is given by the subtype\nfield itself that has to be jumped too.\n\nReported-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\n"
    },
    {
      "commit": "06a4c1c55dbe5d9f7a708e8f1a52fd2ac8e5874f",
      "tree": "e118ac25a92ffae751709da562b59ea02e242184",
      "parents": [
        "76e3cc126bb223013a6b9a0e2a51238d1ef2e409"
      ],
      "author": {
        "name": "alex.bluesman.smirnov@gmail.com",
        "email": "alex.bluesman.smirnov@gmail.com",
        "time": "Thu May 10 03:25:52 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:38:22 2012 -0400"
      },
      "message": "6lowpan: IPv6 link local address\n\nAccording to the RFC4944 (Transmission of IPv6 Packets over\nIEEE 802.15.4 Networks), chapter 7:\n\nThe IPv6 link-local address [RFC4291] for an IEEE 802.15.4 interface\nis formed by appending the Interface Identifier, as defined above, to\nthe prefix FE80::/64.\n\n  10 bits            54 bits                  64 bits\n+----------+-----------------------+----------------------------+\n|1111111010|         (zeros)       |    Interface Identifier    |\n+----------+-----------------------+----------------------------+\n\nThis patch adds IPv6 address generation support for the 6lowpan\ninterfaces.\n\nSigned-off-by: Alexander Smirnov \u003calex.bluesman.smirnov@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76e3cc126bb223013a6b9a0e2a51238d1ef2e409",
      "tree": "37d1c2a3c4f4ebf68e9849262c7d75115652313f",
      "parents": [
        "2dd875ff31ac7ff42d6fc7d7f78ac6c0635439f5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu May 10 07:51:25 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:35:02 2012 -0400"
      },
      "message": "codel: Controlled Delay AQM\n\nAn implementation of CoDel AQM, from Kathleen Nichols and Van Jacobson.\n\nhttp://queue.acm.org/detail.cfm?id\u003d2209336\n\nThis AQM main input is no longer queue size in bytes or packets, but the\ndelay packets stay in (FIFO) queue.\n\nAs we don\u0027t have infinite memory, we still can drop packets in enqueue()\nin case of massive load, but mean of CoDel is to drop packets in\ndequeue(), using a control law based on two simple parameters :\n\ntarget : target sojourn time (default 5ms)\ninterval : width of moving time window (default 100ms)\n\nBased on initial work from Dave Taht.\n\nRefactored to help future codel inclusion as a plugin for other linux\nqdisc (FQ_CODEL, ...), like RED.\n\ninclude/net/codel.h contains codel algorithm as close as possible than\nKathleen reference.\n\nnet/sched/sch_codel.c contains the linux qdisc specific glue.\n\nSeparate structures permit a memory efficient implementation of fq_codel\n(to be sent as a separate work) : Each flow has its own struct\ncodel_vars.\n\ntimestamps are taken at enqueue() time with 1024 ns precision, allowing\na range of 2199 seconds in queue, and 100Gb links support. iproute2 uses\nusec as base unit.\n\nSelected packets are dropped, unless ECN is enabled and packets can get\nECN mark instead.\n\nTested from 2Mb to 10Gb speeds with no particular problems, on ixgbe and\ntg3 drivers (BQL enabled).\n\nUsage: tc qdisc ... codel [ limit PACKETS ] [ target TIME ]\n                          [ interval TIME ] [ ecn ]\n\nqdisc codel 10: parent 1:1 limit 2000p target 3.0ms interval 60.0ms ecn\n Sent 13347099587 bytes 8815805 pkt (dropped 0, overlimits 0 requeues 0)\n rate 202365Kbit 16708pps backlog 113550b 75p requeues 0\n  count 116 lastcount 98 ldelay 4.3ms dropping drop_next 816us\n  maxpacket 1514 ecn_mark 84399 drop_overlimit 0\n\nCoDel must be seen as a base module, and should be used keeping in mind\nthere is still a FIFO queue. So a typical setup will probably need a\nhierarchy of several qdiscs and packet classifiers to be able to meet\nwhatever constraints a user might have.\n\nOne possible example would be to use fq_codel, which combines Fair\nQueueing and CoDel, in replacement of sfq / sfq_red.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Dave Taht \u003cdave.taht@bufferbloat.net\u003e\nCc: Kathleen Nichols \u003cnichols@pollere.com\u003e\nCc: Van Jacobson \u003cvan@pollere.net\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Matt Mathis \u003cmattmathis@google.com\u003e\nCc: Yuchung Cheng \u003cycheng@google.com\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2dd875ff31ac7ff42d6fc7d7f78ac6c0635439f5",
      "tree": "c75209ccd8374f9695d4ec854d5b4bfb80c5e0dc",
      "parents": [
        "a6700db17980972199e61c06be535a79e1b0b4e6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu May 10 05:36:34 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:33:01 2012 -0400"
      },
      "message": "net_sched: update bstats in dequeue()\n\nClass bytes/packets stats can be misleading because they are updated in\nenqueue() while packet might be dropped later.\n\nWe already fixed all qdiscs but sch_atm.\n\nThis patch makes the final cleanup.\n\nclass rate estimators can now match qdisc ones.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6700db17980972199e61c06be535a79e1b0b4e6",
      "tree": "bd0f635fd96def6c13b3ad4bebbabf5d5e1fd011",
      "parents": [
        "baf523c9ba4a69e97b0b5a6fb0e0a9e43550a65b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed May 09 17:04:04 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:33:01 2012 -0400"
      },
      "message": "net, drivers/net: Convert compare_ether_addr_64bits to ether_addr_equal_64bits\n\nUse the new bool function ether_addr_equal_64bits to add\nsome clarity and reduce the likelihood for misuse of\ncompare_ether_addr_64bits for sorting.\n\nDone via cocci script:\n\n$ cat compare_ether_addr_64bits.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr_64bits(a, b)\n+\tether_addr_equal_64bits(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr_64bits(a, b)\n+\t!ether_addr_equal_64bits(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal_64bits(a, b) \u003d\u003d 0\n+\tether_addr_equal_64bits(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal_64bits(a, b) !\u003d 0\n+\t!ether_addr_equal_64bits(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal_64bits(a, b) \u003d\u003d 0\n+\t!ether_addr_equal_64bits(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal_64bits(a, b) !\u003d 0\n+\tether_addr_equal_64bits(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal_64bits(a, b)\n+\tether_addr_equal_64bits(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "baf523c9ba4a69e97b0b5a6fb0e0a9e43550a65b",
      "tree": "9c0a9ba3234ceecf51f292bb2089ce787d993b8b",
      "parents": [
        "2e42e4747ea72943c21551d8a206b51a9893b1e0"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed May 09 17:04:03 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:33:01 2012 -0400"
      },
      "message": "etherdevice.h: Add ether_addr_equal_64bits\n\nAdd an optimized boolean function to check if\n2 ethernet addresses are the same.\n\nThis is to avoid any confusion about compare_ether_addr_64bits\nreturning an unsigned, and not being able to use the\ncompare_ether_addr_64bits function for sorting ala memcmp.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e42e4747ea72943c21551d8a206b51a9893b1e0",
      "tree": "a92473c485911b51e1d960c9c8fa34dfc9be0a46",
      "parents": [
        "39f1d94d300a58eb3e9b851d077cada4e2fa9d46"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed May 09 17:17:46 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:33:01 2012 -0400"
      },
      "message": "drivers/net: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39f1d94d300a58eb3e9b851d077cada4e2fa9d46",
      "tree": "59e712ce3241535273ebef657b4bb74f1dfec34f",
      "parents": [
        "d301e3256866bfd3ae3093aeb43d3ca9570d758e"
      ],
      "author": {
        "name": "Sathya Perla",
        "email": "sathya.perla@emulex.com",
        "time": "Tue May 08 19:41:24 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:33:00 2012 -0400"
      },
      "message": "be2net: avoid disabling sriov while VFs are assigned\n\nCalling pci_disable_sriov() while VFs are assigned to VMs causes\nkernel panic. This patch uses PCI_DEV_FLAGS_ASSIGNED bit state of the\nVF\u0027s pci_dev to avoid this. Also, the unconditional function reset cmd\nissued on a PF probe can delete the VF configuration for the\npreviously enabled VFs. A scratchpad register is now used to issue a\nfunction reset only when needed (i.e., in a crash dump scenario.)\n\nSigned-off-by: Sathya Perla \u003csathya.perla@emulex.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d301e3256866bfd3ae3093aeb43d3ca9570d758e",
      "tree": "7395dbcfcefa7bbd1fc4ad68d8beed12190819be",
      "parents": [
        "38d40b3f4e223336422b7e87cb483e758ef87e3a"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Wed May 09 23:43:09 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:27:34 2012 -0400"
      },
      "message": "l2tp: fix data packet sequence number handling\n\nIf enabled, L2TP data packets have sequence numbers which a receiver\ncan use to drop out of sequence frames or try to reorder them. The\nfirst frame has sequence number 0, but the L2TP code currently expects\nit to be 1. This results in the first data frame being handled as out\nof sequence.\n\nThis one-line patch fixes the problem.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38d40b3f4e223336422b7e87cb483e758ef87e3a",
      "tree": "59a1e49485c3fa596cf7538fd11c1aca589ad5ff",
      "parents": [
        "1070b1b831404455d79d15fe94ae9216fb5f8ab4"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Wed May 09 23:43:08 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:27:34 2012 -0400"
      },
      "message": "l2tp: fix reorder timeout recovery\n\nWhen L2TP data packet reordering is enabled, packets are held in a\nqueue while waiting for out-of-sequence packets. If a packet gets\nlost, packets will be held until the reorder timeout expires, when we\nare supposed to then advance to the sequence number of the next packet\nbut we don\u0027t currently do so. As a result, the data channel is stuck\nbecause we are waiting for a packet that will never arrive - all\npackets age out and none are passed.\n\nThe fix is to add a flag to the session context, which is set when the\nreorder timeout expires and tells the receive code to reset the next\nexpected sequence number to that of the next packet in the queue.\n\nTested in a production L2TP network with Starent and Nortel L2TP gear.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1070b1b831404455d79d15fe94ae9216fb5f8ab4",
      "tree": "e371f8d9c09c0a6265aba39dec9ef2b1dd87f9fc",
      "parents": [
        "3c961afed4d4e766b66092e7af8c8e8005053505"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu May 10 01:50:20 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:24:36 2012 -0400"
      },
      "message": "tcp: Out-line tcp_try_rmem_schedule\n\nAs proposed by Eric, make the tcp_input.o thinner.\n\nadd/remove: 1/1 grow/shrink: 1/4 up/down: 868/-1329 (-461)\nfunction                                     old     new   delta\ntcp_try_rmem_schedule                          -     864    +864\ntcp_ack                                     4811    4815      +4\ntcp_validate_incoming                        817     815      -2\ntcp_collapse                                 860     858      -2\ntcp_send_rcvq                                555     353    -202\ntcp_data_queue                              3435    3033    -402\ntcp_prune_queue                              721       -    -721\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c961afed4d4e766b66092e7af8c8e8005053505",
      "tree": "1bc4194a29e125bac5585ee2a45a94e8abc7a408",
      "parents": [
        "292e8d8c853889140ed77b7b37c66979b13080ae"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu May 10 01:50:01 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:24:35 2012 -0400"
      },
      "message": "tcp: Schedule rmem for rcvq repair send\n\nAs noted by Eric, no checks are performed on the data size we\u0027re\nputting in the read queue during repair. Thus, validate the given\ndata size with the common rmem management routine.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "292e8d8c853889140ed77b7b37c66979b13080ae",
      "tree": "7b5c1e110d68904277826e13c9daed638fef618d",
      "parents": [
        "74e04aca1abb8d697ca88e472a2d08dfbe19a0e1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu May 10 01:49:41 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:24:35 2012 -0400"
      },
      "message": "tcp: Move rcvq sending to tcp_input.c\n\nIt actually works on the input queue and will use its read mem\nroutines, thus it\u0027s better to have in in the tcp_input.c file.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "74e04aca1abb8d697ca88e472a2d08dfbe19a0e1",
      "tree": "7c929bd91005da74ce6600a4ca647658ce785e55",
      "parents": [
        "01da0c2b0391443d98c2088121901d029f72a4f2",
        "eef4560f841a6c9538ced96cbb5f0b4fe4bb1976"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:16:35 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:16:35 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next\n"
    },
    {
      "commit": "eef4560f841a6c9538ced96cbb5f0b4fe4bb1976",
      "tree": "50dfef86ff6e1a8852858e41234e6c27128d0ae8",
      "parents": [
        "1210982bb6ccc39f4252100b00073b7ee3f2e5ce"
      ],
      "author": {
        "name": "Don Skidmore",
        "email": "donald.c.skidmore@intel.com",
        "time": "Sat Apr 28 03:29:22 2012 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 23:18:03 2012 -0700"
      },
      "message": "ixgbe: update version number\n\nUpdate version number to better match the version of the out of tree\ndriver with similar functionality.\n\nSigned-off-by: Don Skidmore \u003cdonald.c.skidmore@intel.com\u003e\nTested-by: Phil Schmitt \u003cphillip.j.schmitt@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "1210982bb6ccc39f4252100b00073b7ee3f2e5ce",
      "tree": "907c5dcc10e3cf6d2fe3fdc48bb99dfbd986656e",
      "parents": [
        "aa7bd467e3db3ddac503d0126a0c021871ca7d88"
      ],
      "author": {
        "name": "Don Skidmore",
        "email": "donald.c.skidmore@intel.com",
        "time": "Fri May 04 06:07:08 2012 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 23:14:43 2012 -0700"
      },
      "message": "ixgbe: cleanup the hwmon function calls\n\nWhen the hwmon code was initially added it was with the assumption that a\nsysfs patch would be also coming soon.  Since that isn\u0027t the case some\nclean up needs to be done.  This patch does that.\n\nSigned-off-by: Don Skidmore \u003cdonald.c.skidmore@intel.com\u003e\nTested-by: Stephen Ko \u003cstephen.s.ko@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "aa7bd467e3db3ddac503d0126a0c021871ca7d88",
      "tree": "5338f8ae1ca7fa9280c6d9f7cc0241bbaced3c6c",
      "parents": [
        "e3aac889c78ab87de40a90cbb5fc0ff56394f47c"
      ],
      "author": {
        "name": "Jacob Keller",
        "email": "jacob.e.keller@intel.com",
        "time": "Fri May 04 01:55:23 2012 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 23:13:26 2012 -0700"
      },
      "message": "ixgbe: support software timestamping\n\nKernel software timestamping requires that the driver calls skb_tx_timestamp\njust before passing the skb to the MAC, in order to provide the best software\ntimestamps. This patch adds this call for that support.\n\nSigned-off-by: Jacob Keller \u003cjacob.e.keller@intel.com\u003e\nTested-by: Phil Schmitt \u003cphillip.j.schmitt@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "e3aac889c78ab87de40a90cbb5fc0ff56394f47c",
      "tree": "10e6a336b59e16644152a76a08d56131f613b7c4",
      "parents": [
        "db76ad470e4577e4664af699d73ff7426791cde5"
      ],
      "author": {
        "name": "Jacob Keller",
        "email": "jacob.e.keller@intel.com",
        "time": "Fri May 04 02:56:12 2012 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 23:12:03 2012 -0700"
      },
      "message": "ixgbe: add support for get_ts_info\n\nThis patch adds support for the ethtool get_ts_info operation, which enables\naccess of available timestamp/timesync support for that device. It can query\nwhich ptp clock device is associated with the particular port.\n\nSigned-off-by: Jacob Keller \u003cjacob.e.keller@intel.com\u003e\nTested-by: Stephen Ko \u003cstephen.s.ko@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "db76ad470e4577e4664af699d73ff7426791cde5",
      "tree": "afa645fa9e96f8ccc383534a9c46fcc5a37ecaf6",
      "parents": [
        "681ae1adc42387dae71bc6aa8126215bddc55607"
      ],
      "author": {
        "name": "Jacob Keller",
        "email": "jacob.e.keller@intel.com",
        "time": "Thu May 03 01:44:12 2012 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 23:07:26 2012 -0700"
      },
      "message": "ixgbe: correct disable_rx_buff timeout\n\nThe current value of the udelay timeout for ixgbe_disable_rx_buff is too\nshort. This causes the security path to not not be properly disabled during\nthe section that is meant to have it turned off. The end result causes a race\ncondition that results in RX issues.\n\nSigned-off-by: Jacob Keller \u003cjacob.e.keller@intel.com\u003e\nTested-by: Phil Schmitt \u003cphillip.j.schmitt@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "681ae1adc42387dae71bc6aa8126215bddc55607",
      "tree": "ae40cf0a91fbbc89c331b8019cc22a2f4f2950cc",
      "parents": [
        "3a6a4edaa59273fabbc96832ca6f50116b3160fb"
      ],
      "author": {
        "name": "Jacob E Keller",
        "email": "jacob.e.keller@intel.com",
        "time": "Tue May 01 05:24:41 2012 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 22:55:39 2012 -0700"
      },
      "message": "ixgbe: Enable timesync clock-out feature for PPS support on X540\n\nThis patch enables the PPS system in the PHC framework, by enabling\nthe clock-out feature on the X540 device. Causes the SDP0 to be set as\na 1Hz clock. Also configures the timesync interrupt cause in order to\nreport each pulse to the PPS via the PHC framework, which can be used\nfor general system clock synchronization. (This allows a stable method\nfor tuning the general system time via the on-board SYSTIM register\nbased clock.)\n\nSigned-off-by: Jacob E Keller \u003cjacob.e.keller@intel.com\u003e\nTested-by: Stephen Ko \u003cstephen.s.ko@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "3a6a4edaa59273fabbc96832ca6f50116b3160fb",
      "tree": "647d97fb0c556fd973cc3f001b98fea06d9226f1",
      "parents": [
        "44b82dded19be8f09d0fee373f395935cef79c41"
      ],
      "author": {
        "name": "Jacob Keller",
        "email": "jacob.e.keller@intel.com",
        "time": "Tue May 01 05:24:58 2012 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 22:48:51 2012 -0700"
      },
      "message": "ixgbe: Hardware Timestamping + PTP Hardware Clock (PHC)\n\nThis patch enables hardware timestamping for use with PTP software by\nextracting a ns counter from an arbitrary fixed point cycles counter.\nThe hardware generates SYSTIME registers using the DMA tick which\nchanges based on the current link speed. These SYSTIME registers are\nconverted to ns using the cyclecounter and timecounter structures\nprovided by the kernel. Using the SO_TIMESTAMPING api, software can\nenable and access timestamps for PTP packets.\n\nThe SO_TIMESTAMPING API has space for 3 different kinds of timestamps,\nSYS, RAW, and SOF. SYS hardware timestamps are hardware ns values that\nare then scaled to the software clock. RAW hardware timestamps are the\ndirect raw value of the ns counter. SOF software timestamps are the\nsoftware timestamp calculated as close as possible to the software\ntransmit, but are not offloaded to the hardware. This patch only\nsupports the RAW hardware timestamps due to inefficiency of the SYS\ndesign.\n\nThis patch also enables the PHC subsystem features for atomically\nadjusting the cycle register, and adjusting the clock frequency in\nparts per billion. This frequency adjustment works by slightly\nadjusting the value added to the cycle registers each DMA tick. This\ncauses the hardware registers to overflow rapidly (approximately once\nevery 34 seconds, when at 10gig link). To solve this, the timecounter\nstructure is used, along with a timer set for every 25 seconds. This\nallows for detecting register overflow and converting the cycle\ncounter registers into ns values needed for providing useful\ntimestamps to the network stack.\n\nOnly the basic required clock functions are supported at this time,\nalthough the hardware supports some ancillary features and these could\neasily be enabled in the future.\n\nNote that use of this hardware timestamping requires modifying daemon\nsoftware to use the SO_TIMESTAMPING API for timestamps, and the\nptp_clock PHC framework for accessing the clock. The timestamps have\nno relation to the system time at all, so software must use the posix\nclock generated by the PHC framework instead.\n\nSigned-off-by: Jacob E Keller \u003cjacob.e.keller@intel.com\u003e\nTested-by: Stephen Ko \u003cstephen.s.ko@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "44b82dded19be8f09d0fee373f395935cef79c41",
      "tree": "d9e2f00819917b035cda3a68513a8069182340b7",
      "parents": [
        "3ebe8fdeb043e8c630cac6dc90d483e729e17017"
      ],
      "author": {
        "name": "Greg Rose",
        "email": "gregory.v.rose@intel.com",
        "time": "Sat Apr 21 00:54:28 2012 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 22:40:29 2012 -0700"
      },
      "message": "ixgbe: Fix bogus error message\n\nIf the VF sends a MACVLAN request with index of zero then it is not\nactually trying to add a filter.  Check the index value and only\nindicate that operation is not allowed when the VF is actually trying\nto add a filter.\n\nSigned-off-by: Greg Rose \u003cgregory.v.rose@intel.com\u003e\nTested-by: Sibai Li \u003csibai.li@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "3ebe8fdeb043e8c630cac6dc90d483e729e17017",
      "tree": "d4f16a8ac2bb88460cf817477d5acb4a3e18f54d",
      "parents": [
        "943561d3e7f82645aafb65839feb9f99e2718bac"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Wed Apr 25 04:36:38 2012 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 22:31:44 2012 -0700"
      },
      "message": "ixgbe: Set Drop_EN bit when multiple Rx queues are present w/o flow control\n\nThe drop enable bit can be used to improve the performance of the adapter\nin the case of multiple queues being present.  This performance gain is due\nto the fact that some slower CPUs can cause the FIFO to backfill preventing\nfaster CPUs from receiving additional work.  By setting the drop enable bit\nwe prevent this and instead just drop the packets that would have been\nbound for the slower CPU.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "943561d3e7f82645aafb65839feb9f99e2718bac",
      "tree": "ad98ffc6c1cb0aa2ec3014abc5779997ed783f72",
      "parents": [
        "dcaccc825b5475266bf343defa086d7b70b599f9"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Wed May 09 22:14:44 2012 -0700"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 22:15:40 2012 -0700"
      },
      "message": "ixgbe: Clean up priority based flow control\n\nThis change cleans up the logic in the priority based flow control\nconfiguration routines.  Both the 82599 and 82598 based routines perform\nsimilar functions however they are both arranged completely differently.\nThis patch goes over both of them to clean up the code.\n\nIn addition I am dropping the ixgbe_fc_pfc flow control mode and instead\njust replacing it with checks for if priority flow control is enabled.\nThis allows us to maintain some of the link flow control information which\nallows for an easier transition between link and priority flow control.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "dcaccc825b5475266bf343defa086d7b70b599f9",
      "tree": "4dbf4498803a5eb5cc274f4732be17af3db47462",
      "parents": [
        "7e3b4ffb38b550b42c3868cffedb734c3a507073"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Wed Mar 28 08:03:38 2012 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 22:02:05 2012 -0700"
      },
      "message": "ixgbe: Exit on error case in VF message processing\n\nPreviously we would get a mailbox error and still process the message.\nInstead we should exit on error.\n\nIn addition we should also be flushing the ACK of the message so that we\ncan guarantee that the other end is aware we have received the message\nwhile we are processing it.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nTested-by: Sibai Li \u003csibai.li@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "7e3b4ffb38b550b42c3868cffedb734c3a507073",
      "tree": "bb68775280c644a61d635980b70459eb6b0acaf6",
      "parents": [
        "958a7586814e3498dbb2124de195982163af6bbc"
      ],
      "author": {
        "name": "Koki Sanagi",
        "email": "sanagi.koki@jp.fujitsu.com",
        "time": "Wed Feb 15 14:45:39 2012 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 21:41:55 2012 -0700"
      },
      "message": "igb: output register\u0027s information related to RX/TX queue[4-15]\n\nCurrent igb outputs registers related to TX/RX queues(ex. RDT, RDH, TDT, TDH).\nBut it thinks the number of RX/TX queues is 4. But 82576 has 16 RX/TX queues.\nThis patch modifies igb to output the rest of the registers if the device is\n82576.\n\nSigned-off-by: Koki Sanagi \u003csanagi.koki@jp.fujitsu.com\u003e\nAcked-by: Carolyn Wyborny \u003ccarolyn.wyborny@intel.com\u003e\nTested-by: Aaron Brown \u003caaron.f.brown@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "958a7586814e3498dbb2124de195982163af6bbc",
      "tree": "d8a23fc9414b5ce994bd23426844a56afecb3fc5",
      "parents": [
        "eeb0d0132d7a5f0ca149d1c6d6aeeafa19a98594",
        "8feedbb4a710784d2858acba5c90e903e93e36eb"
      ],
      "author": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 21:12:37 2012 -0700"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 21:12:37 2012 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n"
    },
    {
      "commit": "01da0c2b0391443d98c2088121901d029f72a4f2",
      "tree": "086fb635feffda45ab629820127e8442e41ae16e",
      "parents": [
        "d612698b6246032370b96abc9afe94c8a66772c2"
      ],
      "author": {
        "name": "Rajesh Borundia",
        "email": "rajesh.borundia@qlogic.com",
        "time": "Wed May 09 05:55:30 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 22:53:04 2012 -0400"
      },
      "message": "netxen_nic: Fix estimation of recv MSS in case of LRO\n\no Linux stack estimates MSS from skb-\u003elen or skb_shinfo(skb)-\u003egso_size.\nIn case of LRO skb-\u003elen is aggregate of len of number of packets hence MSS\nobtained using skb-\u003elen would be incorrect. Incorrect estimation of recv MSS\nwould lead to delayed acks in some traffic patterns (which sends two or three\npackets and wait for ack and only then send remaining packets). This leads to\ndrop in performance. Hence we need to set gso_size to MSS obtained from firmware.\n\no This is fixed recently in firmware hence the MSS is obtained based on\ncapability. If fw is capable of sending the MSS then only driver sets the gso_size.\n\nSigned-off-by: Rajesh Borundia \u003crajesh.borundia@qlogic.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d612698b6246032370b96abc9afe94c8a66772c2",
      "tree": "ad1e8b8b6a3889c2c7d4807d1561cac2f5807a19",
      "parents": [
        "d8c3e77298cf0f103e6e70fb54014e2aed494c3e"
      ],
      "author": {
        "name": "Sucheta Chakraborty",
        "email": "sucheta.chakraborty@qlogic.com",
        "time": "Wed May 09 05:55:29 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 22:53:04 2012 -0400"
      },
      "message": "netxen: added miniDIMM support in driver.\n\nDriver queries DIMM information from firmware and accordingly\nsets \"presence\" field of the structure.\n\"presence\" field when set to 0xff denotes invalid flag. And when\nset to 0x0 denotes DIMM memory is not present.\n\nSigned-off-by: Sucheta Chakraborty \u003csucheta.chakraborty@qlogic.com\u003e\nSigned-off-by: Rajesh Borundia \u003crajesh.borundia@qlogic.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8c3e77298cf0f103e6e70fb54014e2aed494c3e",
      "tree": "d128870e0842827f8ec2a18374435ff5c1ceac26",
      "parents": [
        "458c2858238ead2a0f3d42ee0bcfa2e24f152321"
      ],
      "author": {
        "name": "Manish chopra",
        "email": "manish.chopra@qlogic.com",
        "time": "Wed May 09 05:55:28 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 22:53:04 2012 -0400"
      },
      "message": "netxen_nic: Allow only useful and recommended firmware dump capture mask values\n\no 0x3, 0x7, 0xF, 0x1F, 0x3F, 0x7F and 0xFF are the allowed capture masks.\n\nSigned-off-by: Manish chopra \u003cmanish.chopra@qlogic.com\u003e\nSigned-off-by: Rajesh Borundia \u003crajesh.borundia@qlogic.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "458c2858238ead2a0f3d42ee0bcfa2e24f152321",
      "tree": "fc1ed95407c58a74173871f9e03d0dfe0fdbab66",
      "parents": [
        "ae535ba448d5a4a9ba9e92e00ce80cfb8ee058cd"
      ],
      "author": {
        "name": "Sritej Velaga",
        "email": "sritej.velaga@qlogic.com",
        "time": "Wed May 09 05:55:27 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 22:53:04 2012 -0400"
      },
      "message": "netxen_nic: disable minidump by default\n\ndisable fw dump by default at start up.\n\nSigned-off-by: Sritej Velaga \u003csritej.velaga@qlogic.com\u003e\nSigned-off-by: Rajesh Borundia \u003crajesh.borundia@qlogic.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae535ba448d5a4a9ba9e92e00ce80cfb8ee058cd",
      "tree": "04f62176c0eb313036f3c99ec556ff81ea9ee86e",
      "parents": [
        "8feedbb4a710784d2858acba5c90e903e93e36eb",
        "ba62b2a8608ca52234fc8bea27bfebbdc4f98c2e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 22:51:17 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 22:51:17 2012 -0400"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next\n"
    },
    {
      "commit": "ba62b2a8608ca52234fc8bea27bfebbdc4f98c2e",
      "tree": "ff80e67314ffae101dfdbeda300085dad1b343b7",
      "parents": [
        "c087bd2cfdaf334d7d0c32bd1fcc1a23d5b88973"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Sat May 05 01:36:50 2012 +0100"
      },
      "committer": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu May 10 03:10:54 2012 +0100"
      },
      "message": "sfc: Implement module EEPROM access for SFE4002 and SFN4112F\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\n"
    },
    {
      "commit": "c087bd2cfdaf334d7d0c32bd1fcc1a23d5b88973",
      "tree": "9b0edadd759f4210ad890a686880f85e31f0bc2c",
      "parents": [
        "41c3cb6d20f0252308e9796fa4f3dacb4960de91"
      ],
      "author": {
        "name": "Stuart Hodgson",
        "email": "smhodgson@solarflare.com",
        "time": "Tue May 01 18:50:43 2012 +0100"
      },
      "committer": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu May 10 03:10:46 2012 +0100"
      },
      "message": "sfc: Added support for new ethtool APIs for obtaining module eeprom\n\nCurrently allows for SFP+ eeprom to be returned using the ethtool API.\nThis can be extended in future to handle different eeprom formats\nand sizes\n\nSigned-off-by: Stuart Hodgson \u003csmhodgson@solarflare.com\u003e\n[bwh: Drop redundant validation, comment, whitespace]\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\n"
    },
    {
      "commit": "41c3cb6d20f0252308e9796fa4f3dacb4960de91",
      "tree": "cc816536a6cc0b5c6e971a2b8b0828e1ee9f43b9",
      "parents": [
        "081d094eaab894ae5a517fde56179dfe67773ff0"
      ],
      "author": {
        "name": "Stuart Hodgson",
        "email": "smhodgson@solarflare.com",
        "time": "Thu Apr 19 09:44:42 2012 +0100"
      },
      "committer": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu May 10 02:22:17 2012 +0100"
      },
      "message": "ethtool: Extend the ethtool API to obtain plugin module eeprom data\n\nETHTOOL_GMODULEINFO returns a new struct ethtool_modinfo that will return the\ntype and size of plug-in module eeprom (such as SFP+) for parsing\nby userland program.\n\nETHTOOL_GMODULEEEPROM returns the raw eeprom information\nusing the existing ethtool_eeprom structture to return the data\n\nSigned-off-by: Stuart Hodgson \u003csmhodgson@solarflare.com\u003e\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\n"
    },
    {
      "commit": "081d094eaab894ae5a517fde56179dfe67773ff0",
      "tree": "c8b1533cc8910c9259465eb4a4f1cdc953444e3f",
      "parents": [
        "64235187c2b32913fc41dfafc98e3a77ea7c0217"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu Apr 12 00:42:12 2012 +0000"
      },
      "committer": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu May 10 02:22:17 2012 +0100"
      },
      "message": "ethtool: Split ethtool_get_eeprom() to allow for additional EEPROM accessors\n\nWe want to support reading module (SFP+, XFP, ...) EEPROMs as well as\nNIC EEPROMs.  They will need a different command number and driver\noperation, but the structure and arguments will be the same and so we\ncan share most of the code here.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\n"
    },
    {
      "commit": "64235187c2b32913fc41dfafc98e3a77ea7c0217",
      "tree": "4d2faf81428d4c5c3741823c0c5700a39f80db4a",
      "parents": [
        "da9ca505829f6c270b239536b1b169644d7cf072"
      ],
      "author": {
        "name": "David Riddoch",
        "email": "driddoch@solarflare.com",
        "time": "Wed Apr 11 13:12:41 2012 +0100"
      },
      "committer": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu May 10 02:22:17 2012 +0100"
      },
      "message": "sfc: By default refill RX rings as soon as space for a batch\n\nPreviously we refilled with much larger batches, which caused large latency\nspikes.  We now have many more much much smaller spikes!\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\n"
    },
    {
      "commit": "da9ca505829f6c270b239536b1b169644d7cf072",
      "tree": "a5ec93e6649c972576a60a56b4bd09d09d3b581a",
      "parents": [
        "3de4e30196f09ff2c096f2f8e17ebc9adda9db8d"
      ],
      "author": {
        "name": "David Riddoch",
        "email": "driddoch@solarflare.com",
        "time": "Wed Apr 11 13:09:24 2012 +0100"
      },
      "committer": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu May 10 02:22:17 2012 +0100"
      },
      "message": "sfc: Fill RX rings completely full, rather than to 95% full\n\nThere was no runtime control of the fast_fill_limit in any case, so purged\nthat field.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\n"
    },
    {
      "commit": "3de4e30196f09ff2c096f2f8e17ebc9adda9db8d",
      "tree": "dcb1901d793c467fa031046737c3ab12186944eb",
      "parents": [
        "3dca9d2dc285faf1910d405b65df845cab061356"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu Apr 05 00:22:19 2012 +0100"
      },
      "committer": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu May 10 02:22:16 2012 +0100"
      },
      "message": "sfc: Fix missing cleanup in failure path of efx_pci_probe()\n\nWe need to clear the private data pointer in the PCI device.\nAlso reorder cleanup in efx_pci_remove() for symmetry.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\n"
    },
    {
      "commit": "3dca9d2dc285faf1910d405b65df845cab061356",
      "tree": "2fbc8f7dbe766e99664db565617d73a8e6e0b4d5",
      "parents": [
        "2e7d21c54adbab6d10481eddc685328f89bb6389"
      ],
      "author": {
        "name": "Stuart Hodgson",
        "email": "smhodgson@solarflare.com",
        "time": "Fri Mar 30 13:04:51 2012 +0100"
      },
      "committer": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu May 10 02:22:08 2012 +0100"
      },
      "message": "sfc: Do not attempt to flush queues if DMA is disabled\n\nefx_nic_fatal_interrupt() disables DMA before scheduling a reset.\nAfter this, we need not and *cannot* flush queues.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\n"
    },
    {
      "commit": "8feedbb4a710784d2858acba5c90e903e93e36eb",
      "tree": "d8a23fc9414b5ce994bd23426844a56afecb3fc5",
      "parents": [
        "4c764729aba365796c09d988f53043891f822acb"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:57 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:19 2012 -0400"
      },
      "message": "dsa: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c764729aba365796c09d988f53043891f822acb",
      "tree": "71794f62b9c66c9b1edeaa355ff8890a60574ae0",
      "parents": [
        "ac422d3cc25351819ec80b7e2852fd2c600c317c"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:56 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:19 2012 -0400"
      },
      "message": "wireless: Convert compare_ether_addr to ether_addr_equal by hand\n\nspatch/coccinelle isn\u0027t perfect.  It doesn\u0027t understand\n__aligned(x) and doesn\u0027t convert functions it can\u0027t parse.\n\nConvert the remaining compare_ether_addr uses.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac422d3cc25351819ec80b7e2852fd2c600c317c",
      "tree": "a6ca456ad41256bf2cee71a189c1c05027f16532",
      "parents": [
        "8561cf99785faf73cccb9f417170d8b5844bf496"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:55 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:19 2012 -0400"
      },
      "message": "wireless: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nI removed a conversion from scan.c/cmp_bss_core\nthat appears to be a sorting function.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8561cf99785faf73cccb9f417170d8b5844bf496",
      "tree": "ff213744b29817bdb922ffe7661da97eec0b7c53",
      "parents": [
        "3bc7945e2642bcea92b0fd6a718565f45061439f"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:54 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:18 2012 -0400"
      },
      "message": "netfilter: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3bc7945e2642bcea92b0fd6a718565f45061439f",
      "tree": "4437668566814f6a9f10a6ddcf22e575e208a039",
      "parents": [
        "b203ca39126bad99583c908be587df067820a1ea"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:53 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:18 2012 -0400"
      },
      "message": "mac80211: Convert compare_ether_addr to ether_addr_equal by hand\n\nspatch/coccinelle isn\u0027t perfect.  It doesn\u0027t understand\n__aligned(x) and doesn\u0027t convert functions it can\u0027t parse.\n\nConvert the remaining compare_ether_addr uses.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b203ca39126bad99583c908be587df067820a1ea",
      "tree": "940e32bd15392b400cf50c2ac31c7895637c09fe",
      "parents": [
        "c47fc9814ca15cc075f1f09e8c069b041f2ea397"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:52 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:18 2012 -0400"
      },
      "message": "mac80211: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c47fc9814ca15cc075f1f09e8c069b041f2ea397",
      "tree": "bf03a7e2ebe89b5ec993762d4386b4e1a752726a",
      "parents": [
        "150238ebb4a1ad2c3d09aea754720ad2e898c59f"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:51 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:18 2012 -0400"
      },
      "message": "bluetooth: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "150238ebb4a1ad2c3d09aea754720ad2e898c59f",
      "tree": "9ff803ca540794241bfd07cebde9cc19593a5af6",
      "parents": [
        "9a7b6ef9b9938a1f5cb91ccc0b713b9443edc79f"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:50 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:17 2012 -0400"
      },
      "message": "atm: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a7b6ef9b9938a1f5cb91ccc0b713b9443edc79f",
      "tree": "9fcdd72bb2adb4e481bf30aa0143d65627ebd637",
      "parents": [
        "171fe5ef140571c7465e625e9cd9fdf3340ad20e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:17 2012 -0400"
      },
      "message": "bridge: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "171fe5ef140571c7465e625e9cd9fdf3340ad20e",
      "tree": "553cbdbf6346844d70b67f5a87db0243a886d069",
      "parents": [
        "53a2b3a18d7ec8fc026bbcb59ed722f780b5abcc"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:48 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:17 2012 -0400"
      },
      "message": "bridge: netfilter: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53a2b3a18d7ec8fc026bbcb59ed722f780b5abcc",
      "tree": "636cab4d31a12602919e41796e13d6e729eb45ba",
      "parents": [
        "28b29801b95de20405b2a11945cb6dfc7c6c84f9"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:47 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:17 2012 -0400"
      },
      "message": "8021q: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28b29801b95de20405b2a11945cb6dfc7c6c84f9",
      "tree": "63b29d9295b2989eedf876717bc96432b72b0237",
      "parents": [
        "a599b0f54d233d0f63d6be9a2ff0049d24751669"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:46 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:17 2012 -0400"
      },
      "message": "802: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a599b0f54d233d0f63d6be9a2ff0049d24751669",
      "tree": "f2af4db8faa12de568e31d475f4680cb5e7d282d",
      "parents": [
        "a49d1a905ed96c7a790d9535e2bc62d3f2f55a05"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 18:56:45 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 20:49:16 2012 -0400"
      },
      "message": "etherdevice.h: Add ether_addr_equal\n\nAdd a boolean function to check if 2 ethernet addresses\nare the same.\n\nThis is to avoid any confusion about compare_ether_addr\nreturning an unsigned, and not being able to use the\ncompare_ether_addr function for sorting ala memcmp.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a49d1a905ed96c7a790d9535e2bc62d3f2f55a05",
      "tree": "709bdaab23aa7ef98aad0cdfd4d8ecd8324650cc",
      "parents": [
        "2e7d21c54adbab6d10481eddc685328f89bb6389",
        "0197dee7d3182bb6b6a21955860dfa14fa022d84"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 18:07:44 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 18:07:44 2012 -0400"
      },
      "message": "Merge git://1984.lsi.us.es/net-next\n"
    },
    {
      "commit": "2e7d21c54adbab6d10481eddc685328f89bb6389",
      "tree": "f428119c05ac9daedd18921760131980bff6dee0",
      "parents": [
        "9bb862beb6e5839e92f709d33fda07678f062f20"
      ],
      "author": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 02:23:46 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 12:06:39 2012 -0400"
      },
      "message": "e1000e: Fix merge conflict (net-\u003enet-next)\n\nDuring merge of net to net-next the changes in patch:\n\ne1000e: Fix default interrupt throttle rate not set in NIC HW\n\ngot munged in param.c of the e1000e driver.  This rectifies the\nmerge issues.\n\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0197dee7d3182bb6b6a21955860dfa14fa022d84",
      "tree": "121237ff7991a5fea8d8ac6202ad6c92834e744e",
      "parents": [
        "817e076f61bca3d0270af60632d1fe07cd4919f1"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Mon May 07 10:51:45 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed May 09 13:04:57 2012 +0200"
      },
      "message": "netfilter: hashlimit: byte-based limit mode\n\ncan be used e.g. for ingress traffic policing or\nto detect when a host/port consumes more bandwidth than expected.\n\nThis is done by optionally making cost to mean\n\"cost per 16-byte-chunk-of-data\" instead of \"cost per packet\".\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "817e076f61bca3d0270af60632d1fe07cd4919f1",
      "tree": "bb967f28527dff220aaa152c493b6d9811aea6fa",
      "parents": [
        "7a909ac70f6b0823d9f23a43f19598d4b57ac901"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Mon May 07 10:51:44 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed May 09 12:54:06 2012 +0200"
      },
      "message": "netfilter: hashlimit: move rateinfo initialization to helper\n\nfollowup patch would bloat main match function too much.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "7a909ac70f6b0823d9f23a43f19598d4b57ac901",
      "tree": "50802cd6633ab06b3076615de771bde7ae5bb361",
      "parents": [
        "cf308a1fae432f315989e2da6878bfaa3daa22b1"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Mon May 07 10:51:43 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed May 09 12:54:06 2012 +0200"
      },
      "message": "netfilter: limit, hashlimit: avoid duplicated inline\n\ncredit_cap can be set to credit, which avoids inlining user2credits\ntwice. Also, remove inline keyword and let compiler decide.\n\nold:\n    684     192       0     876     36c net/netfilter/xt_limit.o\n   4927     344      32    5303    14b7 net/netfilter/xt_hashlimit.o\nnow:\n    668     192       0     860     35c net/netfilter/xt_limit.o\n   4793     344      32    5169    1431 net/netfilter/xt_hashlimit.o\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "cf308a1fae432f315989e2da6878bfaa3daa22b1",
      "tree": "1997e797a147cc51df1b51eaf9744e84aa956838",
      "parents": [
        "84018f55ab883f03d41ec3c9ac7f0cc80830b20f"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Wed May 02 07:49:47 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed May 09 12:54:05 2012 +0200"
      },
      "message": "netfilter: add xt_hmark target for hash-based skb marking\n\nThe target allows you to create rules in the \"raw\" and \"mangle\" tables\nwhich set the skbuff mark by means of hash calculation within a given\nrange. The nfmark can influence the routing method (see \"Use netfilter\nMARK value as routing key\") and can also be used by other subsystems to\nchange their behaviour.\n\n[ Part of this patch has been refactorized and modified by Pablo Neira Ayuso ]\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "84018f55ab883f03d41ec3c9ac7f0cc80830b20f",
      "tree": "0faaab58d7760b648a8bf2bd9173cf646da997cd",
      "parents": [
        "9bb862beb6e5839e92f709d33fda07678f062f20"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Apr 23 03:35:26 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed May 09 12:53:47 2012 +0200"
      },
      "message": "netfilter: ip6_tables: add flags parameter to ipv6_find_hdr()\n\nThis patch adds the flags parameter to ipv6_find_hdr. This flags\nallows us to:\n\n* know if this is a fragment.\n* stop at the AH header, so the information contained in that header\n  can be used for some specific packet handling.\n\nThis patch also adds the offset parameter for inspection of one\ninner IPv6 header that is contained in error messages.\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "eeb0d0132d7a5f0ca149d1c6d6aeeafa19a98594",
      "tree": "f428119c05ac9daedd18921760131980bff6dee0",
      "parents": [
        "9bb862beb6e5839e92f709d33fda07678f062f20"
      ],
      "author": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 02:15:14 2012 -0700"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Wed May 09 02:15:14 2012 -0700"
      },
      "message": "e1000e: Fix merge conflict (net-\u003enet-next)\n\nDuring merge of net to net-next the changes in patch:\n\ne1000e: Fix default interrupt throttle rate not set in NIC HW\n\ngot munged in param.c of the e1000e driver.  This rectifies the\nmerge issues.\n\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "9bb862beb6e5839e92f709d33fda07678f062f20",
      "tree": "a2c396712c5a2cda380034173fd07a67bfa0489f",
      "parents": [
        "b44907e64cc1987153f6577306108379be1523b7",
        "d16cf20e2f2f13411eece7f7fb72c17d141c4a84"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 08 14:40:21 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 08 14:40:21 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://1984.lsi.us.es/net-next\n"
    },
    {
      "commit": "d16cf20e2f2f13411eece7f7fb72c17d141c4a84",
      "tree": "8154b3db8cdbb4b8d9f35d4c407cfe961253f0b4",
      "parents": [
        "6714cf5465d2803a21c6a46c1ea747795a8889fa"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:45:28 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 20:25:42 2012 +0200"
      },
      "message": "netfilter: remove ip_queue support\n\nThis patch removes ip_queue support which was marked as obsolete\nyears ago. The nfnetlink_queue modules provides more advanced\nuser-space packet queueing mechanism.\n\nThis patch also removes capability code included in SELinux that\nrefers to ip_queue. Otherwise, we break compilation.\n\nSeveral warning has been sent regarding this to the mailing list\nin the past month without anyone rising the hand to stop this\nwith some strong argument.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "6714cf5465d2803a21c6a46c1ea747795a8889fa",
      "tree": "eccfd714c4d320f4724e15e59b964ddd487e8f09",
      "parents": [
        "9768e1ace458fa4ebf88bc3943fd8fb77113ed9c"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu May 03 02:17:45 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:44:42 2012 +0200"
      },
      "message": "netfilter: nf_conntrack: fix explicit helper attachment and NAT\n\nExplicit helper attachment via the CT target is broken with NAT\nif non-standard ports are used. This problem was hidden behind\nthe automatic helper assignment routine. Thus, it becomes more\nnoticeable now that we can disable the automatic helper assignment\nwith Eric Leblond\u0027s:\n\n9e8ac5a netfilter: nf_ct_helper: allow to disable automatic helper assignment\n\nBasically, nf_conntrack_alter_reply asks for looking up the helper\nup if NAT is enabled. Unfortunately, we don\u0027t have the conntrack\ntemplate at that point anymore.\n\nSince we don\u0027t want to rely on the automatic helper assignment,\nwe can skip the second look-up and stick to the helper that was\nattached by iptables. With the CT target, the user is in full\ncontrol of helper attachment, thus, the policy is to trust what\nthe user explicitly configures via iptables (no automatic magic\nanymore).\n\nInterestingly, this bug was hidden by the automatic helper look-up\ncode. But it can be easily trigger if you attach the helper in\na non-standard port, eg.\n\niptables -I PREROUTING -t raw -p tcp --dport 8888 \\\n\t-j CT --helper ftp\n\nAnd you disabled the automatic helper assignment.\n\nI added the IPS_HELPER_BIT that allows us to differenciate between\na helper that has been explicitly attached and those that have been\nautomatically assigned. I didn\u0027t come up with a better solution\n(having backward compatibility in mind).\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "9768e1ace458fa4ebf88bc3943fd8fb77113ed9c",
      "tree": "42b47bc693694767bff2820811896a7b1580b58d",
      "parents": [
        "6d8ebc8a27e1b187abfb06dd79b35a393aa9f2a2"
      ],
      "author": {
        "name": "Kelvie Wong",
        "email": "kelvie@ieee.org",
        "time": "Wed May 02 14:39:24 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:40:59 2012 +0200"
      },
      "message": "netfilter: nf_ct_expect: partially implement ctnetlink_change_expect\n\nThis refreshes the \"timeout\" attribute in existing expectations if one is\ngiven.\n\nThe use case for this would be for userspace helpers to extend the lifetime\nof the expectation when requested, as this is not possible right now\nwithout deleting/recreating the expectation.\n\nI use this specifically for forwarding DCERPC traffic through:\n\nDCERPC has a port mapper daemon that chooses a (seemingly) random port for\nfuture traffic to go to. We expect this traffic (with a reasonable\ntimeout), but sometimes the port mapper will tell the client to continue\nusing the same port. This allows us to extend the expectation accordingly.\n\nSigned-off-by: Kelvie Wong \u003ckelvie@ieee.org\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "6d8ebc8a27e1b187abfb06dd79b35a393aa9f2a2",
      "tree": "071e81e46ed5c3230f56b02c8ee35cbcb64a9ac8",
      "parents": [
        "068d522067294987b16b3971f1aab2141eba4c44"
      ],
      "author": {
        "name": "Hans Schillstrom",
        "email": "hans.schillstrom@ericsson.com",
        "time": "Mon Apr 30 08:13:50 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:40:56 2012 +0200"
      },
      "message": "net: export sysctl_[r|w]mem_max symbols needed by ip_vs_sync\n\nTo build ip_vs as a module sysctl_rmem_max and sysctl_wmem_max\nneeds to be exported.\n\nThe dependency was added by \"ipvs: wakeup master thread\" patch.\n\nSigned-off-by: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "068d522067294987b16b3971f1aab2141eba4c44",
      "tree": "61ad88543420a47ece5545fc7c8bb2a792233244",
      "parents": [
        "d5cce2087455f4d17b11db881ca51a6965be8de0"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Thu Apr 26 11:26:15 2012 -0700"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:40:54 2012 +0200"
      },
      "message": "ipvs: ip_vs_proto: local functions should not be exposed globally\n\nFunctions not referenced outside of a source file should be marked\nstatic to prevent it from being exposed globally.\n\nThis quiets the sparse warnings:\n\nwarning: symbol \u0027__ipvs_proto_data_get\u0027 was not declared. Should it be static?\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "d5cce2087455f4d17b11db881ca51a6965be8de0",
      "tree": "289a20602463e4ea9bf3dccf6d3e7e457be5e7a5",
      "parents": [
        "6b324dbfc3dc13f0a7e236d3529c31d6bc4edbfe"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Thu Apr 26 11:17:28 2012 -0700"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:40:52 2012 +0200"
      },
      "message": "ipvs: ip_vs_ftp: local functions should not be exposed globally\n\nFunctions not referenced outside of a source file should be marked\nstatic to prevent it from being exposed globally.\n\nThis quiets the sparse warnings:\n\nwarning: symbol \u0027ip_vs_ftp_init\u0027 was not declared. Should it be static?\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "6b324dbfc3dc13f0a7e236d3529c31d6bc4edbfe",
      "tree": "4432b7ddd2b70666b4a91195f888b2e27f73f822",
      "parents": [
        "f73181c8288fc38747ec4f0f3e8a9052ab785cd5"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 09:28:19 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:40:49 2012 +0200"
      },
      "message": "ipvs: optimize the use of flags in ip_vs_bind_dest\n\n\tcp-\u003eflags is marked volatile but ip_vs_bind_dest\ncan safely modify the flags, so save some CPU cycles by\nusing temp variable.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "f73181c8288fc38747ec4f0f3e8a9052ab785cd5",
      "tree": "9523b3ba632e051b3d196f3bc6d8b0258e7c4fcd",
      "parents": [
        "749c42b620a9511782bc38d0a88702a42434529e"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:40:30 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:40:33 2012 +0200"
      },
      "message": "ipvs: add support for sync threads\n\n\tAllow master and backup servers to use many threads\nfor sync traffic. Add sysctl var \"sync_ports\" to define the\nnumber of threads. Every thread will use single UDP port,\nthread 0 will use the default port 8848 while last thread\nwill use port 8848+sync_ports-1.\n\n\tThe sync traffic for connections is scheduled to many\nmaster threads based on the cp address but one connection is\nalways assigned to same thread to avoid reordering of the\nsync messages.\n\n\tRemove ip_vs_sync_switch_mode because this check\nfor sync mode change is still risky. Instead, check for mode\nchange under sync_buff_lock.\n\n\tMake sure the backup socks do not block on reading.\n\nSpecial thanks to Aleksey Chudov for helping in all tests.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nTested-by: Aleksey Chudov \u003caleksey.chudov@gmail.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "749c42b620a9511782bc38d0a88702a42434529e",
      "tree": "057b15f2bbd7fad96becdada1dc2ee775482e0b6",
      "parents": [
        "1c003b1580e20ff9f500846677303a695b1837cc"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Tue Apr 24 23:46:40 2012 +0300"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:40:10 2012 +0200"
      },
      "message": "ipvs: reduce sync rate with time thresholds\n\n\tAdd two new sysctl vars to control the sync rate with the\nmain idea to reduce the rate for connection templates because\ncurrently it depends on the packet rate for controlled connections.\nThis mechanism should be useful also for normal connections\nwith high traffic.\n\nsync_refresh_period: in seconds, difference in reported connection\n\ttimer that triggers new sync message. It can be used to\n\tavoid sync messages for the specified period (or half of\n\tthe connection timeout if it is lower) if connection state\n\tis not changed from last sync.\n\nsync_retries: integer, 0..3, defines sync retries with period of\n\tsync_refresh_period/8. Useful to protect against loss of\n\tsync messages.\n\n\tAllow sysctl_sync_threshold to be used with\nsysctl_sync_period\u003d0, so that only single sync message is sent\nif sync_refresh_period is also 0.\n\n\tAdd new field \"sync_endtime\" in connection structure to\nhold the reported time when connection expires. The 2 lowest\nbits will represent the retry count.\n\n\tAs the sysctl_sync_period now can be 0 use ACCESS_ONCE to\navoid division by zero.\n\n\tSpecial thanks to Aleksey Chudov for being patient with me,\nfor his extensive reports and helping in all tests.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nTested-by: Aleksey Chudov \u003caleksey.chudov@gmail.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "1c003b1580e20ff9f500846677303a695b1837cc",
      "tree": "d00c951b6e4c88edd403b4d8ead96a57b9bfc808",
      "parents": [
        "cdcc5e905d59026fbf2e7f74f9cc834203b6207b"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:39:49 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:39:53 2012 +0200"
      },
      "message": "ipvs: wakeup master thread\n\n\tHigh rate of sync messages in master can lead to\noverflowing the socket buffer and dropping the messages.\nFixed sleep of 1 second without wakeup events is not suitable\nfor loaded masters,\n\n\tUse delayed_work to schedule sending for queued messages\nand limit the delay to IPVS_SYNC_SEND_DELAY (20ms). This will\nreduce the rate of wakeups but to avoid sending long bursts we\nwakeup the master thread after IPVS_SYNC_WAKEUP_RATE (8) messages.\n\n\tAdd hard limit for the queued messages before sending\nby using \"sync_qlen_max\" sysctl var. It defaults to 1/32 of\nthe memory pages but actually represents number of messages.\nIt will protect us from allocating large parts of memory\nwhen the sending rate is lower than the queuing rate.\n\n\tAs suggested by Pablo, add new sysctl var\n\"sync_sock_size\" to configure the SNDBUF (master) or\nRCVBUF (slave) socket limit. Default value is 0 (preserve\nsystem defaults).\n\n\tChange the master thread to detect and block on\nSNDBUF overflow, so that we do not drop messages when\nthe socket limit is low but the sync_qlen_max limit is\nnot reached. On ENOBUFS or other errors just drop the\nmessages.\n\n\tChange master thread to enter TASK_INTERRUPTIBLE\nstate early, so that we do not miss wakeups due to messages or\nkthread_should_stop event.\n\nThanks to Pablo Neira Ayuso for his valuable feedback!\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "cdcc5e905d59026fbf2e7f74f9cc834203b6207b",
      "tree": "3f8c6440384a2d0e753d35f51e344269953a986a",
      "parents": [
        "882a844bd5b3ffa35e059f21ee920cc113985a89"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Tue Apr 24 23:46:38 2012 +0300"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:38:31 2012 +0200"
      },
      "message": "ipvs: always update some of the flags bits in backup\n\n\tAs the goal is to mirror the inactconns/activeconns\ncounters in the backup server, make sure the cp-\u003eflags are\nupdated even if cp is still not bound to dest. If cp-\u003eflags\nare not updated ip_vs_bind_dest will rely only on the initial\nflags when updating the counters. To avoid mistakes and\ncomplicated checks for protocol state rely only on the\nIP_VS_CONN_F_INACTIVE bit when updating the counters.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nTested-by: Aleksey Chudov \u003caleksey.chudov@gmail.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "882a844bd5b3ffa35e059f21ee920cc113985a89",
      "tree": "62cbd6b18cf7a0b2c5aee37b3c4c26c0e62e466f",
      "parents": [
        "06611f82cc0d8b957d6399f11f2799683ad002c3"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Tue Apr 24 23:46:37 2012 +0300"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:38:28 2012 +0200"
      },
      "message": "ipvs: fix ip_vs_try_bind_dest to rebind app and transmitter\n\n\tInitially, when the synced connection is created we\nuse the forwarding method provided by master but once we\nbind to destination it can be changed. As result, we must\nupdate the application and the transmitter.\n\n\tAs ip_vs_try_bind_dest is called always for connections\nthat require dest binding, there is no need to validate the\ncp and dest pointers.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "06611f82cc0d8b957d6399f11f2799683ad002c3",
      "tree": "ebefc1e883130f6470d9338d774ad5aebe6bf5fb",
      "parents": [
        "82cfc062781f29164b151de851f3076b84175fec"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Tue Apr 24 23:46:36 2012 +0300"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:38:26 2012 +0200"
      },
      "message": "ipvs: remove check for IP_VS_CONN_F_SYNC from ip_vs_bind_dest\n\n\tAs the IP_VS_CONN_F_INACTIVE bit is properly set\nin cp-\u003eflags for all kind of connections we do not need to\nadd special checks for synced connections when updating\nthe activeconns/inactconns counters for first time. Now\nlogic will look just like in ip_vs_unbind_dest.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "82cfc062781f29164b151de851f3076b84175fec",
      "tree": "51d7ec1f968db76cc92540ff71908e4dff78c0b3",
      "parents": [
        "9615e61e6f23f18fc192ed44735725bb5b500bad"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Tue Apr 24 23:46:35 2012 +0300"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:38:24 2012 +0200"
      },
      "message": "ipvs: ignore IP_VS_CONN_F_NOOUTPUT in backup server\n\n\tAs IP_VS_CONN_F_NOOUTPUT is derived from the\nforwarding method we should get it from conn_flags just\nlike we do it for IP_VS_CONN_F_FWD_MASK bits when binding\nto real server.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "9615e61e6f23f18fc192ed44735725bb5b500bad",
      "tree": "19a820b7b361647b1e24ed590f49c02d639e6b95",
      "parents": [
        "d6318f08e8d0b95960f74280cdaa7f0e00fd604c"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Sat Apr 14 12:37:47 2012 -0400"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:38:22 2012 +0200"
      },
      "message": "ipvs: use GFP_KERNEL allocation where possible\n\nUse GFP_KERNEL instead of GFP_ATOMIC when registering an ipvs protocol.\n\nThis is safe since it will always run from a process context.\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "d6318f08e8d0b95960f74280cdaa7f0e00fd604c",
      "tree": "d8153d550fc8894b2e8cbcac3bca36bcbef76b85",
      "parents": [
        "45d4e71a39c3274f982d73688cbee2a4b286c3e3"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Fri Apr 13 16:49:38 2012 +0300"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:37:28 2012 +0200"
      },
      "message": "ipvs: SH scheduler does not need GFP_ATOMIC allocation\n\n        Schedulers are initialized and bound to services only\non commands.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Hans Schillstrom \u003chans@schillstrom.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "45d4e71a39c3274f982d73688cbee2a4b286c3e3",
      "tree": "629cd0444d2a4ad1042d59a5b01ed4c89f0c714a",
      "parents": [
        "4f2a94dcb65bcdf20d91d5bffd29b9c836559d17"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Fri Apr 13 16:49:41 2012 +0300"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:37:26 2012 +0200"
      },
      "message": "ipvs: LBLCR scheduler does not need GFP_ATOMIC allocation on init\n\n\tSchedulers are initialized and bound to services only\non commands.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Hans Schillstrom \u003chans@schillstrom.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "4f2a94dcb65bcdf20d91d5bffd29b9c836559d17",
      "tree": "1d44e20c8a3482abde9dcc5cc3ef0e2966a3a879",
      "parents": [
        "4beddbe38cb402ff509efa9dc27d3e9e188902cd"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Fri Apr 13 16:49:42 2012 +0300"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:37:22 2012 +0200"
      },
      "message": "ipvs: WRR scheduler does not need GFP_ATOMIC allocation\n\n\tSchedulers are initialized and bound to services only\non commands.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Hans Schillstrom \u003chans@schillstrom.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "4beddbe38cb402ff509efa9dc27d3e9e188902cd",
      "tree": "fd75cfe36d9fda152bef062f27ce0a5ab28d6229",
      "parents": [
        "748d845ca9cf0e7c7692ec45e4d8cb3a90b31793"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Fri Apr 13 16:49:39 2012 +0300"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:37:20 2012 +0200"
      },
      "message": "ipvs: DH scheduler does not need GFP_ATOMIC allocation\n\n\tSchedulers are initialized and bound to services only\non commands.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Hans Schillstrom \u003chans@schillstrom.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "748d845ca9cf0e7c7692ec45e4d8cb3a90b31793",
      "tree": "e2f44e8b4723796e6d01b1a7aed0a8f9b8d17a5e",
      "parents": [
        "41cff6d5c924eb51704dd6928687fd0494e6c744"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Fri Apr 13 16:49:40 2012 +0300"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:37:17 2012 +0200"
      },
      "message": "ipvs: LBLC scheduler does not need GFP_ATOMIC allocation on init\n\n\tSchedulers are initialized and bound to services only\non commands.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Hans Schillstrom \u003chans@schillstrom.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "41cff6d5c924eb51704dd6928687fd0494e6c744",
      "tree": "c831254ddaaaa4c644dc6e5bc4ef0a67d96d30bd",
      "parents": [
        "4981682cc19733f3ca43d3abd81dd4adbc9005d5"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Fri Apr 13 16:49:37 2012 +0300"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:37:09 2012 +0200"
      },
      "message": "ipvs: timeout tables do not need GFP_ATOMIC allocation\n\n\tThey are called only on initialization.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Hans Schillstrom \u003chans@schillstrom.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "4981682cc19733f3ca43d3abd81dd4adbc9005d5",
      "tree": "6c4583e26b8f12559defc11d0c141011a71e3de1",
      "parents": [
        "ac3a546ac89fdf3c4b50e40039a5a7f6df4dda72"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:36:44 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:36:47 2012 +0200"
      },
      "message": "netfilter: bridge: optionally set indev to vlan\n\nif net.bridge.bridge-nf-filter-vlan-tagged sysctl is enabled, bridge\nnetfilter removes the vlan header temporarily and then feeds the packet\nto ip(6)tables.\n\nWhen the new \"bridge-nf-pass-vlan-input-device\" sysctl is on\n(default off), then bridge netfilter will also set the\nin-interface to the vlan interface; if such an interface exists.\n\nThis is needed to make iptables REDIRECT target work with\n\"vlan-on-top-of-bridge\" setups and to allow use of \"iptables -i\" to\nmatch the vlan device name.\n\nAlso update Documentation with current brnf default settings.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nAcked-by: Bart De Schuymer \u003cbdschuym@pandora.be\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "ac3a546ac89fdf3c4b50e40039a5a7f6df4dda72",
      "tree": "8fbe86f3e2fcd9c2ba23a7cc0832f60240b07658",
      "parents": [
        "a9006892643a8f4e885b692de0708bcb35a7d530"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed Apr 18 06:36:40 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:36:33 2012 +0200"
      },
      "message": "netfilter: nf_conntrack: use this_cpu_inc()\n\nthis_cpu_inc() is IRQ safe and faster than\nlocal_bh_disable()/__this_cpu_inc()/local_bh_enable(), at least on x86.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "a9006892643a8f4e885b692de0708bcb35a7d530",
      "tree": "de5ba86bb36d05cd859bffb2370a9a3b462722d9",
      "parents": [
        "031d7709f21c778bcb1eed96d790e82b3bee96b5"
      ],
      "author": {
        "name": "Eric Leblond",
        "email": "eric@regit.org",
        "time": "Wed Apr 18 11:20:41 2012 +0200"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:35:18 2012 +0200"
      },
      "message": "netfilter: nf_ct_helper: allow to disable automatic helper assignment\n\nThis patch allows you to disable automatic conntrack helper\nlookup based on TCP/UDP ports, eg.\n\necho 0 \u003e /proc/sys/net/netfilter/nf_conntrack_helper\n\n[ Note: flows that already got a helper will keep using it even\n  if automatic helper assignment has been disabled ]\n\nOnce this behaviour has been disabled, you have to explicitly\nuse the iptables CT target to attach helper to flows.\n\nThere are good reasons to stop supporting automatic helper\nassignment, for further information, please read:\n\nhttp://www.netfilter.org/news.html#2012-04-03\n\nThis patch also adds one message to inform that automatic helper\nassignment is deprecated and it will be removed soon (this is\nspotted only once, with the first flow that gets a helper attached\nto make it as less annoying as possible).\n\nSigned-off-by: Eric Leblond \u003ceric@regit.org\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "031d7709f21c778bcb1eed96d790e82b3bee96b5",
      "tree": "5b0186ff11d30bc88ed0612905001bb5a06176f4",
      "parents": [
        "97138a1ca7917c11431293e668457f916a610ca5"
      ],
      "author": {
        "name": "Tony Zelenoff",
        "email": "antonz@parallels.com",
        "time": "Thu Mar 08 23:35:39 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue May 08 19:17:23 2012 +0200"
      },
      "message": "netfilter: nf_ct_ecache: refactor notifier registration\n\n* ret variable initialization removed as useless\n* similar code strings concatenated and functions code\n  flow became more plain\n\nSigned-off-by: Tony Zelenoff \u003cantonz@parallels.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "b44907e64cc1987153f6577306108379be1523b7",
      "tree": "09ec9814903e61a85f51de0249f65e1a25f40aa4",
      "parents": [
        "97138a1ca7917c11431293e668457f916a610ca5"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 06:44:40 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 08 13:06:16 2012 -0400"
      },
      "message": "etherdev.h: Convert int is_\u003cfoo\u003e_ether_addr to bool\n\nMake the return value explicitly true or false.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97138a1ca7917c11431293e668457f916a610ca5",
      "tree": "569c875e500efe5c172b17e694c208f67a95a682",
      "parents": [
        "4f94a929e4adb0d0ed78d448ff68fe870163c575"
      ],
      "author": {
        "name": "Steve Glendinning",
        "email": "steve.glendinning@shawell.net",
        "time": "Fri May 04 00:57:13 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:43:57 2012 -0400"
      },
      "message": "smsc75xx: let EEPROM determine GPIO/LED settings\n\nThis patch allows the GPIO/LED settings to be configured by the\nEEPROM if present, and only sets the default values (LED outputs\nfor link/activity) when an EEPROM is not detected.\n\nSigned-off-by: Steve Glendinning \u003csteve.glendinning@shawell.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f94a929e4adb0d0ed78d448ff68fe870163c575",
      "tree": "e9c1afc53b91b8e27fad9d5c570f3256da194ce6",
      "parents": [
        "7749622d7fc958ecfbec67bc76c9e0d861a872d8"
      ],
      "author": {
        "name": "Steve Glendinning",
        "email": "steve.glendinning@shawell.net",
        "time": "Fri May 04 00:57:12 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:43:56 2012 -0400"
      },
      "message": "smsc75xx: eliminate unnecessary phy register read\n\nOnly a write is necessary to clear the interrupt status, and we\ndon\u0027t use the value from the preceding read operation.  This\npatch eliminates the unnecessary read.\n\nSigned-off-by: Steve Glendinning \u003csteve.glendinning@shawell.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7749622d7fc958ecfbec67bc76c9e0d861a872d8",
      "tree": "8b1049945caa0332055ca893b4e938330a099f9a",
      "parents": [
        "0d6c4a2e4641bbc556dd74d3aa158c413a972492"
      ],
      "author": {
        "name": "Steve Glendinning",
        "email": "steve.glendinning@shawell.net",
        "time": "Fri May 04 00:57:11 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:43:56 2012 -0400"
      },
      "message": "smsc75xx: replace 0xffff with PHY_INT_SRC_CLEAR_ALL\n\nThis patch defines PHY_INT_SRC_CLEAR_ALL to replace the value 0xffff\nin order to be more self-documenting.\n\nThis patch should make no functional change, it is purely cosmetic.\n\nSigned-off-by: Steve Glendinning \u003csteve.glendinning@shawell.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d6c4a2e4641bbc556dd74d3aa158c413a972492",
      "tree": "da944af17682659bb433dc2282dcb48380c14cd1",
      "parents": [
        "6e06c0e2347ec79d0bd5702b2438fe883f784545",
        "1c430a727fa512500a422ffe4712166c550ea06a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:35:40 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:35:40 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/intel/e1000e/param.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rx.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans.h\n\nResolved the iwlwifi conflict with mainline using 3-way diff posted\nby John Linville and Stephen Rothwell.  In \u0027net\u0027 we added a bug\nfix to make iwlwifi report a more accurate skb-\u003etruesize but this\nconflicted with RX path changes that happened meanwhile in net-next.\n\nIn e1000e a conflict arose in the validation code for settings of\nadapter-\u003eitr.  \u0027net-next\u0027 had more sophisticated logic so that\nlogic was used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6e06c0e2347ec79d0bd5702b2438fe883f784545",
      "tree": "3f55976275c94822cd406e7edc549f668901affa",
      "parents": [
        "3a084ddb4bf299a6e898a9a07c89f3917f0713f7",
        "c70aa540c7a9f67add11ad3161096fb95233aa2e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:05:13 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:05:26 2012 -0400"
      },
      "message": "Merge branch \u0027vhost-net-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost\n\nMichael S. Tsirkin says:\n\n--------------------\nThere are mostly bugfixes here.\nI hope to merge some more patches by 3.5, in particular\nvlan support fixes are waiting for Eric\u0027s ack,\nand a version of tracepoint patch might be\nready in time, but let\u0027s merge what\u0027s ready so it\u0027s testable.\n\nThis includes a ton of zerocopy fixes by Jason -\ngood stuff but too intrusive for 3.4 and zerocopy is experimental\nanyway.\n\nvirtio supported delayed interrupt for a while now\nso adding support to the virtio tool made sense\n--------------------\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a084ddb4bf299a6e898a9a07c89f3917f0713f7",
      "tree": "f938915de277b2b9b52ce6dc1308f18d0d083bcd",
      "parents": [
        "416912a129349788372e6ac27ab86bd9b18c8cc0"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu May 03 22:37:45 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:03:22 2012 -0400"
      },
      "message": "net: IP_MULTICAST_IF setsockopt now recognizes struct mreq\n\nUntil now, struct mreq has not been recognized and it was worked with\nas with struct in_addr. That means imr_multiaddr was copied to\nimr_address. So do recognize struct mreq here and copy that correctly.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "416912a129349788372e6ac27ab86bd9b18c8cc0",
      "tree": "239766992fc6878f89cce3037f65f757fc880dae",
      "parents": [
        "0ca2997d145268e6b4ef000692061849cdab8348"
      ],
      "author": {
        "name": "David Daney",
        "email": "david.daney@cavium.com",
        "time": "Wed May 02 15:16:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 22:58:09 2012 -0400"
      },
      "message": "netdev/of/phy: Add MDIO bus multiplexer driven by GPIO lines.\n\nThe GPIO pins select which sub bus is connected to the master.\n\nInitially tested with an sn74cbtlv3253 switch device wired into the\nMDIO bus.\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ca2997d145268e6b4ef000692061849cdab8348",
      "tree": "deeca7985f029cae477945e988816889c986e263",
      "parents": [
        "251060220021283eef3652145a41f5b26db97ce5"
      ],
      "author": {
        "name": "David Daney",
        "email": "david.daney@cavium.com",
        "time": "Wed May 02 15:16:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 22:58:09 2012 -0400"
      },
      "message": "netdev/of/phy: Add MDIO bus multiplexer support.\n\nThis patch adds a somewhat generic framework for MDIO bus\nmultiplexers.  It is modeled on the I2C multiplexer.\n\nThe multiplexer is needed if there are multiple PHYs with the same\naddress connected to the same MDIO bus adepter, or if there is\ninsufficient electrical drive capability for all the connected PHY\ndevices.\n\nConceptually it could look something like this:\n\n                   ------------------\n                   | Control Signal |\n                   --------+---------\n                           |\n ---------------   --------+------\n | MDIO MASTER |---| Multiplexer |\n ---------------   --+-------+----\n                     |       |\n                     C       C\n                     h       h\n                     i       i\n                     l       l\n                     d       d\n                     |       |\n     ---------       A       B   ---------\n     |       |       |       |   |       |\n     | PHY@1 +-------+       +---+ PHY@1 |\n     |       |       |       |   |       |\n     ---------       |       |   ---------\n     ---------       |       |   ---------\n     |       |       |       |   |       |\n     | PHY@2 +-------+       +---+ PHY@2 |\n     |       |                   |       |\n     ---------                   ---------\n\nThis framework configures the bus topology from device tree data.  The\nmechanics of switching the multiplexer is left to device specific\ndrivers.\n\nThe follow-on patch contains a multiplexer driven by GPIO lines.\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "251060220021283eef3652145a41f5b26db97ce5",
      "tree": "e04d2a1695e19e959873cf8a6d571a925ca59cc5",
      "parents": [
        "7dc2ce5f12cb5d166140820d5063027dc2449ac1"
      ],
      "author": {
        "name": "David Daney",
        "email": "david.daney@cavium.com",
        "time": "Wed May 02 15:16:37 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 22:58:09 2012 -0400"
      },
      "message": "netdev/of/phy: New function: of_mdio_find_bus().\n\nAdd of_mdio_find_bus() which allows an mii_bus to be located given its\nassociated the device tree node.\n\nThis is needed by the follow-on patch to add a driver for MDIO bus\nmultiplexers.\n\nThe of_mdiobus_register() function is modified so that the device tree\nnode is recorded in the mii_bus.  Then we can find it again by\niterating over all mdio_bus_class devices.\n\nBecause the OF device tree has now become an integral part of the\nkernel, this can live in mdio_bus.c (which contains the needed\nmdio_bus_class structure) instead of of_mdio.c.\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7dc2ce5f12cb5d166140820d5063027dc2449ac1",
      "tree": "19eb6c0efdc277a61af8fe6089dfc0b620ae8a23",
      "parents": [
        "7fdaadcc2ee4d43eb43c564dbef85b768565cd7a"
      ],
      "author": {
        "name": "Tilman Schmidt",
        "email": "tilman@imap.cc",
        "time": "Wed Apr 25 13:02:20 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 22:37:57 2012 -0400"
      },
      "message": "isdn/capi: elliminate capincci_find() in non-middleware case\n\nIf Kernel CAPI is compiled without CONFIG_ISDN_CAPI_MIDDLEWARE,\nthe structure retrieved via capincci_find() is never actually\nused, so don\u0027t compile that function in that case.\n\nSigned-off-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "7fdaadcc2ee4d43eb43c564dbef85b768565cd7a"
}
