)]}'
{
  "log": [
    {
      "commit": "fc4a7489663250360cd40d5adf06a08d1c5d54df",
      "tree": "ce8fed0a2dfc175b03834bb94717f5f2970c9146",
      "parents": [
        "012093f6d5d89e6ed6e89c55c383f84b1cff7a78"
      ],
      "author": {
        "name": "Patrick Mullaney",
        "email": "pmullaney@novell.com",
        "time": "Thu Dec 03 15:59:22 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 15:59:22 2009 -0800"
      },
      "message": "netdevice: provide common routine for macvlan and vlan operstate management\n\nProvide common routine for the transition of operational state for a leaf\ndevice during a root device transition.\n\nSigned-off-by: Patrick Mullaney \u003cpmullaney@novell.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dcbccbd4f1f6ad0f0e169d4b2e816e42bde06f82",
      "tree": "2a2accb2cedfea63ecaafbe1156fc44b4f2acff1",
      "parents": [
        "a5ee155136b4a8f4ab0e4c9c064b661da475e298"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 29 22:25:26 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 16:15:50 2009 -0800"
      },
      "message": "net: Implement for_each_netdev_reverse.\n\nI will need this shortly to implement network namespace shutdown\nbatching.  For sanity sake network devices should be removed in\nthe reverse order they were created in.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "445409602c09219767c06497c0dc2285eac244ed",
      "tree": "5cfbd6d94f737107f3e6356fca2457ab3a66bb44",
      "parents": [
        "1bda8aa86b89d4c9b668000127ff87172f2daa10"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Nov 26 06:07:08 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 26 15:52:58 2009 -0800"
      },
      "message": "veth: move loopback logic to common location\n\nThe veth driver contains code to forward an skb\nfrom the start_xmit function of one network\ndevice into the receive path of another device.\n\nMoving that code into a common location lets us\nreuse the code for direct forwarding of data\nbetween macvlan ports, and possibly in other\ndrivers.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e014debecd3ee3832e6476b3a9c948edfcfd1250",
      "tree": "9b73836a5dc3c1df92b17037a12bbbfaf5f495d3",
      "parents": [
        "e2ce146848c81af2f6d42e67990191c284bf0c33"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 17 05:59:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 18 05:03:11 2009 -0800"
      },
      "message": "linkwatch: linkwatch_forget_dev() to speedup device dismantle\n\nHerbert Xu a écrit :\n\u003e On Tue, Nov 17, 2009 at 04:26:04AM -0800, David Miller wrote:\n\u003e\u003e Really, the link watch stuff is just due for a redesign.  I don\u0027t\n\u003e\u003e think a simple hack is going to cut it this time, sorry Eric :-)\n\u003e\n\u003e I have no objections against any redesigns, but since the only\n\u003e caller of linkwatch_forget_dev runs in process context with the\n\u003e RTNL, it could also legally emit those events.\n\nThanks guys, here an updated version then, before linkwatch surgery ?\n\nIn this version, I force the event to be sent synchronously.\n\n[PATCH net-next-2.6] linkwatch: linkwatch_forget_dev() to speedup device dismantle\n\ntime ip link del eth3.103 ; time ip link del eth3.104 ; time ip link del eth3.105\n\nreal\t0m0.266s\nuser\t0m0.000s\nsys\t0m0.001s\n\nreal\t0m0.770s\nuser\t0m0.000s\nsys\t0m0.000s\n\nreal\t0m1.022s\nuser\t0m0.000s\nsys\t0m0.000s\n\nOne problem of current schem in vlan dismantle phase is the\nholding of device done by following chain :\n\nvlan_dev_stop() -\u003e\n\tnetif_carrier_off(dev) -\u003e\n\t\tlinkwatch_fire_event(dev) -\u003e\n\t\t\tdev_hold() ...\n\nAnd __linkwatch_run_queue() runs up to one second later...\n\nA generic fix to this problem is to add a linkwatch_forget_dev() method\nto unlink the device from the list of watched devices.\n\ndev-\u003elink_watch_next becomes dev-\u003elink_watch_list (and use a bit more memory),\nto be able to unlink device in O(1).\n\nAfter patch :\ntime ip link del eth3.103 ; time ip link del eth3.104 ; time ip link del eth3.105\n\nreal    0m0.024s\nuser    0m0.000s\nsys     0m0.000s\n\nreal    0m0.032s\nuser    0m0.000s\nsys     0m0.001s\n\nreal    0m0.033s\nuser    0m0.000s\nsys     0m0.000s\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d83345adf96bc13a5e360f4649a2e68ef968dec0",
      "tree": "015fe31fde6b5ea6abc6ebb75aa446fa63fcbb79",
      "parents": [
        "b038b0401f9697ee1d7df40021b96e7de0564938"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 16 03:36:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 17 23:51:52 2009 -0800"
      },
      "message": "net: add dev_txq_stats_fold() helper\n\nSome drivers ndo_get_stats() method need to perform txqueue stats folding.\n\nMove folding from dev_get_stats() to a new dev_txq_stats_fold() function\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a1654ba0b50402a6bd03c7b0fe9b0200a5ea7b1",
      "tree": "3defd37672da2069e6c0ffd86b0b99c694324985",
      "parents": [
        "cb43e23435a66d5ed90f804af9efe9096503979f"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Sun Nov 15 07:20:12 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 15 22:08:33 2009 -0800"
      },
      "message": "net: Optimize hard_start_xmit() return checking\n\nRecent changes in the TX error propagation require additional checking\nand masking of values returned from hard_start_xmit(), mainly to\nseparate cases where skb was consumed. This aim can be simplified by\nchanging the order of NETDEV_TX and NET_XMIT codes, because the latter\nare treated similarly to negative (ERRNO) values.\n\nAfter this change much simpler dev_xmit_complete() is also used in\nsch_direct_xmit(), so it is moved to netdevice.h.\n\nAdditionally NET_RX definitions in netdevice.h are moved up from\nbetween TX codes to avoid confusion while reading the TX comment.\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce81b76a39835a721cd168e0c0bcfe7132f1f66b",
      "tree": "ed725dd6163f328d4717fb3ed28c9e6c2691bc88",
      "parents": [
        "bee7ca9ec03a26676ea2b1c28dc4039348eff3e1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 11 17:34:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 20:38:49 2009 -0800"
      },
      "message": "ipv6: use RCU to walk list of network devices\n\nNo longer need read_lock(\u0026dev_base_lock), use RCU instead.\nWe also can avoid taking references on inet6_dev structs.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "572a9d7b6fc7f20f573664063324c086be310c42",
      "tree": "0ab3655fdfa923b0b9c6c1ee51a2e31e97e9549f",
      "parents": [
        "9ea2bdab11da97b2ac6f87d79976d25fa6d27295"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Nov 10 06:14:14 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 14:07:32 2009 -0800"
      },
      "message": "net: allow to propagate errors through -\u003endo_hard_start_xmit()\n\nCurrently the -\u003endo_hard_start_xmit() callbacks are only permitted to return\none of the NETDEV_TX codes. This prevents any kind of error propagation for\nvirtual devices, like queue congestion of the underlying device in case of\nlayered devices, or unreachability in case of tunnels.\n\nThis patches changes the NET_XMIT codes to avoid clashes with the NETDEV_TX\ncodes and changes the two callers of dev_hard_start_xmit() to expect either\nerrno codes, NET_XMIT codes or NETDEV_TX codes as return value.\n\nIn case of qdisc_restart(), all non NETDEV_TX codes are mapped to NETDEV_TX_OK\nsince no error propagation is possible when using qdiscs. In case of\ndev_queue_xmit(), the error is propagated upwards.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "254245d23396aca1f9100d500163d7bd6019ab6f",
      "tree": "3176ba0db8478094d4d5187c20d00be9880d9acf",
      "parents": [
        "856540ee3116ac04a49bc06c2f30f54dd3faf7db"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Nov 10 07:54:47 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 10 22:26:29 2009 -0800"
      },
      "message": "netdev: add netdev_continue_rcu\n\nThis adds an RCU macro for continuing search, useful for some\nnetwork devices like vlan.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d94d9fee9fa4e66a0b91640a694b8b10177075b3",
      "tree": "330b2b19e63c92f1fef3d9dbe0733ddeb0109664",
      "parents": [
        "b8883a65be2d925ea82b14ca0068ce9a6c8bac1f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 04 09:50:58 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 09:50:58 2009 -0800"
      },
      "message": "net: cleanup include/linux\n\nThis cleanup patch puts struct/union/enum opening braces,\nin first line to ease grep games.\n\nstruct something\n{\n\nbecomes :\n\nstruct something {\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6d14c84566d6b70ad9dc1618db0dec87cca9300",
      "tree": "5ec75245cfda4d61e6b4506b6217f047ff4af01a",
      "parents": [
        "d0075634cf9d288988f57392a1f132d2053af961"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 04 05:43:23 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 04 05:43:23 2009 -0800"
      },
      "message": "net: Introduce for_each_netdev_rcu() iterator\n\nAdds RCU management to the list of netdevices.\n\nConvert some for_each_netdev() users to RCU version, if\nit can avoid read_lock-ing dev_base_lock\n\nIe:\n\tread_lock(\u0026dev_base_loack);\n\tfor_each_netdev(net, dev)\n\t\tsome_action();\n\tread_unlock(\u0026dev_base_lock);\n\nbecomes :\n\n\trcu_read_lock();\n\tfor_each_netdev_rcu(net, dev)\n\t\tsome_action();\n\trcu_read_unlock();\n\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72c9528bab94cc052d00ce241b8e85f5d71e45f0",
      "tree": "fcec7a40e0242e659474a4d9f501d9213225aa55",
      "parents": [
        "68d8287ce1e1da3c99881385a93e74f68c454fc2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 30 07:11:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 01 23:55:08 2009 -0800"
      },
      "message": "net: Introduce dev_get_by_name_rcu()\n\nSome workloads hit dev_base_lock rwlock pretty hard.\nWe can use RCU lookups to avoid touching this rwlock\n(and avoid touching netdevice refcount)\n\nnetdevices are already freed after a RCU grace period, so this patch\nadds no penalty at device dismantle time.\n\nHowever, it adds a synchronize_rcu() call in dev_change_name()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c509a6c9393b27a8c5a01acd4a72616206cfc24",
      "tree": "4e6aa609537144de3d09e461528d22e7f448ef55",
      "parents": [
        "0bd8d53656da72bc065766b5f2a05ca738020b8a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Thu Oct 29 14:18:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 30 12:41:18 2009 -0700"
      },
      "message": "net: Allow devices to specify a device specific sysfs group.\n\nThis isn\u0027t beautifully abstracted, but it is simple,\nsimplifies uses and so far is only needed for the bonding driver.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c7c4b3b6e976b95facbb723951bdcd554a3530a4",
      "tree": "9a53a7f850eec755b3c66d4a129d31ce4a8591da",
      "parents": [
        "5b252f0c2f98df21fadf0f6cf189b87a0b938228"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu Oct 29 21:36:53 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 21:36:53 2009 -0700"
      },
      "message": "gro: Change all receive functions to return GRO result codes\n\nThis will allow drivers to adjust their receive path dynamically\nbased on whether GRO is being applied successfully.\n\nCurrently all in-tree callers ignore the return values of these\nfunctions and do not need to be changed.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b252f0c2f98df21fadf0f6cf189b87a0b938228",
      "tree": "d3003625d8c5fd6d54466f81cffab1b5459bb98f",
      "parents": [
        "0519d83d83ed485b5a1f9222ff69d7d6c9bb8a01"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu Oct 29 07:17:09 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 21:33:55 2009 -0700"
      },
      "message": "gro: Name the GRO result enumeration type\n\nThis clarifies which return and parameter types are GRO result codes\nand not RX result codes.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb699dfd426a189fe33b91586c15176a75c8aed0",
      "tree": "c90a8aadc10ac9a9e7b67b2d36ce61853917e3ba",
      "parents": [
        "e0c5567d06ecf7777b6c46f4d933a0a6e09a44f3"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 19 19:18:49 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:42:55 2009 -0700"
      },
      "message": "net: Introduce dev_get_by_index_rcu()\n\nSome workloads hit dev_base_lock rwlock pretty hard.\nWe can use RCU lookups to avoid touching this rwlock.\n\nnetdevices are already freed after a RCU grace period, so this patch\nadds no penalty at device dismantle time.\n\ndev_ifname() converted to dev_get_by_index_rcu()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df5c79452f26f2a3d0883a213102515cfeb7aae9",
      "tree": "2e1533451f2024a99c32380e459479b66b658f02",
      "parents": [
        "383ff34bebc2eccae71686fbd72e1cd948859675"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Wed Oct 28 18:24:35 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 01:04:03 2009 -0700"
      },
      "message": "net: Add ndo_fcoe_get_wwn to net_device_ops\n\nAdd ndo_fcoe_get_wwn so Fiber Channel over Ethernet (FCoE) can make use of\nthe provided World Wide Port Name (WWPN) and World Wide Node Name (WWNN)\nfrom the underlying network interface driver.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b5e383c11b08784eb0087617f880077982ef769",
      "tree": "090e01601641c39bfb160aa6772336e363628503",
      "parents": [
        "44a0873d52282f24b1894c58c0f157e0f626ddc9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 27 07:04:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 28 02:22:06 2009 -0700"
      },
      "message": "net: Introduce unregister_netdevice_many()\n\nIntroduce rollback_registered_many() and unregister_netdevice_many()\n\nrollback_registered_many() is able to perform necessary steps at device dismantle\ntime, factorizing two expensive synchronize_net() calls.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44a0873d52282f24b1894c58c0f157e0f626ddc9",
      "tree": "2d913650b6c9474f135546cf06fe5e8d174ef478",
      "parents": [
        "83ab50a56e6ea94627fea83ce7b03332bd4c2f02"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 27 07:03:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 28 02:22:06 2009 -0700"
      },
      "message": "net: Introduce unregister_netdevice_queue()\n\nThis patchs adds an unreg_list anchor to struct net_device, and\nintroduces an unregister_netdevice_queue() function, able to queue\na net_device to a list instead of immediately unregister it.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fe13c5733790ef582769a54693fa6a5abf3c032",
      "tree": "567eb4394b642ddc81ff05521329d75d1cf47b88",
      "parents": [
        "8aa0f64ac3835a6daf84d0b0e07c4c01d7d8eddc",
        "10c435f18b8cb78a5870c08d52955594f5ec9c31"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 11 23:15:47 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 11 23:15:47 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "d308e38fa5467fbb523fc13e4b984375c2198c3d",
      "tree": "ff00c2d25a3b1e33fb30751147b0a1468c401a2e",
      "parents": [
        "a4d63a943735efa30270ce70716d43323fd40f02"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Wed Oct 07 13:53:11 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 13:53:11 2009 -0700"
      },
      "message": "include/linux/netdevice.h: fix nanodoc mismatch\n\nnanodoc was missing an ndo_-prefix.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32953543221cfe2bf0a24205fab225e5b8ed81a0",
      "tree": "48343bcd03f897a97fde1dd597205e8323d1323a",
      "parents": [
        "ec1b4cf74c81bfd0fbe5bf62bafc86c45917e72f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 05 06:01:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:10:47 2009 -0700"
      },
      "message": "dcb: data center bridging ops should be r/o\n\nThe data center bridging ops structure can be const\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f205ce83a766c08965ec78342f138cdc00631fba",
      "tree": "7a9d2db6c16594ef7c730ca93a87131cf0abca41",
      "parents": [
        "3dc95666df0e1ae5b7381a8ec97a583bb3ce4306",
        "b31c50a7f9e93a61d14740dedcbbf2c376998bc7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 17 20:53:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 17 20:53:52 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (66 commits)\n  be2net: fix some cmds to use mccq instead of mbox\n  atl1e: fix 2.6.31-git4 -- ATL1E 0000:03:00.0: DMA-API: device driver frees DMA\n  pkt_sched: Fix qstats.qlen updating in dump_stats\n  ipv6: Log the affected address when DAD failure occurs\n  wl12xx: Fix print_mac() conversion.\n  af_iucv: fix race when queueing skbs on the backlog queue\n  af_iucv: do not call iucv_sock_kill() twice\n  af_iucv: handle non-accepted sockets after resuming from suspend\n  af_iucv: fix race in __iucv_sock_wait()\n  iucv: use correct output register in iucv_query_maxconn()\n  iucv: fix iucv_buffer_cpumask check when calling IUCV functions\n  iucv: suspend/resume error msg for left over pathes\n  wl12xx: switch to %pM to print the mac address\n  b44: the poll handler b44_poll must not enable IRQ unconditionally\n  ipv6: Ignore route option with ROUTER_PREF_INVALID\n  bonding: make ab_arp select active slaves as other modes\n  cfg80211: fix SME connect\n  rc80211_minstrel: fix contention window calculation\n  ssb/sdio: fix printk format warnings\n  p54usb: add Zcomax XG-705A usbid\n  ...\n"
    },
    {
      "commit": "a4dbd6740df0872cdf0a86841f75beec8381964d",
      "tree": "1093687845d89f8397d61e7df1ad8546a5a25225",
      "parents": [
        "5b2ea2f10dbb2fa91d8033993000f8664309395f"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Jun 24 10:06:31 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 15 09:50:47 2009 -0700"
      },
      "message": "driver model: constify attribute groups\n\nLet attribute group vectors be declared \"const\".  We\u0027d\nlike to let most attribute metadata live in read-only\nsections... this is a start.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "75c78500ddad74b229cd0691496b8549490496a2",
      "tree": "5249219d68627421e4717c4e8f03f8b4bbad2e92",
      "parents": [
        "481a8199142c050b72bff8a1956a49fd0a75bbe0"
      ],
      "author": {
        "name": "Moni Shoua",
        "email": "monis@voltaire.com",
        "time": "Tue Sep 15 02:37:40 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 15 02:37:40 2009 -0700"
      },
      "message": "bonding: remap muticast addresses without using dev_close() and dev_open()\n\nThis patch fixes commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10. The approach\nthere is to call dev_close()/dev_open() whenever the device type is changed in\norder to remap the device IP multicast addresses to HW multicast addresses.\nThis approach suffers from 2 drawbacks:\n\n*. It assumes tha the device is UP when calling dev_close(), or otherwise\n   dev_close() has no affect. It is worth to mention that initscripts (Redhat)\n   and sysconfig (Suse) doesn\u0027t act the same in this matter. \n*. dev_close() has other side affects, like deleting entries from the routing\n   table, which might be unnecessary.\n\nThe fix here is to directly remap the IP multicast addresses to HW multicast\naddresses for a bonding device that changes its type, and nothing else.\n   \nReported-by:   Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: Moni Shoua \u003cmonis@voltaire.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "384912ed194e43c03ad1cdaa09b0b1e488c34d46",
      "tree": "bdaae15252819543cff0900941238d2b99bb2300",
      "parents": [
        "f510c35de0e63e1066db83d2fdce99e6dbde0c80"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 31 21:08:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:55 2009 -0700"
      },
      "message": "net: Add DEVTYPE support for Ethernet based devices\n\nThe Ethernet framing is used for a lot of devices these days. Most\nprominent are WiFi and WiMAX based devices. However for userspace\napplication it is important to classify these devices correctly and\nnot only see them as Ethernet devices. The daemons like HAL, DeviceKit\nor even NetworkManager with udev support tries to do the classification\nin userspace with a lot trickery and extra system calls. This is not\ngood and actually reaches its limitations. Especially since the kernel\ndoes know the type of the Ethernet device it is pretty stupid.\n\nTo solve this problem the underlying device type needs to be set and\nthen the value will be exported as DEVTYPE via uevents and available\nwithin udev.\n\n  # cat /sys/class/net/wlan0/uevent\n  DEVTYPE\u003dwlan\n  INTERFACE\u003dwlan0\n  IFINDEX\u003d5\n\nThis is similar to subsystems like USB and SCSI that distinguish\nbetween hosts, devices, disks, partitions etc.\n\nThe new SET_NETDEV_DEVTYPE() is a convenience helper to set the actual\ndevice type. All device types are free form, but for convenience the\nsame strings as used with RFKILL are choosen.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af356afa010f3cd2c8b8fcc3bce90f7a7b7ec02a",
      "tree": "302d938363bbaec3e69a58e36dbf8a304b24144c",
      "parents": [
        "5b9a9ccfad8553dbf7a9b17ba78bad70215ed0e2"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 04 06:41:18 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 02:07:03 2009 -0700"
      },
      "message": "net_sched: reintroduce dev-\u003eqdisc for use by sch_api\n\nCurrently the multiqueue integration with the qdisc API suffers from\na few problems:\n\n- with multiple queues, all root qdiscs use the same handle. This means\n  they can\u0027t be exposed to userspace in a backwards compatible fashion.\n\n- all API operations always refer to queue number 0. Newly created\n  qdiscs are automatically shared between all queues, its not possible\n  to address individual queues or restore multiqueue behaviour once a\n  shared qdisc has been attached.\n\n- Dumps only contain the root qdisc of queue 0, in case of non-shared\n  qdiscs this means the statistics are incomplete.\n\nThis patch reintroduces dev-\u003eqdisc, which points to the (single) root qdisc\nfrom userspace\u0027s point of view. Currently it either points to the first\n(non-shared) default qdisc, or a qdisc shared between all queues. The\nfollowing patches will introduce a classful dummy qdisc, which will be used\nas root qdisc and contain the per-queue qdiscs as children.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb45439977d3602b91dd0aca2d94fa3b32aebba6",
      "tree": "eec57859eb017f0a4288cbc88b47e9b9167468c5",
      "parents": [
        "61357325f377889a1daffa14962d705dc814dd0e"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Mon Aug 31 12:31:36 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 01:24:20 2009 -0700"
      },
      "message": "net: Add ndo_fcoe_enable/ndo_fcoe_disable to net_device_ops\n\nAdd ndo_fcoe_enable/_disable to net_device_ops so the corresponding\nHW can initialize itself for FCoE traffic or clean up after FCoE traffic is\ndone. This is expected to be called by the kernel FCoE stack upon receiving\na request for creating an FCoE instance on the corresponding netdev interface.\nWhen implemented by the actual HW, the HW driver check the op code to perform\ncorresponding initialization or clean up for FCoE. The initialization normally\nincludes allocating extra queues for FCoE, setting corresponding HW registers\nfor FCoE, indicating FCoE offload features via netdev, etc. The clean-up would\ninclude releasing the resources allocated for FCoE.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc1f8bf68b311b1537cb65893430b6796118498a",
      "tree": "25aa489e1c88d6a535b6d6a694dcaf41f5256fa4",
      "parents": [
        "9e39f7c5b311a306977c5471f9e2ce4c456aa038"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 31 19:50:40 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 01:13:03 2009 -0700"
      },
      "message": "netdev: change transmit to limited range type\n\nThe transmit function should only return one of three possible values,\nsome drivers got confused and returned errno\u0027s or other values.\nThis changes the definition so that this can be caught at compile time.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b3d3e4fc685a7d7e0b4c207ce24dfbab5689eb0",
      "tree": "37b8181e8cd072f49d23f0e776b367e86b18d41e",
      "parents": [
        "6ca8b990e07914a87fd1f6dfc5507f5e1c4572e2"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Sat Aug 29 20:21:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 30 22:16:20 2009 -0700"
      },
      "message": "netdevice: Consolidate to use existing macros where available.\n\nPatch compiled and 32 simultaneous netperf testing ran fine.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb2af4f54ffa8245d5ce278cae9c66198bc14d8b",
      "tree": "3e35b71afd57fe94e978c85287d0a1f556af4ab0",
      "parents": [
        "36a82236314b5ebd6e3e1eb8bb7b850c83e53c3a"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Aug 14 12:41:57 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 14 16:12:09 2009 -0700"
      },
      "message": "net: Add NETIF_F_FCOE_MTU to indicate support for a different MTU for FCoE\n\nAdd NETIF_F_FCOE_MTU to indicate that the NIC can support a secondary MTU for\nconverged traffic of LAN and Fiber Channel over Ethernet (FCoE). The MTU for\nFCoE is 2158 \u003d 14 (FCoE header) + 24 (FC header) + 2112 (FC max payload) +\n4 (FC CRC) + 4 (FCoE trailer).\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e8635a8e1f2d4a9e1bfc6c3b21419a5921e674f",
      "tree": "fe9a6f5d21259e51d0ac87f00787b32248f2851a",
      "parents": [
        "6b1344724e10c166d9e3c17011ed879ddf302e94"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Sat Jun 20 00:53:25 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 05 19:15:35 2009 -0700"
      },
      "message": "net: remove NET_RX_BAD and NET_RX_CN* defines\n\nalmost no users in the tree; and the few that use them treat them\nlike NET_RX_DROP.\n\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31278e71471399beaff9280737e52b47db4dc345",
      "tree": "25fe2ff8e48a75b7f569dccc463f3bd2561c6c66",
      "parents": [
        "7b85576d15bf2574b0a451108f59f9ad4170dd3f"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Jun 17 01:12:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 18 00:29:08 2009 -0700"
      },
      "message": "net: group address list and its count\n\nThis patch is inspired by patch recently posted by Johannes Berg. Basically what\nmy patch does is to group list and a count of addresses into newly introduced\nstructure netdev_hw_addr_list. This brings us two benefits:\n1) struct net_device becames a bit nicer.\n2) in the future there will be a possibility to operate with lists independently\n   on netdevices (with exporting right functions).\nI wanted to introduce this patch before I\u0027ll post a multicast lists conversion.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\n\n drivers/net/bnx2.c              |    4 +-\n drivers/net/e1000/e1000_main.c  |    4 +-\n drivers/net/ixgbe/ixgbe_main.c  |    6 +-\n drivers/net/mv643xx_eth.c       |    2 +-\n drivers/net/niu.c               |    4 +-\n drivers/net/virtio_net.c        |   10 ++--\n drivers/s390/net/qeth_l2_main.c |    2 +-\n include/linux/netdevice.h       |   17 +++--\n net/core/dev.c                  |  130 ++++++++++++++++++--------------------\n 9 files changed, 89 insertions(+), 90 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5bd8a13e9e0322c7f76b34790ba34e2e0ce2ac5",
      "tree": "372945d724f23f1d110e9d5d3e7b44c013696988",
      "parents": [
        "ee0398717078260ee4ffa97d407071bc774e2dac"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 09 00:17:27 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 09 00:17:27 2009 -0700"
      },
      "message": "netdevice.h: Use frag list abstraction interfaces.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "278b2513f76161a9cf1ebddd620dc9d1714fe573",
      "tree": "948c51313b36b155fe435807ad89a8a76441e7d7",
      "parents": [
        "56c8f140719e6f62836fb645d3fd96c6289907fb"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 03 21:20:51 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 21:20:51 2009 -0700"
      },
      "message": "gso: Stop fraglists from escaping\n\nAs it stands skb fraglists can get past the check in dev_queue_xmit\nif the skb is marked as GSO.  In particular, if the packet doesn\u0027t\nhave the proper checksums for GSO, but can otherwise be handled by\nthe underlying device, we will not perform the fraglist check on it\nat all.\n\nIf the underlying device cannot handle fraglists, then this will\nbreak.\n\nThe fix is as simple as moving the fraglist check from the device\ncheck into skb_gso_ok.\n\nThis has caused crashes with Xen when used together with GRO which\ncan generate GSO packets with fraglists.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccffad25b5136958d4769ed6de5e87992dd9c65c",
      "tree": "cd5f36fe67f4deeae23d76436f7a032a201cba44",
      "parents": [
        "ae63e808f508c38fe65e23a1480c85d5bd00ecbd"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Fri May 22 23:22:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 29 22:12:32 2009 -0700"
      },
      "message": "net: convert unicast addr list\n\nThis patch converts unicast address list to standard list_head using\npreviously introduced struct netdev_hw_addr. It also relaxes the\nlocking. Original spinlock (still used for multicast addresses) is not\nneeded and is no longer used for a protection of this list. All\nreading and writing takes place under rtnl (with no changes).\n\nI also removed a possibility to specify the length of the address\nwhile adding or deleting unicast address. It\u0027s always dev-\u003eaddr_len.\n\nThe convertion touched especially e1000 and ixgbe codes when the\nchange is not so trivial.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\n\n drivers/net/bnx2.c               |   13 +--\n drivers/net/e1000/e1000_main.c   |   24 +++--\n drivers/net/ixgbe/ixgbe_common.c |   14 ++--\n drivers/net/ixgbe/ixgbe_common.h |    4 +-\n drivers/net/ixgbe/ixgbe_main.c   |    6 +-\n drivers/net/ixgbe/ixgbe_type.h   |    4 +-\n drivers/net/macvlan.c            |   11 +-\n drivers/net/mv643xx_eth.c        |   11 +-\n drivers/net/niu.c                |    7 +-\n drivers/net/virtio_net.c         |    7 +-\n drivers/s390/net/qeth_l2_main.c  |    6 +-\n drivers/scsi/fcoe/fcoe.c         |   16 ++--\n include/linux/netdevice.h        |   18 ++--\n net/8021q/vlan.c                 |    4 +-\n net/8021q/vlan_dev.c             |   10 +-\n net/core/dev.c                   |  195 +++++++++++++++++++++++++++-----------\n net/dsa/slave.c                  |   10 +-\n net/packet/af_packet.c           |    4 +-\n 18 files changed, 227 insertions(+), 137 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d4e039b2cb1ca4de9774344ea7b61ad7fa1b0a1",
      "tree": "8db8402dab8a3cffbf67fb846e35c45beb3d31a0",
      "parents": [
        "4d5ef9f0f588045d5e53e51816bd619d82385676"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu May 28 01:05:00 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 29 01:51:23 2009 -0700"
      },
      "message": "bonding: allow bond in mode balance-alb to work properly in bridge -try4.3\n\n[PATCH net-next] bonding: allow bond in mode balance-alb to work properly in bridge -try4.3\n\n(updated)\nchanges v4.2 -\u003e v4.3\n- memcpy the address always, not just in case it differs from master-\u003edev_addr\n- compare_ether_addr_64bits() is not used so there is no direct need to make new\n  header file (I think it would be good to have bond stuff in separate file\n  anyway).\n\nchanges v4.1 -\u003e v4.2\n- use skb-\u003epkt_type \u003d\u003d PACKET_HOST compare rather then comparing skb dest addr\n  against skb-\u003edev-\u003edev_addr\n\nThe problem is described in following bugzilla:\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d487763\n\nBasically here\u0027s what\u0027s going on. In every mode, bonding interface uses the same\nmac address for all enslaved devices (except fail_over_mac). Only balance-alb\nwill simultaneously use multiple MAC addresses across different slaves. When you\nput this kind of bond device into a bridge it will only add one of mac adresses\ninto a hash list of mac addresses, say X. This mac address is marked as local.\nBut this bonding interface also has mac address Y. Now then packet arrives with\ndestination address Y, this address is not marked as local and the packed looks\nlike it needs to be forwarded. This packet is then lost which is wrong.\n\nNotice that interfaces can be added and removed from bond while it is in bridge.\n\n***\nWhen the multiple addresses for bridge port approach failed to solve this issue\ndue to STP I started to think other way to solve this. I returned to previous\nsolution but tweaked one.\n\nThis patch solves the situation in the bonding without touching bridge code.\nFor every incoming frame to bonding the destination address is compared to\ncurrent address of the slave device from which tha packet came. If these two\nmatch destination address is replaced by mac address of the master. This address\nis known by bridge so it is delivered properly. Note that the comparsion is not\nmade directly, it\u0027s used skb-\u003epkt_type \u003d\u003d PACKET_HOST instead. This is \"set\"\npreviously in eth_type_trans().\n\nI experimentally tried that this works as good as searching through the slave\nlist (v4 of this patch).\n\nJirka\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "385a154cac8763284f65cdfa25f6796c9eb1ca21",
      "tree": "bde9357bfc4cd8e41cc9dd4336d56f7fc9ba2a2c",
      "parents": [
        "2a91525c20d3aae15b33c189514b9e20e30ef8a8"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed May 27 15:48:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 27 15:48:07 2009 -0700"
      },
      "message": "net: correct a comment for the final #endif\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ce8e7b57b3a4527ef83da1c5c7bd8a6b9d87b56",
      "tree": "095536a47e40fdb621c1f959637fa63f57a4ccf2",
      "parents": [
        "0bb32417ff0f6ac385e4eec3ef6641950bbb3694"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 27 04:42:37 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 27 15:47:06 2009 -0700"
      },
      "message": "net: ALIGN/PTR_ALIGN cleanup in alloc_netdev_mq()/netdev_priv()\n\nUse ALIGN() and PTR_ALIGN() macros instead of handcoding them.\n\nGet rid of NETDEV_ALIGN_CONST ugly define\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5b1cf288d4200506ab62fbb86cc81ace948a306",
      "tree": "c95339866f4d67220d111811a92e5c6b79de6ab4",
      "parents": [
        "7489594cb249aeb178287c9a43a9e4f366044259"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 26 18:50:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 27 03:26:01 2009 -0700"
      },
      "message": "gro: Avoid unnecessary comparison after skb_gro_header\n\nFor the overwhelming majority of cases, skb_gro_header\u0027s return\nvalue cannot be NULL.  Yet we must check it because of its current\nform.  This patch splits it up into multiple functions in order\nto avoid this.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7489594cb249aeb178287c9a43a9e4f366044259",
      "tree": "3989b000550aa061d6cd222a83c12c62c1cc0182",
      "parents": [
        "30a3ae30c775e2723f86ef70746ad3cb4404a4c9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 26 18:50:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 27 03:26:01 2009 -0700"
      },
      "message": "gro: Optimise length comparison in skb_gro_header\n\nBy caching frag0_len, we can avoid checking both frag0 and the\nlength separately in skb_gro_header.  This helps as skb_gro_header\nis called four times per packet which amounts to a few million\ntimes at 10Gb/s.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78d3fd0b7de844a6dad56e9620fc9d2271b32ab9",
      "tree": "e79c910646deccc50f5a108782f66cebffafa4d8",
      "parents": [
        "67147ba99aeb48f2863e03b68e090088a34c1b5d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 26 18:50:23 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 27 03:25:57 2009 -0700"
      },
      "message": "gro: Only use skb_gro_header for completely non-linear packets\n\nCurrently skb_gro_header is used for packets which put the hardware\nheader in skb-\u003edata with the rest in frags.  Since the drivers that\nneed this optimisation all provide completely non-linear packets,\nwe can gain extra optimisations by only performing the frag0\noptimisation for completely non-linear packets.\n\nIn particular, we can simply test frag0 (instead of skb_headlen)\nto see whether the optimisation is in force.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78a478d0efd9e86e5345b436e130497b4e5846e8",
      "tree": "273e7565811add8216267f5893335bdb7928a6b7",
      "parents": [
        "42da6994ca6d20ad1d4e30255dee98047db454e7"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 26 18:50:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 27 03:25:55 2009 -0700"
      },
      "message": "gro: Inline skb_gro_header and cache frag0 virtual address\n\nThe function skb_gro_header is called four times per packet which\nquickly adds up at 10Gb/s.  This patch inlines it to allow better\noptimisations.\n\nSome architectures perform multiplication for page_address, which\nis done by each skb_gro_header invocation.  This patch caches that\nvalue in skb-\u003ecb to avoid the unnecessary multiplications.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "08baf561083bc27a953aa087dd8a664bb2b88e8e",
      "tree": "979d92224e21b69368a27bb684b74b3d4d744183",
      "parents": [
        "65ac8851490ec97a96759af729132c96f925a795"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 25 22:58:01 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 25 22:58:01 2009 -0700"
      },
      "message": "net: txq_trans_update() helper\n\nWe would like to get rid of netdev-\u003etrans_start \u003d jiffies; that about all net\ndrivers have to use in their start_xmit() function, and use txq-\u003etrans_start\ninstead.\n\nThis can be done generically in core network, as suggested by David.\n\nSome devices, (particularly loopback) dont need trans_start update, because\nthey dont have transmit watchdog. We could add a new device flag, or rely\non fact that txq-\u003etran_start can be updated is txq-\u003exmit_lock_owner is\ndifferent than -1. Use a helper function to hide our choice.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3804cbebb67887879102925961d41b503f7fbe3",
      "tree": "0c2290608f511bf97978767e159121e3009c56e3",
      "parents": [
        "c649c0e31d5736a4b7c5c3454182091dda4bbe62"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Mon May 25 01:53:53 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 25 01:53:53 2009 -0700"
      },
      "message": "net: remove COMPAT_NET_DEV_OPS\n\nAll drivers are already converted to new net_device_ops API\nand nobody uses old API anymore.\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7004bf252c53da18f6b55103e0c92f777f846806",
      "tree": "29868ce170599fbed3471f53afe3a20f23fb31c3",
      "parents": [
        "ba98898eb3fc07ee54566fcc3626354a44355acb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon May 18 00:34:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 18 15:15:06 2009 -0700"
      },
      "message": "net: add tx_packets/tx_bytes/tx_dropped counters in struct netdev_queue\n\noffsetof(struct net_device, features)\u003d0x44\noffsetof(struct net_device, stats.tx_packets)\u003d0x54\noffsetof(struct net_device, stats.tx_bytes)\u003d0x5c\noffsetof(struct net_device, stats.tx_dropped)\u003d0x6c\n\nNetwork drivers that touch dev-\u003estats.tx_packets/stats.tx_bytes in their\ntx path can slow down SMP operations, since they dirty a cache line\nthat should stay shared (dev-\u003efeatures is needed in rx and tx paths)\n\nWe could move away stats field in net_device but it wont help that much.\n(Two cache lines dirtied in tx path, we can do one only)\n\nBetter solution is to add tx_packets/tx_bytes/tx_dropped in struct\nnetdev_queue because this structure is already touched in tx path and\ncounters updates will then be free (no increase in size)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d21493b4beb8f918ba248032fefa393074a5e2b",
      "tree": "653590f3e325da5c4c1fc7d2c00bc196a3167f9d",
      "parents": [
        "0a305720ee597aad41af61e6b6844321d3e24251"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun May 17 20:55:16 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 17 20:55:16 2009 -0700"
      },
      "message": "net: tx scalability works : trans_start\n\nstruct net_device trans_start field is a hot spot on SMP and high performance\ndevices, particularly multi queues ones, because every transmitter dirties\nit. Is main use is tx watchdog and bonding alive checks.\n\nBut as most devices dont use NETIF_F_LLTX, we have to lock\na netdev_queue before calling their ndo_start_xmit(). So it makes\nsense to move trans_start from net_device to netdev_queue. Its update\nwill occur on a already present (and in exclusive state) cache line, for\nfree.\n\nWe can do this transition smoothly. An old driver continue to\nupdate dev-\u003etrans_start, while an updated one updates txq-\u003etrans_start.\n\nFurther patches could also put tx_bytes/tx_packets counters in \nnetdev_queue to avoid dirtying dev-\u003estats (vlan device comes to mind)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d5b78c055c76bb563c4a43d2adb92735b3b9405",
      "tree": "c02417dd6c44ea2cf9585158981a9c40d817fa70",
      "parents": [
        "4dbc8ef7e1123bb8a591d75a2b84413aa261a9f4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 06 16:52:51 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 06 16:52:51 2009 -0700"
      },
      "message": "net: Add missing rculist.h include to netdevice.h\n\nOtherwise list_for_each_entry_rcu() et al. aren\u0027t visible\nand we get build failures in some configurations.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f001fde5eadd915f4858d22ed70d7040f48767cf",
      "tree": "f03fd0216b411e4a076e464861aa959e5b51edb0",
      "parents": [
        "b6907b0c705b6db221f937b4d343e2a6b280c8c5"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue May 05 02:48:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 05 12:26:24 2009 -0700"
      },
      "message": "net: introduce a list of device addresses dev_addr_list (v6)\n\nv5 -\u003e v6 (current):\n-removed so far unused static functions\n-corrected dev_addr_del_multiple to call del instead of add\n\nv4 -\u003e v5:\n-added device address type (suggested by davem)\n-removed refcounting (better to have simplier code then safe potentially few\n bytes)\n\nv3 -\u003e v4:\n-changed kzalloc to kmalloc in __hw_addr_add_ii()\n-ASSERT_RTNL() avoided in dev_addr_flush() and dev_addr_init()\n\nv2 -\u003e v3:\n-removed unnecessary rcu read locking\n-moved dev_addr_flush() calling to ensure no null dereference of dev_addr\n\nv1 -\u003e v2:\n-added forgotten ASSERT_RTNL to dev_addr_init and dev_addr_flush\n-removed unnecessary rcu_read locking in dev_addr_init\n-use compare_ether_addr_64bits instead of compare_ether_addr\n-use L1_CACHE_BYTES as size for allocating struct netdev_hw_addr\n-use call_rcu instead of rcu_synchronize\n-moved is_etherdev_addr into __KERNEL__ ifdef\n\nThis patch introduces a new list in struct net_device and brings a set of\nfunctions to handle the work with device address list. The list is a replacement\nfor the original dev_addr field and because in some situations there is need to\ncarry several device addresses with the net device. To be backward compatible,\ndev_addr is made to point to the first member of the list so original drivers\nsees no difference.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aba7453037c3a90714caae77a622dceaf1173786",
      "tree": "bf07f9f432b0d8e9db9486f1f32ad065c0aa7c5c",
      "parents": [
        "a4fe91ee711f4e955ea85ab05b092cfe384b073e",
        "93af7aca44f0e82e67bda10a0fb73d383edcc8bd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 29 20:30:35 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 29 20:30:35 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tDocumentation/isdn/00-INDEX\n\tdrivers/net/wireless/iwlwifi/iwl-scan.c\n\tdrivers/net/wireless/rndis_wlan.c\n\tnet/mac80211/main.c\n"
    },
    {
      "commit": "6a321cb370ad3db4ba6e405e638b3a42c41089b0",
      "tree": "2e7c25cff76fc6b439afb04e24ab1133e42667b8",
      "parents": [
        "8555a5948467e941acc34e8b1c30df4c1f2f5862"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Apr 28 04:43:42 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 28 04:43:42 2009 -0700"
      },
      "message": "net: netif_tx_queue_stopped too expensive\n\nnetif_tx_queue_stopped(txq) is most of the time false.\n\nYet its cost is very expensive on SMP.\n\nstatic inline int netif_tx_queue_stopped(const struct netdev_queue *dev_queue)\n{\n\treturn test_bit(__QUEUE_STATE_XOFF, \u0026dev_queue-\u003estate);\n}\n\nI saw this on oprofile hunting and bnx2 driver bnx2_tx_int().\n\nWe probably should split \"struct netdev_queue\" in two parts, one\nbeing read mostly.\n\n__netif_tx_lock() touches _xmit_lock \u0026 xmit_lock_owner, these\ndeserve a separate cache line.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8dc92f7e2ecfd93f5c57da78594a7a5482e2c15e",
      "tree": "10ebbfa0dc4f0b175c95cf47f2ba013aa532676e",
      "parents": [
        "182ff8dfdb63e66ca81e4d3a4c746f8d578e5687"
      ],
      "author": {
        "name": "Jesse Brandeburg",
        "email": "jesse.brandeburg@intel.com",
        "time": "Mon Apr 27 22:35:52 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 28 01:53:14 2009 -0700"
      },
      "message": "sctp: add feature bit for SCTP offload in hardware\n\nthis is the sctp code to enable hardware crc32c offload for\nadapters that support it.\n\nOriginally by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n\nmodified by Jesse Brandeburg \u003cjesse.brandeburg@intel.com\u003e\n\nSigned-off-by: Jesse Brandeburg \u003cjesse.brandeburg@intel.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37b607c5ac3b7c92a6a3624bb29f1cdcdcf7044a",
      "tree": "ac2ecd6b61ea290748b6d33e41637e24d962f05b",
      "parents": [
        "c9503e0fe052020e0294cd07d0ecd982eb7c9177"
      ],
      "author": {
        "name": "Mike Rapoport",
        "email": "mike@compulab.co.il",
        "time": "Mon Apr 27 05:45:54 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 27 05:45:54 2009 -0700"
      },
      "message": "net: Fix typo in net_device_ops description.\n\nSigned-off-by: Mike Rapoport \u003cmike@compulab.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36e7b1b8dac1a785abca3a121b6b0b79f1a8d7df",
      "tree": "cdde7191a6e5d78bf9603983d5a71ec99fd5385b",
      "parents": [
        "edbd9e30306067c3a45c035eb95a6f49daaa2337"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 27 05:44:45 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 27 05:44:45 2009 -0700"
      },
      "message": "gro: Fix COMPLETE checksum handling\n\nOn a brand new GRO skb, we cannot call ip_hdr since the header\nmay lie in the non-linear area.  This patch adds the helper\nskb_gro_network_header to handle this.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edbd9e30306067c3a45c035eb95a6f49daaa2337",
      "tree": "00e8ce4bbb0b517cea71ff14165b2b1d944d22f3",
      "parents": [
        "56ed4351c2604c221a82276f51e5dfd467921bf3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 27 05:44:29 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 27 05:44:29 2009 -0700"
      },
      "message": "gro: Fix handling of headers that extend over the tail\n\nThe skb_gro_* code fails to handle the case where a header starts\nin the linear area but ends in the frags area.  Since the goal\nof skb_gro_* is to optimise the case of completely non-linear\npackets, we can simply bail out if we have anything in the linear\narea.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c759a6b4e1cae6aff71f58c9c85404ebcd81b6e0",
      "tree": "0c91cc3b8b06534f1c169867baa0c1061a8f6663",
      "parents": [
        "785a0982eaaeae2fbe3372d1c9c769e8156a7a5a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Apr 27 02:36:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 27 02:36:20 2009 -0700"
      },
      "message": "net: Fix LL_MAX_HEADER for CONFIG_TR_MODULE\n\nUnless I miss anything this should fix a bug.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1b67dd45a6b629eb41553856805aaa1614fbb83",
      "tree": "23d2b8dc59223b649f466564dac338c899595a7c",
      "parents": [
        "4510d7cb8b4e7d389652b8a4f89fad469a5ecc92"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 20 04:49:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 21 02:00:51 2009 -0700"
      },
      "message": "net: factor out ethtool invocation of vlan/macvlan drivers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76620aafd66f0004829764940c5466144969cffc",
      "tree": "38041e6938121b5611546c582cd23f289db047b0",
      "parents": [
        "861ab44059350e5cab350238606cf8814abab93b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Apr 16 02:02:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 16 02:02:07 2009 -0700"
      },
      "message": "gro: New frags interface to avoid copying shinfo\n\nIt turns out that copying a 16-byte area at ~800k times a second\ncan be really expensive :) This patch redesigns the frags GRO\ninterface to avoid copying that area twice.\n\nThe two disciples of the frags interface have been converted.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d54b3538b0bfb31351d02d1669d4a978d2abfc5f",
      "tree": "5ce539ecba525b30bbfb1c46c55487099264947e",
      "parents": [
        "5d80f8e5a9dc9c9a94d4aeaa567e219a808b8a4a",
        "af50bb993dfa673cf21ab812efe620d7e0c36319"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 28 13:30:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 28 13:30:43 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (119 commits)\n  [SCSI] scsi_dh_rdac: Retry for NOT_READY check condition\n  [SCSI] mpt2sas: make global symbols unique\n  [SCSI] sd: Make revalidate less chatty\n  [SCSI] sd: Try READ CAPACITY 16 first for SBC-2 devices\n  [SCSI] sd: Refactor sd_read_capacity()\n  [SCSI] mpt2sas v00.100.11.15\n  [SCSI] mpt2sas: add MPT2SAS_MINOR(221) to miscdevice.h\n  [SCSI] ch: Add scsi type modalias\n  [SCSI] 3w-9xxx: add power management support\n  [SCSI] bsg: add linux/types.h include to bsg.h\n  [SCSI] cxgb3i: fix function descriptions\n  [SCSI] libiscsi: fix possbile null ptr session command cleanup\n  [SCSI] iscsi class: remove host no argument from session creation callout\n  [SCSI] libiscsi: pass session failure a session struct\n  [SCSI] iscsi lib: remove qdepth param from iscsi host allocation\n  [SCSI] iscsi lib: have lib create work queue for transmitting IO\n  [SCSI] iscsi class: fix lock dep warning on logout\n  [SCSI] libiscsi: don\u0027t cap queue depth in iscsi modules\n  [SCSI] iscsi_tcp: replace scsi_debug/tcp_debug logging with iscsi conn logging\n  [SCSI] libiscsi_tcp: replace tcp_debug/scsi_debug logging with session/conn logging\n  ...\n"
    },
    {
      "commit": "cc0be3227df9146968311308a9d19db1469ce1db",
      "tree": "9f8979ecea86e3cae10af7f4bfaf05262f660ba2",
      "parents": [
        "5b28beaf88436fa44fc25ee27a2fadffb75f222e"
      ],
      "author": {
        "name": "Dmitri Vorobiev",
        "email": "dmitri.vorobiev@movial.com",
        "time": "Fri Mar 27 15:55:36 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 27 15:55:36 2009 -0700"
      },
      "message": "net: Add missing include into include/linux/netdevice.h\n\nThe inline function skb_gro_mac_header defined in include/linux/netdevice.h\nmakes use of page_address(). Depending on configuration options, the latter\nis either defined as a macro or is declared as a function in another header\nfile, namely include/linux/mm.h. However, include/linux/netdevice.h does not\ninclude include/linux/mm.h.\n\nOn MIPS, this has produced the following build error:\n\n  CC      kernel/sysctl_check.o\nIn file included from include/linux/icmpv6.h:173,\n                 from include/linux/ipv6.h:208,\n                 from include/net/ip_vs.h:26,\n                 from kernel/sysctl_check.c:6:\ninclude/linux/netdevice.h: In function \u0027skb_gro_mac_header\u0027:\ninclude/linux/netdevice.h:1132: error: implicit declaration of function\n\u0027page_address\u0027\ninclude/linux/netdevice.h:1133: warning: pointer/integer type mismatch\nin conditional expression\nmake[1]: *** [kernel/sysctl_check.o] Error 1\nmake: *** [kernel] Error 2\n\nThe patch adds the missing include and fixes the build error.\n\nSigned-off-by: Dmitri Vorobiev \u003cdmitri.vorobiev@movial.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1c76af9e2434fac3add561e26c61b06503de986",
      "tree": "cbedc7c96c4b7db3d7a5a8300117804c5e0230d9",
      "parents": [
        "afece1c6587010cc81d1a43045c855774e8234a3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Mar 16 10:50:02 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 16 10:50:02 2009 -0700"
      },
      "message": "GRO: Move netpoll checks to correct location\n\nAs my netpoll fix for net doesn\u0027t really work for net-next, we\nneed this update to move the checks into the right place.  As it\nstands we may pass freed skbs to netpoll_receive_skb.\n\nThis patch also introduces a netpoll_rx_on function to avoid GRO\ncompletely if we\u0027re invoked through netpoll.  This might seem\nparanoid but as netpoll may have an external receive hook it\u0027s\nbetter to be safe than sorry.  I don\u0027t think we need this for\n2.6.29 though since there\u0027s nothing immediately broken by it.\n\nThis patch also moves the GRO_* return values to netdevice.h since\nVLAN needs them too (I tried to avoid this originally but alas\nthis seems to be the easiest way out).  This fixes a bug in VLAN\nwhere it continued to use the old return value 2 instead of the\ncorrect GRO_DROP.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d288d5767f853bfca25adc7b6030dc95518cb2e",
      "tree": "c48c34dd06d6f269d7118bbe96f7ffa4cae8071b",
      "parents": [
        "1c8dbcf6496c2612d883a8bc6bccc38000e14866"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Feb 27 14:06:59 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Mar 13 15:12:12 2009 -0500"
      },
      "message": "[SCSI] net: add FCoE offload support through net_device\n\nThis adds support to provide Fiber Channel over Ethernet (FCoE) offload\nthrough net_device\u0027s net_device_ops struct. The offload through net_device\nfor FCoE is enabled in kernel as built-in or module driver.\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "01d5b2fca1fa58ed5039239fd531e9f658971ace",
      "tree": "7b1c89ee47110b9581f10797a24d5f12d46e081a",
      "parents": [
        "43eb99c5b349b188f82725652f3d1018c619d682"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Fri Feb 27 14:06:49 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Mar 13 15:11:07 2009 -0500"
      },
      "message": "[SCSI] net: define feature flags for FCoE offloads\n\nDefine feature flags for FCoE offloads.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "43eb99c5b349b188f82725652f3d1018c619d682",
      "tree": "b34aa54b7d54d2ed691fc7fd05e56ffa5b690c93",
      "parents": [
        "211c738d86f3f423f1b218ab3a356c9538e38047"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Fri Feb 27 14:06:43 2009 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Mar 13 15:10:23 2009 -0500"
      },
      "message": "[SCSI] net: reclaim 8 upper bits of the netdev-\u003efeatures from GSO\n\nReclaim 8 upper bits of netdev-\u003efeatures from GSO.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "508827ff0ac3981d420edac64a70de7f4e304d38",
      "tree": "b0cee8ddef9f0ceab68c388e4ae46b7295eb2cb5",
      "parents": [
        "2c3c3d02f28801d7ad2da4952b2c7ca6621ef221",
        "72e2240f181871675d3a979766330c91d48a1673"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 05 02:06:47 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 05 02:06:47 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/tokenring/tmspci.c\n\tdrivers/net/ucc_geth_mii.c\n"
    },
    {
      "commit": "9d40bbda599def1e1d155d7f7dca14fe8744bd2b",
      "tree": "d246fbaec294830ecab0bb4b3b38d925abb5ffd8",
      "parents": [
        "54acd0efab072cb70e87206329d561b297f93bbb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 23:46:25 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 23:46:25 2009 -0800"
      },
      "message": "vlan: Fix vlan-in-vlan crashes.\n\nAs analyzed by Patrick McHardy, vlan needs to reset it\u0027s\nnetdev_ops pointer in it\u0027s -\u003einit() function but this\nleaves the compat method pointers stale.\n\nAdd a netdev_resync_ops() and call it from the vlan code.\n\nAny other driver which changes -\u003enetdev_ops after register_netdevice()\nwill need to call this new function after doing so too.\n\nWith help from Patrick McHardy.\n\nTested-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f3a7c66b5ce0b75a9774a50b5dcce93e5ba28370",
      "tree": "441f02ac10cb109cbb80fbd0d964af3638541f06",
      "parents": [
        "35c26c2cf6a6a2d1c48add732d8ba002bd90784c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sat Feb 14 22:58:35 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 22:58:35 2009 -0800"
      },
      "message": "net: replace __constant_{endian} uses in net headers\n\nBase versions handle constant folding now.  For headers exposed to\nuserspace, we must only expose the __ prefixed versions.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa4b9f533ed5a22952e038b9fac2447ccc682124",
      "tree": "91722b13a63dcd0e49695388e633cfa91b856b80",
      "parents": [
        "4ae5544f9a33e4ae306e337f96951eb3ff2df6d9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Feb 08 18:00:37 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 08 20:22:18 2009 -0800"
      },
      "message": "gro: Optimise Ethernet header comparison\n\nThis patch optimises the Ethernet header comparison to use 2-byte\nand 4-byte xors instead of memcmp.  In order to facilitate this,\nthe actual comparison is now carried out by the callers of the\nshared dev_gro_receive function.\n\nThis has a significant impact when receiving 1500B packets through\n10GbE.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ae5544f9a33e4ae306e337f96951eb3ff2df6d9",
      "tree": "4ca5e02345cb3a680db5ac1016e6e857ccb4a767",
      "parents": [
        "d6301d3dd1c287b32132dda15272a50c11e92a14"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Feb 08 18:00:36 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 08 20:22:17 2009 -0800"
      },
      "message": "gro: Remember number of held packets instead of counting every time\n\nThis patch prepares for the move of the same_flow checks out of\ndev_gro_receive.  As such we need to remember the number of held\npackets since doing a loop just to count them every time is silly.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe2918b098cdbf55b69ba8762bd3de0ae64f33ff",
      "tree": "210abd000a7fbb399d6ade02e71db1cfaf398a58",
      "parents": [
        "33dccbb050bbe35b88ca8cf1228dcf3e4d4b3554"
      ],
      "author": {
        "name": "Graf Yang",
        "email": "graf.yang@analog.com",
        "time": "Thu Feb 05 21:26:19 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 05 21:26:19 2009 -0800"
      },
      "message": "net: fix some trailing whitespaces\n\nSigned-off-by: Graf Yang \u003cgraf.yang@analog.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86911732d3996a9da07914b280621450111bb6da",
      "tree": "e787240d5ba869ddf4d0adfc3f9c69e0372e96ef",
      "parents": [
        "5d0d9be8ef456afc6c3fb5f8aad06ef19b704b05"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jan 29 14:19:50 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 29 16:33:03 2009 -0800"
      },
      "message": "gro: Avoid copying headers of unmerged packets\n\nUnfortunately simplicity isn\u0027t always the best.  The fraginfo\ninterface turned out to be suboptimal.  The problem was quite\nobvious.  For every packet, we have to copy the headers from\nthe frags structure into skb-\u003ehead, even though for 99% of the\npackets this part is immediately thrown away after the merge.\n\nLRO didn\u0027t have this problem because it directly read the headers\nfrom the frags structure.\n\nThis patch attempts to address this by creating an interface\nthat allows GRO to access the headers in the first frag without\nhaving to copy it.  Because all drivers that use frags place the\nheaders in the first frag this optimisation should be enough.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d0d9be8ef456afc6c3fb5f8aad06ef19b704b05",
      "tree": "9fc987d5c6850800a83465105af43af4ce9c76a4",
      "parents": [
        "7019298a2a5058c4e324494d6c8d0598214c28f4"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jan 29 14:19:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 29 16:33:02 2009 -0800"
      },
      "message": "gro: Move common completion code into helpers\n\nCurrently VLAN still has a bit of common code handling the aftermath\nof GRO that\u0027s shared with the common path.  This patch moves them\ninto shared helpers to reduce code duplication.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "288379f050284087578b77e04f040b57db3db3f8",
      "tree": "ac5f5c83e2778a1966327d87316fc94067363b45",
      "parents": [
        "627af770c63acddc2402dd19fec70df5c3ad8ab7"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Jan 19 16:43:59 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 14:33:50 2009 -0800"
      },
      "message": "net: Remove redundant NAPI functions\n\nFollowing the removal of the unused struct net_device * parameter from\nthe NAPI functions named *netif_rx_* in commit 908a7a1, they are\nexactly equivalent to the corresponding *napi_* functions and are\ntherefore redundant.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "937f1ba56b4be37d9e2ad77412f95048662058d2",
      "tree": "154e0c5ce11b5afe25816d667c76b19ac679d530",
      "parents": [
        "2950e952920811be465ec95c6b56f03dc66a05c0"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Jan 14 21:05:05 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 14 21:05:05 2009 -0800"
      },
      "message": "net: Add init_dummy_netdev() and fix EMAC driver using it\n\nThis adds an init_dummy_netdev() function that gets a network device\nstructure (allocation and lifetime entirely under caller\u0027s control) and\ninitialize the minimum amount of fields so it can be used to schedule\nNAPI polls without registering a full blown interface. This is to be\nused by drivers that need to tie several hardware interfaces to a single\nNAPI poll scheduler due to HW limitations.\n\nIt also updates the ibm_newemac driver to use that, this fixing the\noops on 2.6.29 due to passing NULL as \"dev\" to netif_napi_add()\n\nSymbol is exported GPL only a I don\u0027t think we want binary drivers doing\nthat sort of acrobatics (if we want them at all).\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nTested-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "985ebdb5ed54151eba734aa1b307460e8e4267ba",
      "tree": "06ac06ae1af29aa880ed96de3be71ac1f01dded3",
      "parents": [
        "d9736749f581abd80c2831244e2659e2e833b0e3"
      ],
      "author": {
        "name": "Krzysztof Hałasa",
        "email": "khc@pm.waw.pl",
        "time": "Mon Jan 12 16:32:13 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 12 21:18:32 2009 -0800"
      },
      "message": "net: Fix a comment in include/linux/netdevice.h.\n\nFix a comment in include/linux/netdevice.h.\n\nSigned-off-by: Krzysztof Hałasa \u003ckhc@pm.waw.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9e8a3a5b8298a3c814ed37ac5756e6f67b6be41",
      "tree": "ffa1cf8b367b3f32155f6336d7b86b781a368019",
      "parents": [
        "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f",
        "b9bdcbba010c2e49c8f837ea7a49fe006b636f41"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 11:52:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 11:52:14 2009 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (22 commits)\n  ioat: fix self test for multi-channel case\n  dmaengine: bump initcall level to arch_initcall\n  dmaengine: advertise all channels on a device to dma_filter_fn\n  dmaengine: use idr for registering dma device numbers\n  dmaengine: add a release for dma class devices and dependent infrastructure\n  ioat: do not perform removal actions at shutdown\n  iop-adma: enable module removal\n  iop-adma: kill debug BUG_ON\n  iop-adma: let devm do its job, don\u0027t duplicate free\n  dmaengine: kill enum dma_state_client\n  dmaengine: remove \u0027bigref\u0027 infrastructure\n  dmaengine: kill struct dma_client and supporting infrastructure\n  dmaengine: replace dma_async_client_register with dmaengine_get\n  atmel-mci: convert to dma_request_channel and down-level dma_slave\n  dmatest: convert to dma_request_channel\n  dmaengine: introduce dma_request_channel and private channels\n  net_dma: convert to dma_find_channel\n  dmaengine: provide a common \u0027issue_pending_all\u0027 implementation\n  dmaengine: centralize channel allocation, introduce dma_find_channel\n  dmaengine: up-level reference counting to the module level\n  ...\n"
    },
    {
      "commit": "96e93eab20337d063c70d537bd7bc70d90e04fa3",
      "tree": "6b50a8d19e6c4d99f035dbede3b7836eed5a7d44",
      "parents": [
        "ff5bfc3584efdadf826a21bc76ef42bdfcf3f612"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jan 06 10:49:34 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:49:34 2009 -0800"
      },
      "message": "gro: Add internal interfaces for VLAN\n\nPreviously GRO\u0027s only entry point from the outside is through\nnapi_gro_receive and napi_gro_frags.  These interfaces are for\ndevice drivers.\n\nThis patch rearranges things to provide a new set of interfaces\nfor VLANs.  These interfaces are for internal use only.  The\nVLAN code itself can then provide a set of entry points for\ndevice drivers.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f67b45999205164958de4ec0658d51fa4bee066d",
      "tree": "2fc3c2e833fdfea2f029dca05d5401ba9ae63229",
      "parents": [
        "2ba05622b8b143b0c95968ba59bddfbd6d2f2559"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 06 11:38:15 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 06 11:38:15 2009 -0700"
      },
      "message": "net_dma: convert to dma_find_channel\n\nUse the general-purpose channel allocation provided by dmaengine.\n\nReviewed-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\n\n"
    },
    {
      "commit": "5d38a079ce3971f932bbdc0dc5b887806fabd5dc",
      "tree": "79d948098add1f6c52ecd42c151ce6b6fa1dbc5a",
      "parents": [
        "b530256d2e0f1a75fab31f9821129fff1bb49faa"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Jan 04 16:13:40 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 04 16:13:40 2009 -0800"
      },
      "message": "gro: Add page frag support\n\nThis patch allows GRO to merge page frags (skb_shinfo(skb)-\u003efrags)\nin one skb, rather than using the less efficient frag_list.\n\nIt also adds a new interface, napi_gro_frags to allow drivers\nto inject page frags directly into the stack without allocating\nan skb.  This is intended to be the GRO equivalent for LRO\u0027s\nlro_receive_frags interface.\n\nThe existing GSO interface can already handle page frags with\nor without an appended frag_list so nothing needs to be changed\nthere.\n\nThe merging itself is rather simple.  We store any new frag entries\nafter the last existing entry, without checking whether the first\nnew entry can be merged with the last existing entry.  Making this\ncheck would actually be easy but since no existing driver can\nproduce contiguous frags anyway it would just be mental masturbation.\n\nIf the total number of entries would exceed the capacity of a\nsingle skb, we simply resort to using frag_list as we do now.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "908a7a16b852ffd618a9127be8d62432182d81b4",
      "tree": "a0b509227e26bef7edd347575761e0dbeb5756e7",
      "parents": [
        "889bd9b6dbcd426b8698c4a779dd7dbf247f57b8"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Dec 22 20:43:12 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 22 20:43:12 2008 -0800"
      },
      "message": "net: Remove unused netdev arg from some NAPI interfaces.\n\nWhen the napi api was changed to separate its 1:1 binding to the net_device\nstruct, the netif_rx_[prep|schedule|complete] api failed to remove the now\nvestigual net_device structure parameter.  This patch cleans up that api by\nproperly removing it..\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d565b0a1a9b6ee7dff46e1f68b26b526ac11ae50",
      "tree": "3526815ab2b60c37f474c25ad1d8fb207644efcc",
      "parents": [
        "1a881f27c50b4fbd6858a8696a189263621136b0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 15 23:38:52 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 23:38:52 2008 -0800"
      },
      "message": "net: Add Generic Receive Offload infrastructure\n\nThis patch adds the top-level GRO (Generic Receive Offload) infrastructure.\nThis is pretty similar to LRO except that this is protocol-independent.\nInstead of holding packets in an lro_mgr structure, they\u0027re now held in\nnapi_struct.\n\nFor drivers that intend to use this, they can set the NETIF_F_GRO bit and\ncall napi_gro_receive instead of netif_receive_skb or just call netif_rx.\nThe latter will call napi_receive_skb automatically.  When napi_gro_receive\nis used, the driver must either call napi_complete/napi_rx_complete, or\ncall napi_gro_flush in softirq context if the driver uses the primitives\n__napi_complete/__napi_rx_complete.\n\nProtocols will set the gro_receive and gro_complete function pointers in\norder to participate in this scheme.\n\nIn addition to the packet, gro_receive will get a list of currently held\npackets.  Each packet in the list has a same_flow field which is non-zero\nif it is a potential match for the new packet.  For each packet that may\nmatch, they also have a flush field which is non-zero if the held packet\nmust not be merged with the new packet.\n\nOnce gro_receive has determined that the new skb matches a held packet,\nthe held packet may be processed immediately if the new skb cannot be\nmerged with it.  In this case gro_receive should return the pointer to\nthe existing skb in gro_list.  Otherwise the new skb should be merged into\nthe existing packet and NULL should be returned, unless the new skb makes\nit impossible for any further merges to be made (e.g., FIN packet) where\nthe merged skb should be returned.\n\nWhenever the skb is merged into an existing entry, the gro_receive\nfunction should set NAPI_GRO_CB(skb)-\u003esame_flow.  Note that if an skb\nmerely matches an existing entry but can\u0027t be merged with it, then\nthis shouldn\u0027t be set.\n\nIf gro_receive finds it pointless to hold the new skb for future merging,\nit should set NAPI_GRO_CB(skb)-\u003eflush.\n\nHeld packets will be flushed by napi_gro_flush which is called by\nnapi_complete and napi_rx_complete.\n\nCurrently held packets are stored in a singly liked list just like LRO.\nThe list is limited to a maximum of 8 entries.  In future, this may be\nexpanded to use a hash table to allow more flows to be held for merging.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a881f27c50b4fbd6858a8696a189263621136b0",
      "tree": "ca0327e3543a0535cfd855beedb1b171f6aebf06",
      "parents": [
        "89319d3801d1d3ac29c7df1f067038986f267d29"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 15 23:27:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 23:27:47 2008 -0800"
      },
      "message": "net: Add frag_list support to GSO\n\nThis patch allows GSO to handle frag_list in a limited way for the\npurposes of allowing packets merged by GRO to be refragmented on\noutput.\n\nMost hardware won\u0027t (and aren\u0027t expected to) support handling GRO\nfrag_list packets directly.  Therefore we will perform GSO in\nsoftware for those cases.\n\nHowever, for drivers that can support it (such as virtual NICs) we\nmay not have to segment the packets at all.\n\nWhether the added overhead of GRO/GSO is worthwhile for bridges\nand routers when weighed against the benefit of potentially\nincreasing the MTU within the host is still an open question.\nHowever, for the case of host nodes this is undoubtedly a win.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb14f019597cd86c21a6c601d7e900f40030c2e7",
      "tree": "36fb2f36a1747f98988f87215db1eef3a71d45eb",
      "parents": [
        "9a4a84294b0d60b8c287131478f743ba2bc68949",
        "a3dd15444baa9c7522c8457ab564c41219dfb44c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 20:03:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 20:03:50 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/e1000e/ich8lan.c\n"
    },
    {
      "commit": "7b363e440021a1cf9ed76944b2685f48dacefb3e",
      "tree": "973e674ab7bfd29807075316489f357327fcf2e8",
      "parents": [
        "24fc7b86dc0470616803be2f921c8cd5c459175d"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Dec 09 23:22:26 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 09 23:22:26 2008 -0800"
      },
      "message": "netpoll: fix race on poll_list resulting in garbage entry\n\n\tA few months back a race was discused between the netpoll napi service\npath, and the fast path through net_rx_action:\nhttp://kerneltrap.org/mailarchive/linux-netdev/2007/10/16/345470\n\nA patch was submitted for that bug, but I think we missed a case.\n\nConsider the following scenario:\n\nINITIAL STATE\nCPU0 has one napi_struct A on its poll_list\nCPU1 is calling netpoll_send_skb and needs to call poll_napi on the same\nnapi_struct A that CPU0 has on its list\n\n\n\nCPU0\t\t\t\t\t\tCPU1\nnet_rx_action\t\t\t\t\tpoll_napi\n!list_empty (returns true)\t\t\tlocks poll_lock for A\n\t\t\t\t\t\t poll_one_napi\n\t\t\t\t\t\t  napi-\u003epoll\n\t\t\t\t\t\t   netif_rx_complete\n\t\t\t\t\t\t    __napi_complete\n\t\t\t\t\t\t    (removes A from poll_list)\nlist_entry(list-\u003enext)\n\n\nIn the above scenario, net_rx_action assumes that the per-cpu poll_list is\nexclusive to that cpu.  netpoll of course violates that, and because the netpoll\npath can dequeue from the poll list, its possible for CPU0 to detect a non-empty\nlist at the top of the while loop in net_rx_action, but have it become empty by\nthe time it calls list_entry.  Since the poll_list isn\u0027t surrounded by any other\nstructure, the returned data from that list_entry call in this situation is\ngarbage, and any number of crashes can result based on what exactly that garbage\nis.\n\nGiven that its not fasible for performance reasons to place exclusive locks\narround each cpus poll list to provide that mutal exclusion, I think the best\nsolution is modify the netpoll path in such a way that we continue to guarantee\nthat the poll_list for a cpu is in fact exclusive to that cpu.  To do this I\u0027ve\nimplemented the patch below.  It adds an additional bit to the state field in\nthe napi_struct.  When executing napi-\u003epoll from the netpoll_path, this bit will\nbe set. When a driver calls netif_rx_complete, if that bit is set, it will not\nremove the napi_struct from the poll_list.  That work will be saved for the next\niteration of net_rx_action.\n\nI\u0027ve tested this and it seems to work well.  About the biggest drawback I can\nsee to it is the fact that it might result in an extra loop through\nnet_rx_action in the event that the device is actually contended for (i.e. the\nnetpoll path actually preforms all the needed work no the device, and the call\nto net_rx_action winds up doing nothing, except removing the napi_struct from\nthe poll_list.  However I think this is probably a small price to pay, given\nthat the alternative is a crash.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b74ca3a896b9ab5f952bc440154758e708c48884",
      "tree": "cc67fc67ddd6ac20e25b1060ab633a4d5c4e6ee8",
      "parents": [
        "5a001a070e032bea1be563b13ebf9819cd5e54d4"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Dec 08 01:14:16 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 08 01:14:16 2008 -0800"
      },
      "message": "netdevice: Kill netdev-\u003epriv\n\nThis is the last shoot of this series.\nAfter I removing all directly reference of netdev-\u003epriv, I am killing\n\"priv\" of \"struct net_device\" and fixing relative comments/docs.\n\nAnyone will not be allowed to reference netdev-\u003epriv directly.\nIf you want to reference the memory of private data, use netdev_priv()\ninstead.\nIf the private data is not allocted when alloc_netdev(), use\nnetdev-\u003eml_priv to point that memory after you creating that private\ndata.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a6b6f515f77d1c62a2f383b6dce18cb0af0cf4f",
      "tree": "eed74f9344c3f65beb5386b93eca05526be8a914",
      "parents": [
        "411c41eea58bd3500cf897e2c27dd5330935a3a8"
      ],
      "author": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Tue Nov 25 01:02:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 01:02:08 2008 -0800"
      },
      "message": "DCB: fix kconfig option\n\nSince the netlink option for DCB is necessary to actually be useful,\nsimplified the Kconfig option.  In addition, added useful help text for the\nKconfig option.\n\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47fd5b8373ecc6bf5473e4139b62b06425448252",
      "tree": "6ff48ec3ba5ccf149109bc990ff1ec90cde8e14f",
      "parents": [
        "0ace285605314c54339710484b54814945a60df8"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Nov 25 00:20:43 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 00:20:43 2008 -0800"
      },
      "message": "netdev: add HAVE_NET_DEVICE_OPS\n\nAs a concession to vendors who have to deal with one source for different\nkernel versions, add a HAVE_NET_DEVICE_OPS so they don\u0027t end up hard\ncoding ifdef against kernel version.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f90b8657ec942d1880f720e0177ee71df7c8e3c",
      "tree": "844114b22c548fedbab67e53b09b2efcf170563a",
      "parents": [
        "9db66bdcc83749affe61c61eb8ff3cf08f42afec"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Nov 20 20:52:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:52:10 2008 -0800"
      },
      "message": "ixgbe: this patch adds support for DCB to the kernel and ixgbe driver\n\nThis adds support for Data Center Bridging (DCB) features in the ixgbe\ndriver and adds an rtnetlink interface for configuring DCB to the\nkernel.  The DCB feature support included are Priority Grouping (PG) -\nwhich allows bandwidth guarantees to be allocated to groups to traffic\nbased on the 802.1q priority, and Priority Based Flow Control (PFC) -\nwhich introduces a new MAC control PAUSE frame which works at\ngranularity of the 802.1p priority instead of the link (IEEE 802.3x).\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008298231abbeb91bc7be9e8b078607b816d1a4a",
      "tree": "8cb0c17720086ef97c614b96241f06aa63ce8511",
      "parents": [
        "6ab33d51713d6d60c7677c0d020910a8cb37e513"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "message": "netdev: add more functions to netdevice ops\n\nThis patch moves neigh_setup and hard_start_xmit into the network device ops\nstructure. For bisection, fix all the previously converted drivers as well.\nBonding driver took the biggest hit on this.\n\nAdded a prefetch of the hard_start_xmit in the fast path to try and reduce\nany impact this would have.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eeda3fd64f75bcbfaa70ce946513abaf3f23b8e0",
      "tree": "082d1921a5783ef5b07b4cf666804d6509f25f1a",
      "parents": [
        "d314774cf2cd5dfeb39a00d37deee65d4c627927"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:40:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 21:40:23 2008 -0800"
      },
      "message": "netdev: introduce dev_get_stats()\n\nIn order for the network device ops get_stats call to be immutable, the handling\nof the default internal network device stats block has to be changed. Add a new\nhelper function which replaces the old use of internal_get_stats.\n\nNote: change return code to make it clear that the caller should not\ngo changing the returned statistics.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d314774cf2cd5dfeb39a00d37deee65d4c627927",
      "tree": "1c7778b509cea814aa2b7115949667941037d07c",
      "parents": [
        "6b41e7dd90c6a628ab5fb8d781302d60a243b2ce"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:32:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 21:32:24 2008 -0800"
      },
      "message": "netdev: network device operations infrastructure\n\nThis patch changes the network device internal API to move adminstrative\noperations out of the network device structure and into a separate structure.\n\nThis patch involves some hackery to maintain compatablity between the\nnew and old model, so all 300+ drivers don\u0027t have to be changed at once.\nFor drivers that aren\u0027t converted yet, the netdevice_ops virt function list\nstill resides in the net_device structure. For old protocols, the new\nnet_device_ops are copied out to the old net_device pointers.\n\nAfter the transistion is completed the nag message can be changed to\nan WARN_ON, and the compatiablity code can be made configurable.\n\nSome function pointers aren\u0027t moved:\n* destructor can\u0027t be in net_device_ops because\n  it may need to be referenced after the module is unloaded.\n* neighbor setup is manipulated in a couple of places that need special\n  consideration\n* hard_start_xmit is in the fast path for transmit.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "505d4f73dda9e20d59da05008f1f5eb432613e71",
      "tree": "a30032d6474ce1d8dea1853c1907f4c3bdd8a19c",
      "parents": [
        "5d6d480908300a0c0b3be8b58567dfcef62c83a5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@maxwell.aristanetworks.com",
        "time": "Fri Nov 07 22:54:20 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 07 22:54:20 2008 -0800"
      },
      "message": "net: Guaranetee the proper ordering of the loopback device. v2\n\nI was recently hunting a bug that occurred in network namespace\ncleanup.  In looking at the code it became apparrent that we have\nand will continue to have cases where if we have anything going\non in a network namespace there will be assumptions that the\nloopback device is present.   Things like sending igmp unsubscribe\nmessages when we bring down network devices invokes the routing\ncode which assumes that at least the loopback driver is present.\n\nTherefore to avoid magic initcall ordering hackery that is hard\nto follow and hard to get right insert a call to register the\nloopback device directly from net_dev_init().    This guarantes\nthat the loopback device is the first device registered and\nthe last network device to go away.\n\nBut do it carefully so we register the loopback device after\nwe clear dev_boot_phase.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@maxwell.aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d8160b1493bcadca74fbb635d79b3928b8999cf",
      "tree": "901a01cd2170f4eddaba38e05b17683acb9cc0de",
      "parents": [
        "167c6274c30d17c41742096d1a12c32bd3b7e366"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 07 22:52:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 07 22:52:14 2008 -0800"
      },
      "message": "Revert \"net: Guaranetee the proper ordering of the loopback device.\"\n\nThis reverts commit ae33bc40c0d96d02f51a996482ea7e41c5152695.\n"
    },
    {
      "commit": "ae33bc40c0d96d02f51a996482ea7e41c5152695",
      "tree": "ab250ee1d4eac70ac77a4f40ed303373c41d9213",
      "parents": [
        "d0c082cea6dfb9b674b4f6e1e84025662dbd24e8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 05 16:00:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 05 16:00:02 2008 -0800"
      },
      "message": "net: Guaranetee the proper ordering of the loopback device.\n\nI was recently hunting a bug that occurred in network namespace\ncleanup.  In looking at the code it became apparrent that we have\nand will continue to have cases where if we have anything going\non in a network namespace there will be assumptions that the\nloopback device is present.   Things like sending igmp unsubscribe\nmessages when we bring down network devices invokes the routing\ncode which assumes that at least the loopback driver is present.\n\nTherefore to avoid magic initcall ordering hackery that is hard\nto follow and hard to get right insert a call to register the\nloopback device directly from net_dev_init().    This guarantes\nthat the loopback device is the first device registered and\nthe last network device to go away.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6cf3f41e6c08bca6641a695449791c38a25f35ff",
      "tree": "a4e173960afe6712c112b3ddea1f229a695b7089",
      "parents": [
        "24f8b2385e03a4f4c8dac513d03b5eaa475822b9"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Mon Nov 03 18:16:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 18:16:50 2008 -0800"
      },
      "message": "bonding, net: Move last_rx update into bonding recv logic\n\n\tThe only user of the net_device-\u003elast_rx field is bonding.\nThis patch adds a conditional update of last_rx to the bonding special\nlogic in skb_bond_should_drop, causing last_rx to only be updated when\nthe ARP monitor is running.\n\n\tThis frees network device drivers from the necessity of\nupdating last_rx, which can have cache line thrash issues.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad1d967c88e349c7e822ad75dd3247a2a50d2ea3",
      "tree": "4564a715df604f9e8816f60f7bc6ab0d211c848c",
      "parents": [
        "194dcdba5a11a0238aef7ed91f32df77cb31505b"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Oct 30 23:54:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 30 23:54:35 2008 -0700"
      },
      "message": "net: delete excess kernel-doc notation\n\nRemove excess kernel-doc function parameters from networking header\n\u0026 driver files:\n\nWarning(include/net/sock.h:946): Excess function parameter or struct member \u0027sk\u0027 description in \u0027sk_filter_release\u0027\nWarning(include/linux/netdevice.h:1545): Excess function parameter or struct member \u0027cpu\u0027 description in \u0027netif_tx_lock\u0027\nWarning(drivers/net/wan/z85230.c:712): Excess function parameter or struct member \u0027regs\u0027 description in \u0027z8530_interrupt\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b63365a2d60268a3988285d6c3c6003d7066f93a",
      "tree": "85bd8f91f3de954c697aa44544b4adf191e7f5aa",
      "parents": [
        "2e3f92dad6bdbee796274bae5c1c50a6ddd31cbb"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Oct 23 01:11:29 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 23 01:11:29 2008 -0700"
      },
      "message": "net: Fix disjunct computation of netdev features\n\nMy change\n\n    commit e2a6b85247aacc52d6ba0d9b37a99b8d1a3e0d83\n    net: Enable TSO if supported by at least one device\n\ndidn\u0027t do what was intended because the netdev_compute_features\nfunction was designed for conjunctions.  So what happened was that\nit would simply take the TSO status of the last constituent device.\n\nThis patch extends it to support both conjunctions and disjunctions\nunder the new name of netdev_increment_features.\n\nIt also adds a new function netdev_fix_features which does the\nsanity checking that usually occurs upon registration.  This ensures\nthat the computation doesn\u0027t result in an illegal combination\nsince this checking is absent when the change is initiated via\nethtool.\n\nThe two users of netdev_compute_features have been converted.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "113aa838ec3a235d883f8357d31d90e16c47fc89",
      "tree": "4e25254fb0402aea01074244879f574e213a9f31",
      "parents": [
        "510149e31974fdbb2c00c9bee6c0e2a688e61c85"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "message": "net: Rationalise email address: Network Specific Parts\n\nClean up the various different email addresses of mine listed in the code\nto a single current and valid address. As Dave says his network merges\nfor 2.6.28 are now done this seems a good point to send them in where\nthey won\u0027t risk disrupting real changes.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "396138f03f4521c55ecc3a5dd75d4c56e6323244",
      "tree": "61dc43e540c861a4b05753da56a9fe2a19bea206",
      "parents": [
        "2e5f032095ff101274dfb03d5fd5e06d9aeb83cd"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@wantstofly.org",
        "time": "Tue Oct 07 13:46:07 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 17:24:16 2008 -0700"
      },
      "message": "dsa: add support for Trailer tagging format\n\nThis adds support for the Trailer switch tagging format.  This is\nanother tagging that doesn\u0027t explicitly mark tagged packets with a\ndistinct ethertype, so that we need to add a similar hack in the\nreceive path as for the Original DSA tagging format.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nTested-by: Byron Bradley \u003cbyron.bbradley@gmail.com\u003e\nTested-by: Tim Ellis \u003ctim.ellis@mac.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf85d08fdf4548ee46657ccfb7f9949a85145db5",
      "tree": "583e251b0d772c23ca931a207e9ac0995d679f44",
      "parents": [
        "91da11f870f00a3322b81c73042291d7f0be5a17"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@wantstofly.org",
        "time": "Tue Oct 07 13:45:02 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 17:19:56 2008 -0700"
      },
      "message": "dsa: add support for original DSA tagging format\n\nMost of the DSA switches currently in the field do not support the\nEthertype DSA tagging format that one of the previous patches added\nsupport for, but only the original DSA tagging format.\n\nThe original DSA tagging format carries the same information as the\nEthertype DSA tagging format, but with the difference that it does not\nhave an ethertype field.  In other words, when receiving a packet that\nis tagged with an original DSA tag, there is no way of telling in\neth_type_trans() that this packet is in fact a DSA-tagged packet.\n\nThis patch adds a hook into eth_type_trans() which is only compiled in\nif support for a switch chip that doesn\u0027t support Ethertype DSA is\nselected, and which checks whether there is a DSA switch driver\ninstance attached to this network device which uses the old tag format.\nIf so, it sets the protocol field to ETH_P_DSA without looking at the\npacket, so that the packet ends up in the right place.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nTested-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nTested-by: Peter van Valderen \u003clinux@ddcrew.com\u003e\nTested-by: Dirk Teurlings \u003cdirk@upexia.nl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "91da11f870f00a3322b81c73042291d7f0be5a17"
}
