)]}'
{
  "log": [
    {
      "commit": "e0d1095ae3405404d247afb00233ef837d58da83",
      "tree": "1f83aed50dbe9298ca0cdc5a0d51a3750f0fd720",
      "parents": [
        "dfcefb0be1231982784df2152213103ad33c1cfd"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Thu Aug 01 11:10:25 2013 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 01 15:11:17 2013 -0700"
      },
      "message": "net: rename CONFIG_NET_LL_RX_POLL to CONFIG_NET_RX_BUSY_POLL\n\nEliezer renames several *ll_poll to *busy_poll, but forgets\nCONFIG_NET_LL_RX_POLL, so in case of confusion, rename it too.\n\nCc: Eliezer Tamir \u003celiezer.tamir@linux.intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b80cda536ea9bceec0364e897868a30ee13b992",
      "tree": "75edd97f04e379e6afedd67beef81eb80ba0adaf",
      "parents": [
        "076bb0c82a44fbe46fe2c8527a5b5b64b69f679d"
      ],
      "author": {
        "name": "Eliezer Tamir",
        "email": "eliezer.tamir@linux.intel.com",
        "time": "Wed Jul 10 17:13:26 2013 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 10 17:08:27 2013 -0700"
      },
      "message": "net: rename ll methods to busy-poll\n\nRename ndo_ll_poll to ndo_busy_poll.\nRename sk_mark_ll to sk_mark_napi_id.\nRename skb_mark_ll to skb_mark_napi_id.\nCorrect all useres of these functions.\nUpdate comments and defines  in include/net/busy_poll.h\n\nSigned-off-by: Eliezer Tamir \u003celiezer.tamir@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c1072ae0242fbdffd9a0bba36e7a7033d287f9c",
      "tree": "e0f4dbdbf5078d4a707911177e7bdc17a70bdce5",
      "parents": [
        "c50cd357887acf9fd7af3a5d492911bd825555a2",
        "8bb495e3f02401ee6f76d1b1d77f3ac9f079e376"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 03 14:50:41 2013 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 03 14:55:13 2013 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/freescale/fec_main.c\n\tdrivers/net/ethernet/renesas/sh_eth.c\n\tnet/ipv4/gre.c\n\nThe GRE conflict is between a bug fix (kfree_skb --\u003e kfree_skb_list)\nand the splitting of the gre.c code into seperate files.\n\nThe FEC conflict was two sets of changes adding ethtool support code\nin an \"!CONFIG_M5272\" CPP protected block.\n\nFinally the sh_eth.c conflict was between one commit add bits set\nin the .eesr_err_check mask whilst another commit removed the\n.tx_error_check member and assignments.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5dbe7c178d3f0a4634f088d9e729f1909b9ddcd1",
      "tree": "8945b6c5125b57cee5f36e903fc995e58664a639",
      "parents": [
        "6d446ec32f169c6a5d9bc90684a8082a6cbe90f6"
      ],
      "author": {
        "name": "Nicolas Schichan",
        "email": "nschichan@freebox.fr",
        "time": "Wed Jun 26 17:23:42 2013 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 26 13:42:54 2013 -0700"
      },
      "message": "net: fix kernel deadlock with interface rename and netdev name retrieval.\n\nWhen the kernel (compiled with CONFIG_PREEMPT\u003dn) is performing the\nrename of a network interface, it can end up waiting for a workqueue\nto complete. If userland is able to invoke a SIOCGIFNAME ioctl or a\nSO_BINDTODEVICE getsockopt in between, the kernel will deadlock due to\nthe fact that read_secklock_begin() will spin forever waiting for the\nwriter process (the one doing the interface rename) to update the\ndevnet_rename_seq sequence.\n\nThis patch fixes the problem by adding a helper (netdev_get_name())\nand using it in the code handling the SIOCGIFNAME ioctl and\nSO_BINDTODEVICE setsockopt.\n\nThe netdev_get_name() helper uses raw_seqcount_begin() to avoid\nspinning forever, waiting for devnet_rename_seq-\u003esequence to become\neven. cond_resched() is used in the contended case, before retrying\nthe access to give the writer process a chance to finish.\n\nThe use of raw_seqcount_begin() will incur some unneeded work in the\nreader process in the contended case, but this is better than\ndeadlocking the system.\n\nSigned-off-by: Nicolas Schichan \u003cnschichan@freebox.fr\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d8faf48c74b8329a0322dc4b2a2030ae5003c86",
      "tree": "63471c7ee9379f70e30b27b82cf6f155683b4468",
      "parents": [
        "3dc6475c0c9e55ac7f053ad6b8b398e779954545"
      ],
      "author": {
        "name": "Rony Efraim",
        "email": "ronye@mellanox.com",
        "time": "Thu Jun 13 13:19:10 2013 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 13 17:51:04 2013 -0700"
      },
      "message": "net/core: Add VF link state control\n\nAdd netlink directives and ndo entry to allow for controling\nVF link, which can be in one of three states:\n\nAuto - VF link state reflects the PF link state (default)\n\nUp - VF link state is up, traffic from VF to VF works even if\nthe actual PF link is down\n\nDown - VF link state is down, no traffic from/to this VF, can be of\nuse while configuring the VF\n\nSigned-off-by: Rony Efraim \u003cronye@mellanox.com\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f121b9a83b499a61ed44e5ba619c7de8f7271ad",
      "tree": "6765d95f468e5c8c884af26f5fbfd2c6428d255d",
      "parents": [
        "85f16525a2eb66e6092cbd8dcf42371df8334ed0"
      ],
      "author": {
        "name": "Willem de Bruijn",
        "email": "willemb@google.com",
        "time": "Thu Jun 13 15:29:38 2013 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 13 17:13:05 2013 -0700"
      },
      "message": "net-rps: fixes for rps flow limit\n\nCaught by sparse:\n- __rcu: missing annotation to sd-\u003eflow_limit\n- __user: direct access in cpumask_scnprintf\n\nAlso\n- add endline character when printing bitmap if room in buffer\n- avoid bucket overflow by reducing FLOW_LIMIT_HISTORY\n\nThe last item warrants some explanation. The hashtable buckets are\nsubject to overflow if FLOW_LIMIT_HISTORY is larger than or equal\nto bucket size, since all packets may end up in a single bucket. The\ncurrent (rather arbitrary) history value of 256 happens to match the\nbuffer size (u8).\n\nAs a result, with a single flow, the first 128 packets are accepted\n(correct), the second 128 packets dropped (correct) and then the\nhistory[] array has filled, so that each subsequent new packet\ncauses an increment in the bucket for new_flow plus a decrement\nfor old_flow: a steady state.\n\nThis is fine if packets are dropped, as the steady state goes away\nas soon as a mix of traffic reappears. But, because the 256th packet\noverflowed the bucket to 0: no packets are dropped.\n\nInstead of explicitly adding an overflow check, this patch changes\nFLOW_LIMIT_HISTORY to never be able to overflow a single bucket.\n\nReported-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\n(first item)\n\nSigned-off-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dffebd2c5cd528a136b276a2a75c56222312d7a4",
      "tree": "05364403f2245264ac2eafa4b26ad1b81f4a1e43",
      "parents": [
        "32766fff24a761079636bb96c389411d24a334c6"
      ],
      "author": {
        "name": "Narendra K",
        "email": "narendra_k@dell.com",
        "time": "Mon Jun 10 19:34:03 2013 +0530"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 12 03:03:47 2013 -0700"
      },
      "message": "doc:networking: Update comment for dev_id field in netdevice.h\n\nThis patch updates the comment for \u0027dev_id\u0027 field in\n\u0027include/linux/netdevice.h\u0027 to reflect the intended\nusage of \u0027dev_id\u0027.\n\nReferences: http://marc.info/?l\u003dlinux-netdev\u0026m\u003d136992115300526\u0026w\u003d2\nReferences: http://marc.info/?l\u003dlinux-netdev\u0026m\u003d137062569014612\u0026w\u003d2\n\nSigned-off-by: Narendra K \u003cnarendra_k@dell.com\u003e\nReviewed-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "060212928670593fb89243640bf05cf89560b023",
      "tree": "32ae5c7be094983fb06430dbe09d36e2b317ca9c",
      "parents": [
        "af12fa6e46aa651e7b86a4c4117b562518fef184"
      ],
      "author": {
        "name": "Eliezer Tamir",
        "email": "eliezer.tamir@linux.intel.com",
        "time": "Mon Jun 10 11:39:50 2013 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 10 21:22:35 2013 -0700"
      },
      "message": "net: add low latency socket poll\n\nAdds an ndo_ll_poll method and the code that supports it.\nThis method can be used by low latency applications to busy-poll\nEthernet device queues directly from the socket code.\nsysctl_net_ll_poll controls how many microseconds to poll.\nDefault is zero (disabled).\nIndividual protocol support will be added by subsequent patches.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jesse Brandeburg \u003cjesse.brandeburg@intel.com\u003e\nSigned-off-by: Eliezer Tamir \u003celiezer.tamir@linux.intel.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nTested-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af12fa6e46aa651e7b86a4c4117b562518fef184",
      "tree": "1425ef11083e66af192c33abb3b1fa3b04b26f4b",
      "parents": [
        "6f00a0229627ca189529cad3f9154ac2f9e5c7db"
      ],
      "author": {
        "name": "Eliezer Tamir",
        "email": "eliezer.tamir@linux.intel.com",
        "time": "Mon Jun 10 11:39:41 2013 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 10 21:22:35 2013 -0700"
      },
      "message": "net: add napi_id and hash\n\nAdds a napi_id and a hashing mechanism to lookup a napi by id.\nThis will be used by subsequent patches to implement low latency\nEthernet device polling.\nBased on a code sample by Eric Dumazet.\n\nSigned-off-by: Eliezer Tamir \u003celiezer.tamir@linux.intel.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nTested-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75538c2b85cf22eb9af6adfaf26ed7219025adeb",
      "tree": "f6791d0d285ff7e716fe8f225c4648e62a34421e",
      "parents": [
        "06ecf24bdf2b7afc6c8fd13de6dba2a96dd331b6"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Wed May 29 11:30:50 2013 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 28 21:58:54 2013 -0700"
      },
      "message": "net: always pass struct netdev_notifier_info to netdevice notifiers\n\ncommit 351638e7deeed2ec8ce451b53d3 (net: pass info struct via netdevice notifier)\nbreaks booting of my KVM guest, this is due to we still forget to pass\nstruct netdev_notifier_info in several places. This patch completes it.\n\nCc: Jiri Pirko \u003cjiri@resnulli.us\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be9efd3653284f2827fd82861e8e9db9a8f726e1",
      "tree": "601a02b498c24c40a2712feef0c0cfca544fc2c1",
      "parents": [
        "351638e7deeed2ec8ce451b53d33921b3da68f83"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Tue May 28 01:30:22 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 28 13:11:01 2013 -0700"
      },
      "message": "net: pass changed flags along with NETDEV_CHANGE event\n\nUse new netdevice notifier infrastructure to pass along changed flags.\n\nSigned-off-by: Timo Teräs \u003ctimo.teras@iki.fi\u003e\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\n\nv2-\u003ev3: shortened notifier_info struct name\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "351638e7deeed2ec8ce451b53d33921b3da68f83",
      "tree": "175dfff289b5e3baecffbc7e97d1884e9a18345c",
      "parents": [
        "b1098bbe1b24d5d90cff92fbd716d2ef4bed2cff"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Tue May 28 01:30:21 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 28 13:11:01 2013 -0700"
      },
      "message": "net: pass info struct via netdevice notifier\n\nSo far, only net_device * could be passed along with netdevice notifier\nevent. This patch provides a possibility to pass custom structure\nable to provide info that event listener needs to know.\n\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\n\nv2-\u003ev3: fix typo on simeth\n\tshortened dev_getter\n\tshortened notifier_info struct name\nv1-\u003ev2: fix notifier_call parameter in call_netdevice_notifier()\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d89d2035fe063461a5ddb609b2c12e7fb006e44",
      "tree": "cc7fd6947941ba8e7cb63d5e190e14f48503ca37",
      "parents": [
        "1a37e412a0225fcba5587f24c0dfc7636efc8b69"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Thu May 23 21:02:52 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 27 22:50:59 2013 -0700"
      },
      "message": "MPLS: Add limited GSO support\n\nIn the case where a non-MPLS packet is received and an MPLS stack is\nadded it may well be the case that the original skb is GSO but the\nNIC used for transmit does not support GSO of MPLS packets.\n\nThe aim of this code is to provide GSO in software for MPLS packets\nwhose skbs are GSO.\n\nSKB Usage:\n\nWhen an implementation adds an MPLS stack to a non-MPLS packet it should do\nthe following to skb metadata:\n\n* Set skb-\u003einner_protocol to the old non-MPLS ethertype of the packet.\n  skb-\u003einner_protocol is added by this patch.\n\n* Set skb-\u003eprotocol to the new MPLS ethertype of the packet.\n\n* Set skb-\u003enetwork_header to correspond to the\n  end of the L3 header, including the MPLS label stack.\n\nI have posted a patch, \"[PATCH v3.29] datapath: Add basic MPLS support to\nkernel\" which adds MPLS support to the kernel datapath of Open vSwtich.\nThat patch sets the above requirements in datapath/actions.c:push_mpls()\nand was used to exercise this code.  The datapath patch is against the Open\nvSwtich tree but it is intended that it be added to the Open vSwtich code\npresent in the mainline Linux kernel at some point.\n\nFeatures:\n\nI believe that the approach that I have taken is at least partially\nconsistent with the handling of other protocols.  Jesse, I understand that\nyou have some ideas here.  I am more than happy to change my implementation.\n\nThis patch adds dev-\u003empls_features which may be used by devices\nto advertise features supported for MPLS packets.\n\nA new NETIF_F_MPLS_GSO feature is added for devices which support\nhardware MPLS GSO offload.  Currently no devices support this\nand MPLS GSO always falls back to software.\n\nAlternate Implementation:\n\nOne possible alternate implementation is to teach netif_skb_features()\nand skb_network_protocol() about MPLS, in a similar way to their\nunderstanding of VLANs. I believe this would avoid the need\nfor net/mpls/mpls_gso.c and in particular the calls to\n__skb_push() and __skb_push() in mpls_gso_segment().\n\nI have decided on the implementation in this patch as it should\nnot introduce any overhead in the case where mpls_gso is not compiled\ninto the kernel or inserted as a module.\n\nMPLS GSO suggested by Jesse Gross.\nBased in part on \"v4 GRE: Add TCP segmentation offload for GRE\"\nby Pravin B Shelar.\n\nCc: Jesse Gross \u003cjesse@nicira.com\u003e\nCc: Pravin B Shelar \u003cpshelar@nicira.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42e52bf9e3ae80fd44b21ddfcd64c54e6db2ff76",
      "tree": "4d395ed55ed5e36d0b54ea49329e797c06783f9f",
      "parents": [
        "8513fbd880093f00a47e85a552f14ca2de8d84d6"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Sat May 25 04:12:10 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 25 23:12:19 2013 -0700"
      },
      "message": "net: add netnotifier event for upper device change\n\nNow when upper device is changed, event is not propagated via RT Netlink\nto userspace. Userspace might never now about the change. Fix this by\nadding upper-device-change notifier event.\n\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6ff4c75f9095f61b3a66c2a78e47b62864022dd",
      "tree": "425ea9463cbec0b1975b8a33d9a56817143055d0",
      "parents": [
        "ee9c799c231324de681eb21e06d8bf4842768b75",
        "0e255f1c0c9add2f0c920240ac4cadc28ae274c3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 24 16:48:28 2013 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 24 16:48:28 2013 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nMerge net into net-next because some upcoming net-next changes\nbuild on top of bug fixes that went into net.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99bbc70741903c063b3ccad90a3e06fc55df9245",
      "tree": "a3377d2461242bf1134464ce3fe6d69f82c907c2",
      "parents": [
        "4a5bddf7ea6b6c5916eccbc2fa1950555073ff48"
      ],
      "author": {
        "name": "Willem de Bruijn",
        "email": "willemb@google.com",
        "time": "Mon May 20 04:02:32 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 20 13:48:04 2013 -0700"
      },
      "message": "rps: selective flow shedding during softnet overflow\n\nA cpu executing the network receive path sheds packets when its input\nqueue grows to netdev_max_backlog. A single high rate flow (such as a\nspoofed source DoS) can exceed a single cpu processing rate and will\ndegrade throughput of other flows hashed onto the same cpu.\n\nThis patch adds a more fine grained hashtable. If the netdev backlog\nis above a threshold, IRQ cpus track the ratio of total traffic of\neach flow (using 4096 buckets, configurable). The ratio is measured\nby counting the number of packets per flow over the last 256 packets\nfrom the source cpu. Any flow that occupies a large fraction of this\n(set at 50%) will see packet drop while above the threshold.\n\nTested:\nSetup is a muli-threaded UDP echo server with network rx IRQ on cpu0,\nkernel receive (RPS) on cpu0 and application threads on cpus 2--7\neach handling 20k req/s. Throughput halves when hit with a 400 kpps\nantagonist storm. With this patch applied, antagonist overload is\ndropped and the server processes its complete load.\n\nThe patch is effective when kernel receive processing is the\nbottleneck. The above RPS scenario is a extreme, but the same is\nreached with RFS and sufficient kernel processing (iptables, packet\nsocket tap, ..).\n\nSigned-off-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0ce3508b25ea6fa10ae3ca254de1d695b521702",
      "tree": "d5158ba0fe71d3807c563148c6cddb3757e7f348",
      "parents": [
        "3aefe2b4a8003517d6e15112f806fd4069785389"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu May 16 07:34:53 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 16 15:02:01 2013 -0700"
      },
      "message": "bonding: allow TSO being set on bonding master\n\nIn some situations, we need to disable TSO on bonding slaves.\n\nbonding device automatically unset TSO in bond_fix_features(), and\nperformance is not good because :\n\n1) We consume more cpu cycles.\n\n2) GSO segmentation has some bugs leading to out of order TCP packets\nif this segmentation is done before virtual device. This particular\nproblem will be addressed in a separate patch.\n\nThis patch allows TSO being set/unset on the bonding master,\nso that GSO segmentation is done after bonding layer.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Michał Mirosław \u003cmirqus@gmail.com\u003e\nCc: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nCc: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCc: Maciej Żenczykowski \u003cmaze@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Yuchung Cheng \u003cycheng@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "243198d09f535f5cd74114f1b779c3da25bc70c8",
      "tree": "c8bc152937a6a5de879b4d8f958a8f21a8131ae4",
      "parents": [
        "0020356355192cbaf6d315515e6c95bd09618c3b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun May 05 16:05:55 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 06 11:06:51 2013 -0400"
      },
      "message": "rps_dev_flow_table_release(): no need to delay vfree()\n\nThe same story as with fib_trie patch - vfree() from RCU callbacks\nis legitimate now.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80d5c3689b886308247da295a228a54df49a44f6",
      "tree": "ce7b1e6898c3f9fea945e67fd06b125dfcc61fe7",
      "parents": [
        "f646968f8f7c624587de729115d802372b9063dd"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Apr 19 02:04:28 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 19 14:45:27 2013 -0400"
      },
      "message": "net: vlan: prepare for 802.1ad VLAN filtering offload\n\nChange the rx_{add,kill}_vid callbacks to take a protocol argument in\npreparation of 802.1ad support. The protocol argument used so far is\nalways htons(ETH_P_8021Q).\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f646968f8f7c624587de729115d802372b9063dd",
      "tree": "2b8c6604306f5e74af9e16c17e2b611610982b65",
      "parents": [
        "c2962897c94605bc8f158a37dee8d867dda9f116"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Apr 19 02:04:27 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 19 14:45:26 2013 -0400"
      },
      "message": "net: vlan: rename NETIF_F_HW_VLAN_* feature flags to NETIF_F_HW_VLAN_CTAG_*\n\nRename the hardware VLAN acceleration features to include \"CTAG\" to indicate\nthat they only support CTAGs. Follow up patches will introduce 802.1ad\nserver provider tagging (STAGs) and require the distinction for hardware not\nsupporting acclerating both.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4cd729b04285b7330edaf5a7080aa795d6d15ff3",
      "tree": "274beba6b944edcd71879b779f2e674dede3cd91",
      "parents": [
        "0022d2dd4d76e0e7d5c241c343a5016fdfa2ad4f"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vyasevic@redhat.com",
        "time": "Mon Apr 15 09:54:25 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 15 16:10:47 2013 -0400"
      },
      "message": "net: add dev_uc_sync_multiple() and dev_mc_sync_multiple() api\n\nThe current implementation of dev_uc_sync/unsync() assumes that there is\na strict 1-to-1 relationship between the source and destination of the sync.\nIn other words, once an address has been synced to a destination device, it\nwill not be synced to any other device through the sync API.\nHowever, there are some virtual devices that aggreate a number of lower\ndevices and need to sync addresses to all of them.  The current\nAPI falls short there.\n\nThis patch introduces a new dev_uc_sync_multiple() api that can be called\nin the above circumstances and allows sync to work for every invocation.\n\nCC: Jiri Pirko \u003cjiri@resnulli.us\u003e\nSigned-off-by: Vlad Yasevich \u003cvyasevic@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d978a6361ad13f1f9694fcb7b5852d253a544d92",
      "tree": "8e8a8c62286fab2c044c4b53563222c1b66d7cb0",
      "parents": [
        "8303e699f7089a1cd1421750fb33f289e5f3e1b9",
        "cb28ea3b13b86fb23448525f34720e659bda7aa8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 07 18:37:01 2013 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 07 18:37:01 2013 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/nfc/microread/mei.c\n\tnet/netfilter/nfnetlink_queue_core.c\n\nPull in \u0027net\u0027 to get Eric Biederman\u0027s AF_UNIX fix, upon which\nsome cleanups are going to go on-top.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4543fbefe6e06a9e40d9f2b28d688393a299f079",
      "tree": "be52f567c2f791b4328f75bee9cecaf022ed6a35",
      "parents": [
        "e2409d83434d77874b461b78af6a19cd6e6a1280"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vyasevic@redhat.com",
        "time": "Tue Apr 02 17:10:07 2013 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 05 00:18:46 2013 -0400"
      },
      "message": "net: count hw_addr syncs so that unsync works properly.\n\nA few drivers use dev_uc_sync/unsync to synchronize the\naddress lists from master down to slave/lower devices.  In\nsome cases (bond/team) a single address list is synched down\nto multiple devices.  At the time of unsync, we have a leak\nin these lower devices, because \"synced\" is treated as a\nboolean and the address will not be unsynced for anything after\nthe first device/call.\n\nTreat \"synced\" as a count (same as refcount) and allow all\nunsync calls to work.\n\nSigned-off-by: Vlad Yasevich \u003cvyasevic@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a210576cf891e9e6d2c238eabcf5c1286b1e7526",
      "tree": "0fa81a901cf628b25e6ee79057700cf39e59818a",
      "parents": [
        "7d4c04fc170087119727119074e72445f2bb192b",
        "3658f3604066d5500ebd73a04084f127dc779441"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 01 13:36:50 2013 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 01 13:36:50 2013 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tnet/mac80211/sta_info.c\n\tnet/wireless/core.h\n\nTwo minor conflicts in wireless.  Overlapping additions of extern\ndeclarations in net/wireless/core.h and a bug fix overlapping with\nthe addition of a boolean parameter to __ieee80211_key_free().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c3d5e7b41dda1b1372bfc2545ef092a1bc5ad33",
      "tree": "462060a03b25ae2ab4768c692804de1bca366389",
      "parents": [
        "8f0923c17d34ac838b7f57709f87fe33f76ee219"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sat Mar 30 06:31:03 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 30 17:31:24 2013 -0400"
      },
      "message": "net: reorder some fields of net_device\n\nAs time passed, some fields were added in net_device, and not\nat sensible offsets.\n\nLets reorder some fields to reduce number of cache lines in RX path.\nFields not used in data path should be moved out of this critical cache\nline.\n\nIn particular, move broadcast[] to the end of the rx section,\nas it is less used, and ethernet uses only the beginning of the 32bytes\nfield.\n\nBefore patch :\n\noffsetof(struct net_device,dev_addr)\u003d0x258\noffsetof(struct net_device,rx_handler)\u003d0x2b8\noffsetof(struct net_device,ingress_queue)\u003d0x2c8\noffsetof(struct net_device,broadcast)\u003d0x278\n\nAfter :\n\noffsetof(struct net_device,dev_addr)\u003d0x280\noffsetof(struct net_device,rx_handler)\u003d0x298\noffsetof(struct net_device,ingress_queue)\u003d0x2a8\noffsetof(struct net_device,broadcast)\u003d0x2b0\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f3d4039242af92a9d93dee2fd9ae47066b20ca29",
      "tree": "c6d841b45268cb820e263af6794db6a0477e0308",
      "parents": [
        "fbbdb8f096e0e5d8244e1ffa46e364146ab9a440"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Wed Mar 27 10:52:28 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 27 23:24:51 2013 -0400"
      },
      "message": "tokenring: delete last holdout of CONFIG_TR\n\nTokenring support was deleted in v3.5. One last holdout of the macro\nCONFIG_TR escaped that fate. Until now.\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24f11a5cf538a8fcc10d61f457e9a2094fb965b4",
      "tree": "950cfd826b3be166972cda88adbed56a638eaa33",
      "parents": [
        "715230a44310a8cf66fbfb5a46f9a62a9b2de424"
      ],
      "author": {
        "name": "Dmitry Kravkov",
        "email": "dmitry@broadcom.com",
        "time": "Wed Mar 27 06:54:00 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 27 14:06:41 2013 -0400"
      },
      "message": "line up comment for ndo_bridge_getlink\n\nSigned-off-by: Dmitry Kravkov \u003cdmitry@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "764444f5a324ad5a272773f078192819084388ce",
      "tree": "5917634cfb1330d2188de52316ecee9bc7c190cc",
      "parents": [
        "2a89f9247ae43a2cf36fbc07b21b5792fc7b9efe"
      ],
      "author": {
        "name": "Fernando Luis Vazquez Cao",
        "email": "fernando_b1@lab.ntt.co.jp",
        "time": "Wed Mar 13 16:57:25 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 15 08:30:46 2013 -0400"
      },
      "message": "net: clean leftover of COMPAT_NET_DEV_OPS removal\n\nCOMPAT_NET_DEV_OPS was removed a while back and with it the definition of\nnetdev_resync_ops() went away. Let\u0027s finish the clean-up.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a7fbfab4be39b8690543f3d29b26860d2f6c576",
      "tree": "6618fe6878b31f43d094be20643df7e7186083f1",
      "parents": [
        "1e32b0c65c9e3f1a09cb5d1bcc0c5becf849d85f"
      ],
      "author": {
        "name": "nikolay@redhat.com",
        "email": "nikolay@redhat.com",
        "time": "Tue Mar 12 02:49:01 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 15 08:22:20 2013 -0400"
      },
      "message": "netxen: write IP address to firmware when using bonding\n\nThis patch allows LRO aggregation on bonded devices that contain an\nNX3031 device. It also adds a for_each_netdev_in_bond_rcu(bond, slave)\nmacro which executes for each slave that has bond as master.\n\nV3: After testing and discussing this with Rajesh, I decided to keep the\n    vlan ip cache and just rename it to ip_cache since it will store bond\n    ip addresses too. A new master flag has been added to the ip cache to\n    denote that the address has been added because of a master device.\n    I\u0027ve taken care of the enslave/release cases by checking for various\n    combinations of events and flags (e.g. netxen has a master, it\u0027s a\n    bond master and it\u0027s not marked as a slave means it is being enslaved\n    and is dev_open()ed in bond_enslave).\n    I\u0027ve changed netxen_free_ip_list() to have a \"master\" parameter which\n    causes all IP addresses marked as master to be deleted (used when a\n    netxen is being released). I\u0027ve made the patch use the new upper\n    device API as well. The following cases were tested:\n    - bond -\u003e netxen\n    - vlan -\u003e netxen\n    - vlan -\u003e bond -\u003e netxen\n\nV2: Remove local ip caching, retrieve addresses dynamically and\n    restore them if necessary.\n\nNote: Tested with NX3031 adapter.\n\nTested-by: Rajesh Borundia \u003crajesh.borundia@qlogic.com\u003e\nSigned-off-by: Andy Gospodarek \u003cagospoda@redhat.com\u003e\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec5f061564238892005257c83565a0b58ec79295",
      "tree": "1ea3987010c27985a3edb7af66e1d143b2cefc77",
      "parents": [
        "3868b7aa76310d1d723d4db05c3526c908fb1e8b"
      ],
      "author": {
        "name": "Pravin B Shelar",
        "email": "pshelar@nicira.com",
        "time": "Thu Mar 07 09:28:01 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 09 16:08:57 2013 -0500"
      },
      "message": "net: Kill link between CSUM and SG features.\n\nEarlier SG was unset if CSUM was not available for given device to\nforce skb copy to avoid sending inconsistent csum.\nCommit c9af6db4c11c (net: Fix possible wrong checksum generation)\nadded explicit flag to force copy to fix this issue.  Therefore\nthere is no need to link SG and CSUM, following patch kills this\nlink between there two features.\n\nThis patch is also required following patch in series.\n\nSigned-off-by: Pravin B Shelar \u003cpshelar@nicira.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "82dc3c63c692b1e1d59378ecee948ac88e034aad",
      "tree": "d324df2801b34974e8735ac79f28ca43298bea53",
      "parents": [
        "dd9f319d94c99b96fc9b34ccde7389a91059fe31"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Mar 05 15:57:22 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 05 23:40:01 2013 -0500"
      },
      "message": "net: introduce NAPI_POLL_WEIGHT\n\nSome drivers use a too big NAPI poll weight.\n\nThis patch adds a NAPI_POLL_WEIGHT default value\nand issues an error message if a driver attempts\nto use a bigger weight.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Eilon Greenstein \u003ceilong@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd0615746ba0f6643fb984345ae6ee0b73404ca6",
      "tree": "f55557971fec403884c37cf28326c28c7670b4cd",
      "parents": [
        "082c7ca42b0bf33aa3fb5eeb619dfbcfaa20d216"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Feb 19 02:47:05 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 19 13:18:13 2013 -0500"
      },
      "message": "net: fix a build failure when !CONFIG_PROC_FS\n\nWhen !CONFIG_PROC_FS dev_mcast_init() is not defined,\nactually we can just merge dev_mcast_init() into\ndev_proc_init().\n\nReported-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nCc: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Cong Wang \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "900ff8c6321418dafa03c22e215cb9646a2541b9",
      "tree": "da94d724e34cda801d23aea533a5575084d31a8d",
      "parents": [
        "45d213f5f8733ab4b5b2424b21c0034d54c5a866"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Mon Feb 18 19:20:33 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 19 00:51:10 2013 -0500"
      },
      "message": "net: move procfs code to net/core/net-procfs.c\n\nSimilar to net/core/net-sysfs.c, group procfs code to\na single unit.\n\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Cong Wang \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05e8ef4ab2d8087d360e814d14da20b9f7fb2283",
      "tree": "f5161c863bff859fd1c52e36d88fe4a10b84af0f",
      "parents": [
        "14bbd6a565e1bcdc240d44687edb93f721cfdf99"
      ],
      "author": {
        "name": "Pravin B Shelar",
        "email": "pshelar@nicira.com",
        "time": "Thu Feb 14 09:44:55 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 15 15:16:03 2013 -0500"
      },
      "message": "net: factor out skb_mac_gso_segment() from skb_gso_segment()\n\nThis function will be used in next GRE_GSO patch. This patch does\nnot change any functionality. It only exports skb_mac_gso_segment()\nfunction.\n\n[ Use skb_reset_mac_len() -DaveM ]\n\nSigned-off-by: Pravin B Shelar \u003cpshelar@nicira.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1690be63a27b20ae65c792729a44f5970561ffa4",
      "tree": "c0c86bc471e24207ee61b544c8683d84fc43d105",
      "parents": [
        "b0e9a30dd669a844bb4f74515f8bcd307018ffd0"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vyasevic@redhat.com",
        "time": "Wed Feb 13 12:00:18 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 13 19:42:16 2013 -0500"
      },
      "message": "bridge: Add vlan support to static neighbors\n\nWhen a user adds bridge neighbors, allow him to specify VLAN id.\nIf the VLAN id is not specified, the neighbor will be added\nfor VLANs currently in the ports filter list.  If no VLANs are\nconfigured on the port, we use vlan 0 and only add 1 entry.\n\nSigned-off-by: Vlad Yasevich \u003cvyasevic@redhat.com\u003e\nAcked-by: Jitendra Kalsaria \u003cjitendra.kalsaria@qlogic.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6cbdceeb1cb12c7d620161925a8c3e81daadb2e4",
      "tree": "81852fee23a380456cce4d2c1bb5ec52c7ff0013",
      "parents": [
        "407af3299ef1ac7e87ce3fb530e32a009d1a9efd"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vyasevic@redhat.com",
        "time": "Wed Feb 13 12:00:13 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 13 19:41:46 2013 -0500"
      },
      "message": "bridge: Dump vlan information from a bridge port\n\nUsing the RTM_GETLINK dump the vlan filter list of a given\nbridge port.  The information depends on setting the filter\nflag similar to how nic VF info is dumped.\n\nSigned-off-by: Vlad Yasevich \u003cvyasevic@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "407af3299ef1ac7e87ce3fb530e32a009d1a9efd",
      "tree": "9572e0b02eb9f6c2952b490f3a79f4b790fcea3c",
      "parents": [
        "85f46c6baef1486ce20e13dd7cdea5dd15be2a90"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vyasevic@redhat.com",
        "time": "Wed Feb 13 12:00:12 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 13 19:41:46 2013 -0500"
      },
      "message": "bridge: Add netlink interface to configure vlans on bridge ports\n\nAdd a netlink interface to add and remove vlan configuration on bridge port.\nThe interface uses the RTM_SETLINK message and encodes the vlan\nconfiguration inside the IFLA_AF_SPEC.  It is possble to include multiple\nvlans to either add or remove in a single message.\n\nSigned-off-by: Vlad Yasevich \u003cvyasevic@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "febf018d22347b5df94066bca05d0c11a84e839d",
      "tree": "726ff7c7ee289736d6c36996d4340928f9594298",
      "parents": [
        "5b815b52f63c8f5dcd03964d69c335ee47851878"
      ],
      "author": {
        "name": "David Ward",
        "email": "david.ward@ll.mit.edu",
        "time": "Fri Feb 08 17:17:06 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 10 20:37:22 2013 -0500"
      },
      "message": "net/802: Implement Multiple Registration Protocol (MRP)\n\nInitial implementation of the Multiple Registration Protocol (MRP)\nfrom IEEE 802.1Q-2011, based on the existing implementation of the\nGeneric Attribute Registration Protocol (GARP).\n\nSigned-off-by: David Ward \u003cdavid.ward@ll.mit.edu\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12b0004d1d1e2a9aa667412d479041e403bcafae",
      "tree": "132aecb3e4a78707552a0ddf4d4618734af47efa",
      "parents": [
        "25060d8f3f2c21daadb4fc1fb0e37ce2c992e30b"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Tue Feb 05 16:36:38 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 06 15:58:00 2013 -0500"
      },
      "message": "net: adjust skb_gso_segment() for calling in rx path\n\nskb_gso_segment() is almost always called in tx path,\nexcept for openvswitch. It calls this function when\nit receives the packet and tries to queue it to user-space.\nIn this special case, the -\u003eip_summed check inside\nskb_gso_segment() is no longer true, as -\u003eip_summed value\nhas different meanings on rx path.\n\nThis patch adjusts skb_gso_segment() so that we can at least\navoid such warnings on checksum.\n\nCc: Jesse Gross \u003cjesse@nicira.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5fbee843c32e5de2d8af68ba0bdd113bb0af9d86",
      "tree": "1b5af9ab4177611b00412abe3ee3217030740307",
      "parents": [
        "ce4a600e477a4da600c8056897e71e2f4a8c5ac0"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Tue Jan 22 21:29:39 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 18:32:54 2013 -0500"
      },
      "message": "netpoll: add RCU annotation to npinfo field\n\ndev-\u003enpinfo is protected by RCU.\n\nThis fixes the following sparse warnings:\n\nnet/core/netpoll.c:177:48: error: incompatible types in comparison expression (different address spaces)\nnet/core/netpoll.c:200:35: error: incompatible types in comparison expression (different address spaces)\nnet/core/netpoll.c:221:35: error: incompatible types in comparison expression (different address spaces)\nnet/core/netpoll.c:327:18: error: incompatible types in comparison expression (different address spaces)\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b87f922598acf91eee18f71688a33f54f57bcde",
      "tree": "9cdfe30c6b96c47093da5392ed82d147290cd64c",
      "parents": [
        "55eb555d9674e2ebe9d4de0146602f96ff18e7d6",
        "daf3ec688e057f6060fb9bb0819feac7a8bbf45c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 15 15:05:59 2013 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 15 15:05:59 2013 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tDocumentation/networking/ip-sysctl.txt\n\tdrivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c\n\nBoth conflicts were simply overlapping context.\n\nA build fix for qlcnic is in here too, simply removing the added\ndevinit annotations which no longer exist.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d07d7507bfb4e23735c9b83e397c43e1e8a173e8",
      "tree": "1422f8bc9cfa0340a7b1cdec03456a6bf5e3a7d5",
      "parents": [
        "f7e9e230f41f991a6e3e7cb6096424fdfb626081"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Thu Jan 10 23:19:10 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 11 15:55:48 2013 -0800"
      },
      "message": "net, wireless: overwrite default_ethtool_ops\n\nSince:\n\ncommit 2c60db037034d27f8c636403355d52872da92f81\nAuthor: Eric Dumazet \u003cedumazet@google.com\u003e\nDate:   Sun Sep 16 09:17:26 2012 +0000\n\n    net: provide a default dev-\u003eethtool_ops\n\nwireless core does not correctly assign ethtool_ops.\n\nAfter alloc_netdev*() call, some cfg80211 drivers provide they own\nethtool_ops, but some do not. For them, wireless core provide generic\ncfg80211_ethtool_ops, which is assigned in NETDEV_REGISTER notify call:\n\n        if (!dev-\u003eethtool_ops)\n                dev-\u003eethtool_ops \u003d \u0026cfg80211_ethtool_ops;\n\nBut after Eric\u0027s commit, dev-\u003eethtool_ops is no longer NULL (on cfg80211\ndrivers without custom ethtool_ops), but points to \u0026default_ethtool_ops.\n\nIn order to fix the problem, provide function which will overwrite\ndefault_ethtool_ops and use it by wireless core.\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "024e9679a2daaa67642693366fb63a6b8c61b9f3",
      "tree": "2661a1d8f50699e508f7bb0fbe83c90bbd2de3d2",
      "parents": [
        "01c5f864e62b1c1ee72fb492c6c5e47a162a507b"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Jan 10 08:57:46 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 10 22:47:04 2013 -0800"
      },
      "message": "net: Add support for XPS without sysfs being defined\n\nThis patch makes it so that we can support transmit packet steering without\nsysfs needing to be enabled.  The reason for making this change is to make\nit so that a driver can make use of the XPS even while the sysfs portion of\nthe interface is not present.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "537c00de1c9ba9876b91d869e84caceefe2b8bf9",
      "tree": "f808a5221aec07b3a0a01513e5de9d5cdc2a6b54",
      "parents": [
        "416186fbf8c5b4e4465a10c6ac7a45b6c47144b2"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Jan 10 08:57:02 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 10 22:47:03 2013 -0800"
      },
      "message": "net: Add functions netif_reset_xps_queue and netif_set_xps_queue\n\nThis patch adds two functions, netif_reset_xps_queue and\nnetif_set_xps_queue.  The main idea behind these two functions is to\nprovide a mechanism through which drivers can update their defaults in\nregards to XPS.\n\nCurrently no such mechanism exists and as a result we cannot use XPS for\nthings such as ATR which would require a basic configuration to start in\nwhich the Tx queues are mapped to CPUs via a 1:1 mapping.  With this change\nI am making it possible for drivers such as ixgbe to be able to use the XPS\nfeature by controlling the default configuration.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "416186fbf8c5b4e4465a10c6ac7a45b6c47144b2",
      "tree": "8670e015c8e6ba3e41c7373671bcfe1b2703b653",
      "parents": [
        "c10d73671ad30f54692f7f69f0e09e75d3a8926a"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Jan 10 08:56:51 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 10 22:47:03 2013 -0800"
      },
      "message": "net: Split core bits of netdev_pick_tx into __netdev_pick_tx\n\nThis change splits the core bits of netdev_pick_tx into a separate function.\nThe main idea behind this is to make this code accessible to select queue\nfunctions when they decide to process the standard path instead of their\nown custom path in their select queue routine.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85464ef271a0f5496f404c6a2f2dfbf1d76e1a49",
      "tree": "f14aed911d388b41d4abde15605186a5f8e9509f",
      "parents": [
        "8b98a70c28a607a02b3c3d41bc9a4c141f421052"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Thu Jan 03 22:49:03 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 04 13:31:51 2013 -0800"
      },
      "message": "net: kill dev-\u003emaster\n\nNobody uses this now. Remove it.\n\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b98a70c28a607a02b3c3d41bc9a4c141f421052",
      "tree": "7f3ad0f2476c993f7b4b84f2796f73c012e9fb41",
      "parents": [
        "471cb5a33dcbd7c529684a2ac7ba4451414ee4a7"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Thu Jan 03 22:49:02 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 04 13:31:50 2013 -0800"
      },
      "message": "net: remove no longer used netdev_set_bond_master() and netdev_set_master()\n\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ff162a8b96c96238773972e26288a366e403b0c",
      "tree": "ae74065e46364c807a1996e5268aec349d9d86d4",
      "parents": [
        "04e406dcc54cfd84d333ea673fa986fb5a1840e7"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Thu Jan 03 22:48:49 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 04 13:31:49 2013 -0800"
      },
      "message": "net: introduce upper device lists\n\nThis lists are supposed to serve for storing pointers to all upper devices.\nEventually it will replace dev-\u003emaster pointer which is used for\nbonding, bridge, team but it cannot be used for vlan, macvlan where\nthere might be multiple upper present. In case the upper link is\nreplacement for dev-\u003emaster, it is marked with \"master\" flag.\n\nNew upper device list resolves this limitation. Also, the information\nstored in lists is used for preventing looping setups like\n\"bond-\u003esomethingelse-\u003esamebond\"\n\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fbdeca2d7753aa1ab929aeb77ccc46489eed02b9",
      "tree": "156a4b2bada01c59549988352d203191288803e4",
      "parents": [
        "e41b2d7fe7803e85e1202d0eb172717d7bf1bbaf"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Tue Jan 01 03:30:16 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 03 22:37:36 2013 -0800"
      },
      "message": "net: add address assign type \"SET\"\n\nThis is the way to indicate that mac address of a device has been set by\ndev_set_mac_address()\n\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2681128f0ced8aa4e66f221197e183cc16d244fe",
      "tree": "0658c7765a2b6bca62f7d6f6ede901d41bd89bf6",
      "parents": [
        "4cafe373d40dd9893a301fa83dc99abb80a2bd0b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sat Dec 29 16:02:43 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 30 02:31:58 2012 -0800"
      },
      "message": "veth: reduce stat overhead\n\nveth stats are a bit bloated. There is no need to account transmit\nand receive stats, since they are absolutely symmetric.\n\nAlso use a per device atomic64_t for the dropped counter, as it\nshould never be used in fast path.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bf84c35c65f36a344fb7a6cde6274df4120efb8",
      "tree": "09f7e45f4db6dc8fefd2910286aa3b0fcc5d50c2",
      "parents": [
        "b5a05550b76fe5b934b6f3b7f4b36ae9513745f6"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Thu Dec 27 23:49:37 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 28 15:24:18 2012 -0800"
      },
      "message": "net: add change_carrier netdev op\n\nThis allows a driver to register change_carrier callback which will be\ncalled whenever user will like to change carrier state. This is useful\nfor devices like dummy, gre, team and so on.\n\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\nAcked-by: Flavio Leitner \u003cfbl@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30e6c9fa93cf3dbc7cc6df1d748ad25e4264545a",
      "tree": "e313291a178010fb892d9725cbecb326bd63fdc0",
      "parents": [
        "f7e75ba1772bc712af0070655ffd8b09906993b5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Dec 20 17:25:08 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 21 13:14:01 2012 -0800"
      },
      "message": "net: devnet_rename_seq should be a seqcount\n\nUsing a seqlock for devnet_rename_seq is not a good idea,\nas device_rename() can sleep.\n\nAs we hold RTNL, we dont need a protection for writers,\nand only need a seqcount so that readers can catch a change done\nby a writer.\n\nBug added in commit c91f6df2db4972d3 (sockopt: Change getsockopt() of\nSO_BINDTODEVICE to return an interface name)\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2013a13e68354e0c8f3696b69701803e13fb737",
      "tree": "a7e1da6bfad1aa2afd83f401874d606269ce90b4",
      "parents": [
        "dadfab4873256d2145640c0ce468fcbfb48977fe",
        "106f9d9337f65bd428c0c79f650e3489e458d771"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 12:00:02 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 12:00:02 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial branch from Jiri Kosina:\n \"Usual stuff -- comment/printk typo fixes, documentation updates, dead\n  code elimination.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  HOWTO: fix double words typo\n  x86 mtrr: fix comment typo in mtrr_bp_init\n  propagate name change to comments in kernel source\n  doc: Update the name of profiling based on sysfs\n  treewide: Fix typos in various drivers\n  treewide: Fix typos in various Kconfig\n  wireless: mwifiex: Fix typo in wireless/mwifiex driver\n  messages: i2o: Fix typo in messages/i2o\n  scripts/kernel-doc: check that non-void fcts describe their return value\n  Kernel-doc: Convention: Use a \"Return\" section to describe return values\n  radeon: Fix typo and copy/paste error in comments\n  doc: Remove unnecessary declarations from Documentation/accounting/getdelays.c\n  various: Fix spelling of \"asynchronous\" in comments.\n  Fix misspellings of \"whether\" in comments.\n  eisa: Fix spelling of \"asynchronous\".\n  various: Fix spelling of \"registered\" in comments.\n  doc: fix quite a few typos within Documentation\n  target: iscsi: fix comment typos in target/iscsi drivers\n  treewide: fix typo of \"suport\" in various comments and Kconfig\n  treewide: fix typo of \"suppport\" in various comments\n  ...\n"
    },
    {
      "commit": "6be35c700f742e911ecedd07fcc43d4439922334",
      "tree": "ca9f37214d204465fcc2d79c82efd291e357c53c",
      "parents": [
        "e37aa63e87bd581f9be5555ed0ba83f5295c92fc",
        "520dfe3a3645257bf83660f672c47f8558f3d4c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 18:07:07 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 18:07:07 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking changes from David Miller:\n\n1) Allow to dump, monitor, and change the bridge multicast database\n   using netlink.  From Cong Wang.\n\n2) RFC 5961 TCP blind data injection attack mitigation, from Eric\n   Dumazet.\n\n3) Networking user namespace support from Eric W. Biederman.\n\n4) tuntap/virtio-net multiqueue support by Jason Wang.\n\n5) Support for checksum offload of encapsulated packets (basically,\n   tunneled traffic can still be checksummed by HW).  From Joseph\n   Gasparakis.\n\n6) Allow BPF filter access to VLAN tags, from Eric Dumazet and\n   Daniel Borkmann.\n\n7) Bridge port parameters over netlink and BPDU blocking support\n   from Stephen Hemminger.\n\n8) Improve data access patterns during inet socket demux by rearranging\n   socket layout, from Eric Dumazet.\n\n9) TIPC protocol updates and cleanups from Ying Xue, Paul Gortmaker, and\n   Jon Maloy.\n\n10) Update TCP socket hash sizing to be more in line with current day\n    realities.  The existing heurstics were choosen a decade ago.\n    From Eric Dumazet.\n\n11) Fix races, queue bloat, and excessive wakeups in ATM and\n    associated drivers, from Krzysztof Mazur and David Woodhouse.\n\n12) Support DOVE (Distributed Overlay Virtual Ethernet) extensions\n    in VXLAN driver, from David Stevens.\n\n13) Add \"oops_only\" mode to netconsole, from Amerigo Wang.\n\n14) Support set and query of VEB/VEPA bridge mode via PF_BRIDGE, also\n    allow DCB netlink to work on namespaces other than the initial\n    namespace.  From John Fastabend.\n\n15) Support PTP in the Tigon3 driver, from Matt Carlson.\n\n16) tun/vhost zero copy fixes and improvements, plus turn it on\n    by default, from Michael S. Tsirkin.\n\n17) Support per-association statistics in SCTP, from Michele\n    Baldessari.\n\nAnd many, many, driver updates, cleanups, and improvements.  Too\nnumerous to mention individually.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1722 commits)\n  net/mlx4_en: Add support for destination MAC in steering rules\n  net/mlx4_en: Use generic etherdevice.h functions.\n  net: ethtool: Add destination MAC address to flow steering API\n  bridge: add support of adding and deleting mdb entries\n  bridge: notify mdb changes via netlink\n  ndisc: Unexport ndisc_{build,send}_skb().\n  uapi: add missing netconf.h to export list\n  pkt_sched: avoid requeues if possible\n  solos-pci: fix double-free of TX skb in DMA mode\n  bnx2: Fix accidental reversions.\n  bna: Driver Version Updated to 3.1.2.1\n  bna: Firmware update\n  bna: Add RX State\n  bna: Rx Page Based Allocation\n  bna: TX Intr Coalescing Fix\n  bna: Tx and Rx Optimizations\n  bna: Code Cleanup and Enhancements\n  ath9k: check pdata variable before dereferencing it\n  ath5k: RX timestamp is reported at end of frame\n  ath9k_htc: RX timestamp is reported at end of frame\n  ...\n"
    },
    {
      "commit": "6a674e9c75b17e7a88ff15b3c2e269eed54f7cfb",
      "tree": "cff48ec155b5c7d8a595d66cc7dc0216a91f9ec3",
      "parents": [
        "9ecb9aabaf634677c77af467f4e3028b09d7bcda"
      ],
      "author": {
        "name": "Joseph Gasparakis",
        "email": "joseph.gasparakis@intel.com",
        "time": "Fri Dec 07 14:14:14 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 09 00:20:28 2012 -0500"
      },
      "message": "net: Add support for hardware-offloaded encapsulation\n\nThis patch adds support in the kernel for offloading in the NIC Tx and Rx\nchecksumming for encapsulated packets (such as VXLAN and IP GRE).\n\nFor Tx encapsulation offload, the driver will need to set the right bits\nin netdev-\u003ehw_enc_features. The protocol driver will have to set the\nskb-\u003eencapsulation bit and populate the inner headers, so the NIC driver will\nuse those inner headers to calculate the csum in hardware.\n\nFor Rx encapsulation offload, the driver will need to set again the\nskb-\u003eencapsulation flag and the skb-\u003eip_csum to CHECKSUM_UNNECESSARY.\nIn that case the protocol driver should push the decapsulated packet up\nto the stack, again with CHECKSUM_UNNECESSARY. In ether case, the protocol\ndriver should set the skb-\u003eencapsulation flag back to zero. Finally the\nprotocol driver should have NETIF_F_RXCSUM flag set in its features.\n\nSigned-off-by: Joseph Gasparakis \u003cjoseph.gasparakis@intel.com\u003e\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3c7c254b2e8cd99b0adf288c2a1bddacd7ba255",
      "tree": "cca25bcae0cc6172a616335041c1e54a33db451c",
      "parents": [
        "93b174ad71b08e504c2cf6e8a58ecce778b77a40"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Dec 06 13:54:59 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 07 14:39:29 2012 -0500"
      },
      "message": "net: gro: fix possible panic in skb_gro_receive()\n\ncommit 2e71a6f8084e (net: gro: selective flush of packets) added\na bug for skbs using frag_list. This part of the GRO stack is rarely\nused, as it needs skb not using a page fragment for their skb-\u003ehead.\n\nMost drivers do use a page fragment, but some of them use GFP_KERNEL\nallocations for the initial fill of their RX ring buffer.\n\nnapi_gro_flush() overwrite skb-\u003eprev that was used for these skb to\npoint to the last skb in frag_list.\n\nFix this using a separate field in struct napi_gro_cb to point to the\nlast fragment.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb728820fe7c42fdb838ab2745fb5fe6b18b5ffa",
      "tree": "8a866acd8f41eba652321eb26f2aae5a29b8c8db",
      "parents": [
        "7e3a2dc52953f126103a36b33db1f57463fbbb8f"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Wed Nov 28 21:55:25 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 29 13:18:32 2012 -0500"
      },
      "message": "core: make GRO methods static.\n\nThis patch changes three methods to be static and removes their\nEXPORT_SYMBOLs in core/dev.c and their external declaration in\nnetdevice.h. The methods, dev_gro_receive(), napi_frags_finish() and\nnapi_skb_finish(), which are in the GRO rx path, are not used\noutside core/dev.c.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c91f6df2db4972d3cc983e6988b9abf1ad02f5f9",
      "tree": "cd29f1a068154e6136e54449ed7caa0b2f922318",
      "parents": [
        "513777b2435a4b2a551ef57a345d3e6f99ae1508"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Mon Nov 26 05:21:08 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 26 17:22:14 2012 -0500"
      },
      "message": "sockopt: Change getsockopt() of SO_BINDTODEVICE to return an interface name\n\nInstead of having the getsockopt() of SO_BINDTODEVICE return an index, which\nwill then require another call like if_indextoname() to get the actual interface\nname, have it return the name directly.\n\nThis also matches the existing man page description on socket(7) which mentions\nthe argument being an interface name.\n\nIf the value has not been set, zero is returned and optlen will be set to zero\nto indicate there is no interface name present.\n\nAdded a seqlock to protect this code path, and dev_ifname(), from someone\nchanging the device name via dev_change_name().\n\nv2: Added seqlock protection while copying device name.\n\nv3: Fixed word wrap in patch.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d93cf0687c9853bf91b1b9a5124ab97ebc47e00c",
      "tree": "e178efc4a67fdfeb1d36e32ce857efd12d10ab05",
      "parents": [
        "4e79162a52da61c3a67d0796b9f0e37a5e0ccbd6"
      ],
      "author": {
        "name": "Adam Buchbinder",
        "email": "adam.buchbinder@gmail.com",
        "time": "Wed Sep 19 21:47:58 2012 -0400"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 19 14:29:46 2012 +0100"
      },
      "message": "various: Fix spelling of \"registered\" in comments.\n\nSome comments misspell \"registered\"; this fixes them. No code changes.\n\nSigned-off-by: Adam Buchbinder \u003cadam.buchbinder@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "f191a1d17f227032c159e5499809f545402b6dc6",
      "tree": "48fc87a0b34bd2da06fedcd7e5e3ed6b08f7a3ac",
      "parents": [
        "c6b641a4c6b32f39db678c2441cb1ef824110d74"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vyasevic@redhat.com",
        "time": "Thu Nov 15 08:49:23 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 15 17:39:51 2012 -0500"
      },
      "message": "net: Remove code duplication between offload structures\n\nMove the offload callbacks into its own structure.\n\nSigned-off-by: Vlad Yasevich \u003cvyasevic@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22061d8014455b01eb018bd6c35a1b3040ccc230",
      "tree": "179242661e78e2621c02719cea9cf6e838f9b32a",
      "parents": [
        "62532da9d5f47a7ced3b965aa73ffd5b1afbeb79"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vyasevic@redhat.com",
        "time": "Thu Nov 15 08:49:11 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 15 17:36:17 2012 -0500"
      },
      "message": "net: Switch to using the new packet offload infrustructure\n\nConvert to using the new GSO/GRO registration mechanism and new\npacket offload structure.\n\nSigned-off-by: Vlad Yasevich \u003cvyasevic@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62532da9d5f47a7ced3b965aa73ffd5b1afbeb79",
      "tree": "520e8ca8c90116fb4f92db0c356474abed905c79",
      "parents": [
        "efad0c14b720ec3791c95e0658c3990fbc124366"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vyasevic@redhat.com",
        "time": "Thu Nov 15 08:49:10 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 15 17:36:16 2012 -0500"
      },
      "message": "net: Add generic packet offload infrastructure.\n\nCreate a new data structure to contain the GRO/GSO callbacks and add\na new registration mechanism.\n\nSinged-off-by: Vlad Yasevich \u003cvyasevic@redhat.com\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5a55a898720096f43bc24938f8875c0a1b34cd7",
      "tree": "aff4a209c158a6bee5d974647ec8726f2b9a81c0",
      "parents": [
        "a932657f51eadb8280166e82dc7034dfbff3985a"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Wed Oct 24 08:12:57 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 31 13:18:28 2012 -0400"
      },
      "message": "net: create generic bridge ops\n\nThe PF_BRIDGE:RTM_{GET|SET}LINK nlmsg family and type are\ncurrently embedded in the ./net/bridge module. This prohibits\nthem from being used by other bridging devices. One example\nof this being hardware that has embedded bridging components.\n\nIn order to use these nlmsg types more generically this patch\nadds two net_device_ops hooks. One to set link bridge attributes\nand another to dump the current bride attributes.\n\n\tndo_bridge_setlink()\n\tndo_bridge_getlink()\n\nCC: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nCC: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "607ca46e97a1b6594b29647d98a32d545c24bdff",
      "tree": "30f4c0784bfddb57332cdc0678bd06d1e77fa185",
      "parents": [
        "08cce05c5a91f5017f4edc9866cf026908c73f9f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Oct 13 10:46:48 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Oct 13 10:46:48 2012 +0100"
      },
      "message": "UAPI: (Scripted) Disintegrate include/linux\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "863472454ce50d4ef0929c6aa738cc5d64b84679",
      "tree": "10a938801074b41e53c8237c92390e745b47a521",
      "parents": [
        "48cc32d38a52d0b68f91a171a8d00531edc6a46e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Oct 08 21:38:50 2012 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 08 15:40:43 2012 -0400"
      },
      "message": "ipv6: gro: fix PV6_GRO_CB(skb)-\u003eproto problem\n\nIt seems IPV6_GRO_CB(skb)-\u003eproto can be destroyed in skb_gro_receive()\nif a new skb is allocated (to serve as an anchor for frag_list)\n\nWe copy NAPI_GRO_CB() only (not the IPV6 specific part) in :\n\n*NAPI_GRO_CB(nskb) \u003d *NAPI_GRO_CB(p);\n\nSo we leave IPV6_GRO_CB(nskb)-\u003eproto to 0 (fresh skb allocation) instead\nof IPPROTO_TCP (6)\n\nipv6_gro_complete() isnt able to call ops-\u003egro_complete()\n[ tcp6_gro_complete() ]\n\nFix this by moving proto in NAPI_GRO_CB() and getting rid of\nIPV6_GRO_CB\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e71a6f8084e7ac87166dd77d99c44190fb844fc",
      "tree": "eb2e2d47361b35b2b5a3f26beac3d1fbd888c372",
      "parents": [
        "a2af139ff1cd85df586690ff626619ab1ee88b0a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sat Oct 06 08:08:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 08 14:51:51 2012 -0400"
      },
      "message": "net: gro: selective flush of packets\n\nCurrent GRO can hold packets in gro_list for almost unlimited\ntime, in case napi-\u003epoll() handler consumes its budget over and over.\n\nIn this case, napi_complete()/napi_gro_flush() are not called.\n\nAnother problem is that gro_list is flushed in non friendly way :\nWe scan the list and complete packets in the reverse order.\n(youngest packets first, oldest packets last)\nThis defeats priorities that sender could have cooked.\n\nSince GRO currently only store TCP packets, we dont really notice the\nbug because of retransmits, but this behavior can add unexpected\nlatencies, particularly on mice flows clamped by elephant flows.\n\nThis patch makes sure no packet can stay more than 1 ms in queue, and\nonly in stress situations.\n\nIt also complete packets in the right order to minimize latencies.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Jesse Gross \u003cjesse@nicira.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Yuchung Cheng \u003cycheng@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca07e43e288956a0ad5e6bd075f7aa1fca3bca00",
      "tree": "fa3b345f2940b257f7c1b5b268f2ee52926bcbf5",
      "parents": [
        "51ec04038c113a811b177baa85d293feff9ce995"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sat Oct 06 22:28:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 07 14:49:17 2012 -0400"
      },
      "message": "net: gro: fix a potential crash in skb_gro_reset_offset\n\nBefore accessing skb first fragment, better make sure there\nis one.\n\nThis is probably not needed for old kernels, since an ethernet frame\ncannot contain only an ethernet header, but the recent GRO addition\nto tunnels makes this patch needed.\n\nAlso skb_gro_reset_offset() can be static, it actually allows\ncompiler to inline it.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aecdc33e111b2c447b622e287c6003726daa1426",
      "tree": "3e7657eae4b785e1a1fb5dfb225dbae0b2f0cfc6",
      "parents": [
        "a20acf99f75e49271381d65db097c9763060a1e8",
        "a3a6cab5ea10cca64d036851fe0d932448f2fe4f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 13:38:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 13:38:27 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking changes from David Miller:\n\n 1) GRE now works over ipv6, from Dmitry Kozlov.\n\n 2) Make SCTP more network namespace aware, from Eric Biederman.\n\n 3) TEAM driver now works with non-ethernet devices, from Jiri Pirko.\n\n 4) Make openvswitch network namespace aware, from Pravin B Shelar.\n\n 5) IPV6 NAT implementation, from Patrick McHardy.\n\n 6) Server side support for TCP Fast Open, from Jerry Chu and others.\n\n 7) Packet BPF filter supports MOD and XOR, from Eric Dumazet and Daniel\n    Borkmann.\n\n 8) Increate the loopback default MTU to 64K, from Eric Dumazet.\n\n 9) Use a per-task rather than per-socket page fragment allocator for\n    outgoing networking traffic.  This benefits processes that have very\n    many mostly idle sockets, which is quite common.\n\n    From Eric Dumazet.\n\n10) Use up to 32K for page fragment allocations, with fallbacks to\n    smaller sizes when higher order page allocations fail.  Benefits are\n    a) less segments for driver to process b) less calls to page\n    allocator c) less waste of space.\n\n    From Eric Dumazet.\n\n11) Allow GRO to be used on GRE tunnels, from Eric Dumazet.\n\n12) VXLAN device driver, one way to handle VLAN issues such as the\n    limitation of 4096 VLAN IDs yet still have some level of isolation.\n    From Stephen Hemminger.\n\n13) As usual there is a large boatload of driver changes, with the scale\n    perhaps tilted towards the wireless side this time around.\n\nFix up various fairly trivial conflicts, mostly caused by the user\nnamespace changes.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1012 commits)\n  hyperv: Add buffer for extended info after the RNDIS response message.\n  hyperv: Report actual status in receive completion packet\n  hyperv: Remove extra allocated space for recv_pkt_list elements\n  hyperv: Fix page buffer handling in rndis_filter_send_request()\n  hyperv: Fix the missing return value in rndis_filter_set_packet_filter()\n  hyperv: Fix the max_xfer_size in RNDIS initialization\n  vxlan: put UDP socket in correct namespace\n  vxlan: Depend on CONFIG_INET\n  sfc: Fix the reported priorities of different filter types\n  sfc: Remove EFX_FILTER_FLAG_RX_OVERRIDE_IP\n  sfc: Fix loopback self-test with separate_tx_channels\u003d1\n  sfc: Fix MCDI structure field lookup\n  sfc: Add parentheses around use of bitfield macro arguments\n  sfc: Fix null function pointer in efx_sriov_channel_type\n  vxlan: virtual extensible lan\n  igmp: export symbol ip_mc_leave_group\n  netlink: add attributes to fdb interface\n  tg3: unconditionally select HWMON support when tg3 is enabled.\n  Revert \"net: ti cpsw ethernet: allow reading phy interface mode from DT\"\n  gre: fix sparse warning\n  ...\n"
    },
    {
      "commit": "edc7d57327bd08bfd04f41531d49b176369db218",
      "tree": "c1005cd5c5e9006c4eb2de39b3d14598f2206892",
      "parents": [
        "de0a41484c47d783dd4d442914815076aa2caac2"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 01 12:32:33 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 01 18:39:44 2012 -0400"
      },
      "message": "netlink: add attributes to fdb interface\n\nLater changes need to be able to refer to neighbour attributes\nwhen doing fdb_add.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "404f7c9e118e0c92902afe1853d35f5638fe4a4c",
      "tree": "91fef7641a22df0e1acf262777b29fe8c0be9cad",
      "parents": [
        "69b08f62e17439ee3d436faf0b9a7ca6fffb78db"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed Sep 26 07:07:47 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 27 19:29:35 2012 -0400"
      },
      "message": "net: struct napi_struct fields reordering\n\nRemove two holes on 64bit arches, and put dev_list at the end of\nnapi_struct since its not used in fast path.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8c4c49df5cfeb8d56e5b85a430c8cbcb86c2ac37",
      "tree": "f57cd83822deb6f675dce888f86d007f2b9e3998",
      "parents": [
        "6b6e27255f29a6191ef8ad96bfcc392ab2ef6c71"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Sep 17 20:16:31 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 19 17:19:09 2012 -0400"
      },
      "message": "netpoll: call -\u003endo_select_queue() in tx path\n\nIn netpoll tx path, we miss the chance of calling -\u003endo_select_queue(),\nthus could cause problems when bonding is involved.\n\nThis patch makes dev_pick_tx() extern (and rename it to netdev_pick_tx())\nto let netpoll call it in netpoll_send_skb_on_dev().\n\nReported-by: Sylvain Munaut \u003cs.munaut@whatever-company.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\nTested-by: Sylvain Munaut \u003cs.munaut@whatever-company.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b6e27255f29a6191ef8ad96bfcc392ab2ef6c71",
      "tree": "a5ccefbbb2862f3777b83eefd1d10a2f550345f8",
      "parents": [
        "1d3ff76759b70e201e6b379c37ac106c487ff506"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Sep 17 10:03:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 19 16:35:22 2012 -0400"
      },
      "message": "netdev: make address const in device address management\n\nThe internal functions for add/deleting addresses don\u0027t change\ntheir argument.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b004ff4972e2a42aa4512c90cc6a9e4dc1bb36b6",
      "tree": "13d68f77aeb0db8cf32ff81f7fc6931640c13f70",
      "parents": [
        "798efc60e4276825df34af0e91ecbe0781237834"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Sep 12 20:12:19 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Sep 17 06:08:30 2012 -0700"
      },
      "message": "netdev_printk/dynamic_netdev_dbg: Directly call printk_emit\n\nA lot of stack is used in recursive printks with %pV.\n\nUsing multiple levels of %pV (a logging function with %pV\nthat calls another logging function with %pV) can consume\nmore stack than necessary.\n\nAvoid excessive stack use by not calling dev_printk from\nnetdev_printk and dynamic_netdev_dbg.  Duplicate the logic\nand form of dev_printk instead.\n\nMake __netdev_printk static.\nRemove EXPORT_SYMBOL(__netdev_printk)\nWhitespace and brace style neatening.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nTested-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "23d3b8bfb8eb20e7d96afa09991e6a5ed1c83164",
      "tree": "6b5b42f6c925e77a4fa0bd8dbd29683a23edc3e9",
      "parents": [
        "7933aa5c75b880aad6fc26f2df1e3ee6c14f166d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed Sep 05 01:02:56 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 05 17:49:27 2012 -0400"
      },
      "message": "net: qdisc busylock needs lockdep annotations\n\nIt seems we need to provide ability for stacked devices\nto use specific lock_class_key for sch-\u003ebusylock\n\nWe could instead default l2tpeth tx_queue_len to 0 (no qdisc), but\na user might use a qdisc anyway.\n\n(So same fixes are probably needed on non LLTX stacked drivers)\n\nNoticed while stressing L2TPV3 setup :\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n [ INFO: possible circular locking dependency detected ]\n 3.6.0-rc3+ #788 Not tainted\n -------------------------------------------------------\n netperf/4660 is trying to acquire lock:\n  (l2tpsock){+.-...}, at: [\u003cffffffffa0208db2\u003e] l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n\n but task is already holding lock:\n  (\u0026(\u0026sch-\u003ebusylock)-\u003erlock){+.-...}, at: [\u003cffffffff81596595\u003e] dev_queue_xmit+0xd75/0xe00\n\n which lock already depends on the new lock.\n\n the existing dependency chain (in reverse order) is:\n\n -\u003e #1 (\u0026(\u0026sch-\u003ebusylock)-\u003erlock){+.-...}:\n        [\u003cffffffff810a5df0\u003e] lock_acquire+0x90/0x200\n        [\u003cffffffff817499fc\u003e] _raw_spin_lock_irqsave+0x4c/0x60\n        [\u003cffffffff81074872\u003e] __wake_up+0x32/0x70\n        [\u003cffffffff8136d39e\u003e] tty_wakeup+0x3e/0x80\n        [\u003cffffffff81378fb3\u003e] pty_write+0x73/0x80\n        [\u003cffffffff8136cb4c\u003e] tty_put_char+0x3c/0x40\n        [\u003cffffffff813722b2\u003e] process_echoes+0x142/0x330\n        [\u003cffffffff813742ab\u003e] n_tty_receive_buf+0x8fb/0x1230\n        [\u003cffffffff813777b2\u003e] flush_to_ldisc+0x142/0x1c0\n        [\u003cffffffff81062818\u003e] process_one_work+0x198/0x760\n        [\u003cffffffff81063236\u003e] worker_thread+0x186/0x4b0\n        [\u003cffffffff810694d3\u003e] kthread+0x93/0xa0\n        [\u003cffffffff81753e24\u003e] kernel_thread_helper+0x4/0x10\n\n -\u003e #0 (l2tpsock){+.-...}:\n        [\u003cffffffff810a5288\u003e] __lock_acquire+0x1628/0x1b10\n        [\u003cffffffff810a5df0\u003e] lock_acquire+0x90/0x200\n        [\u003cffffffff817498c1\u003e] _raw_spin_lock+0x41/0x50\n        [\u003cffffffffa0208db2\u003e] l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n        [\u003cffffffffa021a802\u003e] l2tp_eth_dev_xmit+0x32/0x60 [l2tp_eth]\n        [\u003cffffffff815952b2\u003e] dev_hard_start_xmit+0x502/0xa70\n        [\u003cffffffff815b63ce\u003e] sch_direct_xmit+0xfe/0x290\n        [\u003cffffffff81595a05\u003e] dev_queue_xmit+0x1e5/0xe00\n        [\u003cffffffff815d9d60\u003e] ip_finish_output+0x3d0/0x890\n        [\u003cffffffff815db019\u003e] ip_output+0x59/0xf0\n        [\u003cffffffff815da36d\u003e] ip_local_out+0x2d/0xa0\n        [\u003cffffffff815da5a3\u003e] ip_queue_xmit+0x1c3/0x680\n        [\u003cffffffff815f4192\u003e] tcp_transmit_skb+0x402/0xa60\n        [\u003cffffffff815f4a94\u003e] tcp_write_xmit+0x1f4/0xa30\n        [\u003cffffffff815f5300\u003e] tcp_push_one+0x30/0x40\n        [\u003cffffffff815e6672\u003e] tcp_sendmsg+0xe82/0x1040\n        [\u003cffffffff81614495\u003e] inet_sendmsg+0x125/0x230\n        [\u003cffffffff81576cdc\u003e] sock_sendmsg+0xdc/0xf0\n        [\u003cffffffff81579ece\u003e] sys_sendto+0xfe/0x130\n        [\u003cffffffff81752c92\u003e] system_call_fastpath+0x16/0x1b\n  Possible unsafe locking scenario:\n\n        CPU0                    CPU1\n        ----                    ----\n   lock(\u0026(\u0026sch-\u003ebusylock)-\u003erlock);\n                                lock(l2tpsock);\n                                lock(\u0026(\u0026sch-\u003ebusylock)-\u003erlock);\n   lock(l2tpsock);\n\n  *** DEADLOCK ***\n\n 5 locks held by netperf/4660:\n  #0:  (sk_lock-AF_INET){+.+.+.}, at: [\u003cffffffff815e581c\u003e] tcp_sendmsg+0x2c/0x1040\n  #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff815da3e0\u003e] ip_queue_xmit+0x0/0x680\n  #2:  (rcu_read_lock_bh){.+....}, at: [\u003cffffffff815d9ac5\u003e] ip_finish_output+0x135/0x890\n  #3:  (rcu_read_lock_bh){.+....}, at: [\u003cffffffff81595820\u003e] dev_queue_xmit+0x0/0xe00\n  #4:  (\u0026(\u0026sch-\u003ebusylock)-\u003erlock){+.-...}, at: [\u003cffffffff81596595\u003e] dev_queue_xmit+0xd75/0xe00\n\n stack backtrace:\n Pid: 4660, comm: netperf Not tainted 3.6.0-rc3+ #788\n Call Trace:\n  [\u003cffffffff8173dbf8\u003e] print_circular_bug+0x1fb/0x20c\n  [\u003cffffffff810a5288\u003e] __lock_acquire+0x1628/0x1b10\n  [\u003cffffffff810a334b\u003e] ? check_usage+0x9b/0x4d0\n  [\u003cffffffff810a3f44\u003e] ? __lock_acquire+0x2e4/0x1b10\n  [\u003cffffffff810a5df0\u003e] lock_acquire+0x90/0x200\n  [\u003cffffffffa0208db2\u003e] ? l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n  [\u003cffffffff817498c1\u003e] _raw_spin_lock+0x41/0x50\n  [\u003cffffffffa0208db2\u003e] ? l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n  [\u003cffffffffa0208db2\u003e] l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n  [\u003cffffffffa021a802\u003e] l2tp_eth_dev_xmit+0x32/0x60 [l2tp_eth]\n  [\u003cffffffff815952b2\u003e] dev_hard_start_xmit+0x502/0xa70\n  [\u003cffffffff81594e0e\u003e] ? dev_hard_start_xmit+0x5e/0xa70\n  [\u003cffffffff81595961\u003e] ? dev_queue_xmit+0x141/0xe00\n  [\u003cffffffff815b63ce\u003e] sch_direct_xmit+0xfe/0x290\n  [\u003cffffffff81595a05\u003e] dev_queue_xmit+0x1e5/0xe00\n  [\u003cffffffff81595820\u003e] ? dev_hard_start_xmit+0xa70/0xa70\n  [\u003cffffffff815d9d60\u003e] ip_finish_output+0x3d0/0x890\n  [\u003cffffffff815d9ac5\u003e] ? ip_finish_output+0x135/0x890\n  [\u003cffffffff815db019\u003e] ip_output+0x59/0xf0\n  [\u003cffffffff815da36d\u003e] ip_local_out+0x2d/0xa0\n  [\u003cffffffff815da5a3\u003e] ip_queue_xmit+0x1c3/0x680\n  [\u003cffffffff815da3e0\u003e] ? ip_local_out+0xa0/0xa0\n  [\u003cffffffff815f4192\u003e] tcp_transmit_skb+0x402/0xa60\n  [\u003cffffffff815fa25e\u003e] ? tcp_md5_do_lookup+0x18e/0x1a0\n  [\u003cffffffff815f4a94\u003e] tcp_write_xmit+0x1f4/0xa30\n  [\u003cffffffff815f5300\u003e] tcp_push_one+0x30/0x40\n  [\u003cffffffff815e6672\u003e] tcp_sendmsg+0xe82/0x1040\n  [\u003cffffffff81614495\u003e] inet_sendmsg+0x125/0x230\n  [\u003cffffffff81614370\u003e] ? inet_create+0x6b0/0x6b0\n  [\u003cffffffff8157e6e2\u003e] ? sock_update_classid+0xc2/0x3b0\n  [\u003cffffffff8157e750\u003e] ? sock_update_classid+0x130/0x3b0\n  [\u003cffffffff81576cdc\u003e] sock_sendmsg+0xdc/0xf0\n  [\u003cffffffff81162579\u003e] ? fget_light+0x3f9/0x4f0\n  [\u003cffffffff81579ece\u003e] sys_sendto+0xfe/0x130\n  [\u003cffffffff810a69ad\u003e] ? trace_hardirqs_on+0xd/0x10\n  [\u003cffffffff8174a0b0\u003e] ? _raw_spin_unlock_irq+0x30/0x50\n  [\u003cffffffff810757e3\u003e] ? finish_task_switch+0x83/0xf0\n  [\u003cffffffff810757a6\u003e] ? finish_task_switch+0x46/0xf0\n  [\u003cffffffff81752cb7\u003e] ? sysret_check+0x1b/0x56\n  [\u003cffffffff81752c92\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f4cccbbd92f2ad0ddbbc498ef7cee2a1c3defe9",
      "tree": "71d1c7b84ce009b287c448a12ed76e17b772f054",
      "parents": [
        "9f35a7342cff0be72e3c038ea972e07662ca1ce8"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Aug 20 22:16:51 2012 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 24 12:46:13 2012 -0400"
      },
      "message": "net: Set device operstate at registration time\n\nThe operstate of a device is initially IF_OPER_UNKNOWN and is updated\nasynchronously by linkwatch after each change of carrier state\nreported by the driver.  The default carrier state of a net device is\non, and this will never be changed on drivers that do not support\ncarrier detection, thus the operstate remains IF_OPER_UNKNOWN.\n\nFor devices that do support carrier detection, the driver must set the\ncarrier state to off initially, then poll the hardware state when the\ndevice is opened.  However, we must not activate linkwatch for a\nunregistered device, and commit b473001 (\u0027net: Do not fire linkwatch\nevents until the device is registered.\u0027) ensured that we don\u0027t.  But\nthis means that the operstate for many devices that support carrier\ndetection remains IF_OPER_UNKNOWN when it should be IF_OPER_DOWN.\n\nThe same issue exists with the dormant state.\n\nThe proper initialisation sequence, avoiding a race with opening of\nthe device, is:\n\n        rtnl_lock();\n        rc \u003d register_netdevice(dev);\n        if (rc)\n                goto out_unlock;\n        netif_carrier_off(dev); /* or netif_dormant_on(dev) */\n        rtnl_unlock();\n\nbut it seems silly that this should have to be repeated in so many\ndrivers.  Further, the operstate seen immediately after opening the\ndevice may still be IF_OPER_UNKNOWN due to the asynchronous nature of\nlinkwatch.\n\nCommit 22604c8 (\u0027net: Fix for initial link state in 2.6.28\u0027) attempted\nto fix this by setting the operstate synchronously, but it was\nreverted as it could lead to deadlock.\n\nThis initialises the operstate synchronously at registration time\nonly.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0115e8e30d6fcdd4b8faa30d3ffd90859a591f51",
      "tree": "725026e2192e57b98366947ab53c73689ca040a8",
      "parents": [
        "bf277b0ccea7d2422b85e232017ce3fddbe9c49c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed Aug 22 17:19:46 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 22 21:50:36 2012 -0700"
      },
      "message": "net: remove delay at device dismantle\n\nI noticed extra one second delay in device dismantle, tracked down to\na call to dst_dev_event() while some call_rcu() are still in RCU queues.\n\nThese call_rcu() were posted by rt_free(struct rtable *rt) calls.\n\nWe then wait a little (but one second) in netdev_wait_allrefs() before\nkicking again NETDEV_UNREGISTER.\n\nAs the call_rcu() are now completed, dst_dev_event() can do the needed\ndevice swap on busy dst.\n\nTo solve this problem, add a new NETDEV_UNREGISTER_FINAL, called\nafter a rcu_barrier(), but outside of RTNL lock.\n\nUse NETDEV_UNREGISTER_FINAL with care !\n\nChange dst_dev_event() handler to react to NETDEV_UNREGISTER_FINAL\n\nAlso remove NETDEV_UNREGISTER_BATCH, as its not used anymore after\nIP cache removal.\n\nWith help from Gao feng\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Mahesh Bandewar \u003cmaheshb@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1304a7343b30fc4f16045412efdbb4179a3d9255",
      "tree": "83d667ac4f62e30f70305ce4cc7e030e3465f92e",
      "parents": [
        "1d76efe1577b4323609b1bcbfafa8b731eda071a",
        "23dcfa61bac244e1200ff9ad19c6e9144dcb6bb5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 22 14:21:38 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 22 14:21:38 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "c0de08d04215031d68fa13af36f347a6cfa252ca",
      "tree": "7352576a55b5ceb586e3f73c9f66be890b8bccca",
      "parents": [
        "9915e67eb1134b4710a4888a3e041c757869e0e2"
      ],
      "author": {
        "name": "Eric Leblond",
        "email": "eric@regit.org",
        "time": "Thu Aug 16 22:02:58 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 20 02:37:29 2012 -0700"
      },
      "message": "af_packet: don\u0027t emit packet on orig fanout group\n\nIf a packet is emitted on one socket in one group of fanout sockets,\nit is transmitted again. It is thus read again on one of the sockets\nof the fanout group. This result in a loop for software which\ngenerate packets when receiving one.\nThis retransmission is not the intended behavior: a fanout group\nmust behave like a single socket. The packet should not be\ntransmitted on a socket if it originates from a socket belonging\nto the same fanout group.\n\nThis patch fixes the issue by changing the transmission check to\ntake fanout group info account.\n\nReported-by: Aleksandr Kotov \u003ca1k@mail.ru\u003e\nSigned-off-by: Eric Leblond \u003ceric@regit.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47be03a28cc6c80e3aa2b3e8ed6d960ff0c5c0af",
      "tree": "ba11046ff60d948cd4db06652e2483537387b3ca",
      "parents": [
        "ddf343f635fe4440cad528e12f96f28bd50aa099"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Aug 10 01:24:37 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 14 14:33:30 2012 -0700"
      },
      "message": "netpoll: use GFP_ATOMIC in slave_enable_netpoll() and __netpoll_setup()\n\nslave_enable_netpoll() and __netpoll_setup() may be called\nwith read_lock() held, so should use GFP_ATOMIC to allocate\nmemory. Eric suggested to pass gfp flags to __netpoll_setup().\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7bc2a5b5bd99b216c3e5fe68c7f45c684ab5745",
      "tree": "67c3bec34828092a6413e76ee638bdfc7e431ea1",
      "parents": [
        "ee89bab14e857678f83a71ee99e575b0fdbb58d4"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu Aug 09 22:14:57 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 14 14:28:24 2012 -0700"
      },
      "message": "net: remove netdev_bonding_change()\n\nI don\u0027t see any benifits to use netdev_bonding_change() than\nusing call_netdevice_notifiers() directly.\n\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee89bab14e857678f83a71ee99e575b0fdbb58d4",
      "tree": "7af6dd9ff8e565dd91fe6324861d432a0cef836d",
      "parents": [
        "0f48917b93414a9c306a834b1b93307383956f44"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu Aug 09 22:14:56 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 14 14:28:23 2012 -0700"
      },
      "message": "net: move and rename netif_notify_peers()\n\nI believe net/core/dev.c is a better place for netif_notify_peers(),\nbecause other net event notify functions also stay in this file.\n\nAnd rename it to netdev_notify_peers().\n\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Ian Campbell \u003cIan.Campbell@citrix.com\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30b678d844af3305cda5953467005cebb5d7b687",
      "tree": "8e57f081d3a8f8dc44630cee223d2b45ec196e5e",
      "parents": [
        "1a9b4993b70fb1884716902774dc9025b457760d"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Jul 30 15:57:00 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 02 00:19:17 2012 -0700"
      },
      "message": "net: Allow driver to limit number of GSO segments per skb\n\nA peer (or local user) may cause TCP to use a nominal MSS of as little\nas 88 (actual MSS of 76 with timestamps).  Given that we have a\nsufficiently prodigious local sender and the peer ACKs quickly enough,\nit is nevertheless possible to grow the window for such a connection\nto the point that we will try to send just under 64K at once.  This\nresults in a single skb that expands to 861 segments.\n\nIn some drivers with TSO support, such an skb will require hundreds of\nDMA descriptors; a substantial fraction of a TX ring or even more than\na full ring.  The TX queue selected for the skb may stall and trigger\nthe TX watchdog repeatedly (since the problem skb will be retried\nafter the TX reset).  This particularly affects sfc, for which the\nissue is designated as CVE-2012-3412.\n\nTherefore:\n1. Add the field net_device::gso_max_segs holding the device-specific\n   limit.\n2. In netif_skb_features(), if the number of segments is too high then\n   mask out GSO features to force fall back to software GSO.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee6ae1a1d58c70fc864bc777a36be56b0880ebff",
      "tree": "e390393a3169b496d3a0db106139770004434b4b",
      "parents": [
        "6f458dfb409272082c9bfa412f77ff2fc21c626f"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jiri@resnulli.us",
        "time": "Fri Jul 20 02:28:46 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 20 11:06:59 2012 -0700"
      },
      "message": "net: honour netif_set_real_num_tx_queues() retval\n\nIn netif_copy_real_num_queues() the return value of\nnetif_set_real_num_tx_queues() should be checked.\n\nSigned-off-by: Jiri Pirko \u003cjiri@resnulli.us\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16917b87a23b429226527f393270047069d665e9",
      "tree": "d233f41b31e29688fab779e6885ede9b83f4867b",
      "parents": [
        "bf5e53e3717ed28be69d0663c65962d1731e7ee4"
      ],
      "author": {
        "name": "Yuval Mintz",
        "email": "yuvalmin@broadcom.com",
        "time": "Sun Jul 01 03:18:50 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 05 03:06:44 2012 -0700"
      },
      "message": "net-next: Add netif_get_num_default_rss_queues\n\nMost multi-queue networking driver consider the number of online cpus when\nconfiguring RSS queues.\nThis patch adds a wrapper to the number of cpus, setting an upper limit on the\nnumber of cpus a driver should consider (by default) when allocating resources\nfor his queues.\n\nSigned-off-by: Yuval Mintz \u003cyuvalmin@broadcom.com\u003e\nSigned-off-by: Eilon Greenstein \u003ceilong@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95603e2293de556de7e82221649bfd7fd98b64a3",
      "tree": "d90e7570b072f62ee4fefa619b93ec771bfd9f95",
      "parents": [
        "de063b7040dcd9fbc9a1847fa44f0af13e19d6de"
      ],
      "author": {
        "name": "Michel Machado",
        "email": "michel@digirati.com.br",
        "time": "Tue Jun 12 10:16:35 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 12 18:51:09 2012 -0700"
      },
      "message": "net-next: add dev_loopback_xmit() to avoid duplicate code\n\nAdd dev_loopback_xmit() in order to deduplicate functions\nip_dev_loopback_xmit() (in net/ipv4/ip_output.c) and\nip6_dev_loopback_xmit() (in net/ipv6/ip6_output.c).\n\nI was about to reinvent the wheel when I noticed that\nip_dev_loopback_xmit() and ip6_dev_loopback_xmit() do exactly what I\nneed and are not IP-only functions, but they were not available to reuse\nelsewhere.\n\nip6_dev_loopback_xmit() does not have line \"skb_dst_force(skb);\", but I\nunderstand that this is harmless, and should be in dev_loopback_xmit().\n\nSigned-off-by: Michel Machado \u003cmichel@digirati.com.br\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCC: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCC: James Morris \u003cjmorris@namei.org\u003e\nCC: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nCC: Eric Dumazet \u003cedumazet@google.com\u003e\nCC: Jiri Pirko \u003cjpirko@redhat.com\u003e\nCC: \"Michał Mirosław\" \u003cmirq-linux@rere.qmqm.pl\u003e\nCC: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9136461ab921fd5066ba6a0de08399e2172f4d71",
      "tree": "0dbbcb9d46f217ce035748b759e42fe519ed4039",
      "parents": [
        "67da25521066b38911701efa133aaad2238b5530"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Jun 11 06:36:13 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 13:11:28 2012 -0700"
      },
      "message": "net: keep name_hlist close to name\n\n__dev_get_by_name() is slow because pm_qos_req has been inserted between\nname[] and name_hlist, adding cache misses.\n\npm_qos_req has nothing to do at the beginning of struct net_device\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0053ea9c34a41865ec89ffbf3d3033f9a503bccc",
      "tree": "61782bc13e30d1e78d401f4d7ccd6ce1d02261cd",
      "parents": [
        "a0f68763e1c7dd57fa2dae3c07bc50651e2eac29"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed May 30 07:43:34 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 30 16:34:27 2012 -0400"
      },
      "message": "netdevice: Update netif_dbg for CONFIG_DYNAMIC_DEBUG\n\nMake netif_dbg use dynamic debugging whenever\nCONFIG_DYNAMIC_DEBUG is enabled.\n\ncommit b558c96ffa53\n(\"dynamic_debug: make dynamic-debug supersede DEBUG ccflag\")\nmissed updating the netif_dbg variant.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4adb9c4ac88d874105ac31161c9c55004a972f87",
      "tree": "f46b587ba9dd2def1cdd89fb3cdc3825a4c5212a",
      "parents": [
        "968d70184d599abc7fe0a89447ef4e183e0135c4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 18 20:49:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 02:51:00 2012 -0400"
      },
      "message": "net: napi_frags_skb() is static\n\nNo need to export napi_frags_skb()\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28e85100ae0fd814db723aeaaa785270bf4d600d",
      "tree": "26c8c5d6046fb157dbb98a7575eab08031f22293",
      "parents": [
        "349f29d841dbae854bd7367be7c250401f974f47"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 18 01:39:43 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 18 01:39:43 2012 -0400"
      },
      "message": "net: Remove netdevice ec_ptr, no longer used.\n\nECONET is gone, thus this can be deleted as well.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "028940342a906db8da014a7603a0deddc2c323dd",
      "tree": "688dbc38a3e218f2493d311b1d70a67668837347",
      "parents": [
        "be3eed2e96340d3c7a4d1ea1d63e7bd6095d1e34",
        "0e93b4b304ae052ba1bc73f6d34a68556fe93429"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 22:17:37 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 22:17:37 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "59b9997baba5242997ddc7bd96b1391f5275a5a4",
      "tree": "eaef6c0eff50403fcf871cdd4b7c4afa605f0541",
      "parents": [
        "380ec964bc19f865af70c0339dff1cb75dc4f8f2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:03:34 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:03:34 2012 -0400"
      },
      "message": "Revert \"net: maintain namespace isolation between vlan and real device\"\n\nThis reverts commit 8a83a00b0735190384a348156837918271034144.\n\nIt causes regressions for S390 devices, because it does an\nunconditional DST drop on SKBs for vlans and the QETH device\nneeds the neighbour entry hung off the DST for certain things\non transmit.\n\nArnd can\u0027t remember exactly why he even needed this change.\n\nConflicts:\n\n\tdrivers/net/macvlan.c\n\tnet/8021q/vlan_dev.c\n\tnet/core/dev.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d7e8883cfcf4851afe74fb380cc62b7fa9cf66ba",
      "tree": "1b513349c4f1c7edf7991de2016b3a2ed1083deb",
      "parents": [
        "8d4057a938481351dc690fbe23e8c72af08d5890"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Apr 30 08:10:34 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 30 21:35:49 2012 -0400"
      },
      "message": "net: make GRO aware of skb-\u003ehead_frag\n\nGRO can check if skb to be merged has its skb-\u003ehead mapped to a page\nfragment, instead of a kmalloc() area.\n\nWe \u0027upgrade\u0027 skb-\u003ehead as a fragment in itself\n\nThis avoids the frag_list fallback, and permits to build true GRO skb\n(one sk_buff and up to 16 fragments), using less memory.\n\nThis reduces number of cache misses when user makes its copy, since a\nsingle sk_buff is fetched.\n\nThis is a followup of patch \"net: allow skb-\u003ehead to be a page fragment\"\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Maciej Żenczykowski \u003cmaze@google.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nCc: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12a94634453c61fd9a11c4702002e3db6d4feb70",
      "tree": "1131fded53fdab8b912cd14d8240def52166d2f2",
      "parents": [
        "77162022ab26a1f99d3af30c03760a76f86e193d"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Sun Apr 15 06:44:02 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 15 13:06:04 2012 -0400"
      },
      "message": "net: addr_list: add exclusive dev_uc_add and dev_mc_add\n\nThis adds a dev_uc_add_excl() and dev_mc_add_excl() calls\nsimilar to the original dev_{uc|mc}_add() except it sets\nthe global bit and returns -EEXIST for duplicat entires.\n\nThis is useful for drivers that support SR-IOV, macvlan\ndevices and any other devices that need to manage the\nunicast and multicast lists.\n\nv2: fix typo UNICAST should be MULTICAST in dev_mc_add_excl()\n\nCC: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77162022ab26a1f99d3af30c03760a76f86e193d",
      "tree": "dabae13dc00b91198c5bed91ebb790942d456081",
      "parents": [
        "136cd14e1ea2bfde66d212d8e18e81552c94e4e3"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Sun Apr 15 06:43:56 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 15 13:06:04 2012 -0400"
      },
      "message": "net: add generic PF_BRIDGE:RTM_ FDB hooks\n\nThis adds two new flags NTF_MASTER and NTF_SELF that can\nnow be used to specify where PF_BRIDGE netlink commands should\nbe sent. NTF_MASTER sends the commands to the \u0027dev-\u003emaster\u0027\ndevice for parsing. Typically this will be the linux net/bridge,\nor open-vswitch devices. Also without any flags set the command\nwill be handled by the master device as well so that current user\nspace tools continue to work as expected.\n\nThe NTF_SELF flag will push the PF_BRIDGE commands to the\ndevice. In the basic example below the commands are then parsed\nand programmed in the embedded bridge.\n\nNote if both NTF_SELF and NTF_MASTER bits are set then the\ncommand will be sent to both \u0027dev-\u003emaster\u0027 and \u0027dev\u0027 this allows\nuser space to easily keep the embedded bridge and software bridge\nin sync.\n\nThere is a slight complication in the case with both flags set\nwhen an error occurs. To resolve this the rtnl handler clears\nthe NTF_ flag in the netlink ack to indicate which sets completed\nsuccessfully. The add/del handlers will abort as soon as any\nerror occurs.\n\nTo support this new net device ops were added to call into\nthe device and the existing bridging code was refactored\nto use these. There should be no required changes in user space\nto support the current bridge behavior.\n\nA basic setup with a SR-IOV enabled NIC looks like this,\n\n          veth0  veth2\n            |      |\n          ------------\n          |  bridge0 |   \u003c---- software bridging\n          ------------\n               /\n               /\n  ethx.y      ethx\n    VF         PF\n     \\         \\          \u003c---- propagate FDB entries to HW\n     \\         \\\n  --------------------\n  |  Embedded Bridge |    \u003c---- hardware offloaded switching\n  --------------------\n\nIn this case the embedded bridge must be managed to allow \u0027veth0\u0027\nto communicate with \u0027ethx.y\u0027 correctly. At present drivers managing\nthe embedded bridge either send frames onto the network which\nthen get dropped by the switch OR the embedded bridge will flood\nthese frames. With this patch we have a mechanism to manage the\nembedded bridge correctly from user space. This example is specific\nto SR-IOV but replacing the VF with another PF or dropping this\ninto the DSA framework generates similar management issues.\n\nExamples session using the \u0027br\u0027[1] tool to add, dump and then\ndelete a mac address with a new \"embedded\" option and enabled\nixgbe driver:\n\n# br fdb add 22:35:19:ac:60:59 dev eth3\n# br fdb\nport    mac addr                flags\nveth0   22:35:19:ac:60:58       static\nveth0   9a:5f:81:f7:f6:ec       local\neth3    00:1b:21:55:23:59       local\neth3    22:35:19:ac:60:59       static\nveth0   22:35:19:ac:60:57       static\n#br fdb add 22:35:19:ac:60:59 embedded dev eth3\n#br fdb\nport    mac addr                flags\nveth0   22:35:19:ac:60:58       static\nveth0   9a:5f:81:f7:f6:ec       local\neth3    00:1b:21:55:23:59       local\neth3    22:35:19:ac:60:59       static\nveth0   22:35:19:ac:60:57       static\neth3    22:35:19:ac:60:59       local embedded\n#br fdb del 22:35:19:ac:60:59 embedded dev eth3\n\nI added a couple lines to \u0027br\u0027 to set the flags correctly is all. It\nis my opinion that the merit of this patch is now embedded and SW\nbridges can both be modeled correctly in user space using very nearly\nthe same message passing.\n\n[1] \u0027br\u0027 tool was published as an RFC here and will be renamed \u0027bridge\u0027\n    http://patchwork.ozlabs.org/patch/117664/\n\nThanks to Jamal Hadi Salim, Stephen Hemminger and Ben Hutchings for\nvaluable feedback, suggestions, and review.\n\nv2: fixed api descriptions and error case with both NTF_SELF and\n    NTF_MASTER set plus updated patch description.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95c961747284a6b83a5e2d81240e214b0fa3464d",
      "tree": "c7be86a00db3605a48a03109fafcbe31039ca2e0",
      "parents": [
        "5e73ea1a31c3612aa6dfe44f864ca5b7b6a4cff9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Apr 15 05:58:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 15 12:44:40 2012 -0400"
      },
      "message": "net: cleanup unsigned to unsigned int\n\nUse of \"unsigned int\" is preferred to bare \"unsigned\" in net tree.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2def16ae6b0c77571200f18ba4be049b03d75579",
      "tree": "8b5bf927cba74c94e2a155b64052df07621917b8",
      "parents": [
        "01627d968c8b5e2810fe8c417b406b968297c236"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 02 22:33:02 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 17:23:23 2012 -0400"
      },
      "message": "net: fix /proc/net/dev regression\n\nCommit f04565ddf52 (dev: use name hash for dev_seq_ops) added a second\nregression, as some devices are missing from /proc/net/dev if many\ndevices are defined.\n\nWhen seq_file buffer is filled, the last -\u003enext/show() method is\ncanceled (pos value is reverted to value prior -\u003enext() call)\n\nProblem is after above commit, we dont restart the lookup at right\nposition in -\u003estart() method.\n\nFix this by removing the internal \u0027pos\u0027 pointer added in commit, since\nwe need to use the \u0027loff_t *pos\u0027 provided by seq_file layer.\n\nThis also reverts commit 5cac98dd0 (net: Fix corruption\nin /proc/*/net/dev_mcast), since its not needed anymore.\n\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Mihai Maruseac \u003cmmaruseac@ixiacom.com\u003e\nTested-by:  Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "250f6715a4112d6686670c5a62ceb9305da94616",
      "tree": "ee1c9b41ed1fed8174efb312421902f19c877e8c",
      "parents": [
        "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
        "313162d0b83836e2f57e51b9b8650fb4b9c396ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "message": "Merge tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/device.h\u003e avoidance patches from Paul Gortmaker:\n \"Nearly every subsystem has some kind of header with a proto like:\n\n\tvoid foo(struct device *dev);\n\n  and yet there is no reason for most of these guys to care about the\n  sub fields within the device struct.  This allows us to significantly\n  reduce the scope of headers including headers.  For this instance, a\n  reduction of about 40% is achieved by replacing the include with the\n  simple fact that the device is some kind of a struct.\n\n  Unlike the much larger module.h cleanup, this one is simply two\n  commits.  One to fix the implicit \u003clinux/device.h\u003e users, and then one\n  to delete the device.h includes from the linux/include/ dir wherever\n  possible.\"\n\n* tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  device.h: audit and cleanup users in main include dir\n  device.h: cleanup users outside of linux/include (C files)\n"
    },
    {
      "commit": "ed2d265d1266736bd294332d7f649003943ae36e",
      "tree": "860e5b7bb72933e4a9abacdc2f2d75a0e6254e32",
      "parents": [
        "f1d38e423a697b7aa06e12d3ca4753bcc1aa3531",
        "6c03438edeb5c359af35f060ea016ca65671c269"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "message": "Merge tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/bug.h\u003e cleanup from Paul Gortmaker:\n \"The changes shown here are to unify linux\u0027s BUG support under the one\n  \u003clinux/bug.h\u003e file.  Due to historical reasons, we have some BUG code\n  in bug.h and some in kernel.h -- i.e.  the support for BUILD_BUG in\n  linux/kernel.h predates the addition of linux/bug.h, but old code in\n  kernel.h wasn\u0027t moved to bug.h at that time.  As a band-aid, kernel.h\n  was including \u003casm/bug.h\u003e to pseudo link them.\n\n  This has caused confusion[1] and general yuck/WTF[2] reactions.  Here\n  is an example that violates the principle of least surprise:\n\n      CC      lib/string.o\n      lib/string.c: In function \u0027strlcat\u0027:\n      lib/string.c:225:2: error: implicit declaration of function \u0027BUILD_BUG_ON\u0027\n      make[2]: *** [lib/string.o] Error 1\n      $\n      $ grep linux/bug.h lib/string.c\n      #include \u003clinux/bug.h\u003e\n      $\n\n  We\u0027ve included \u003clinux/bug.h\u003e for the BUG infrastructure and yet we\n  still get a compile fail! [We\u0027ve not kernel.h for BUILD_BUG_ON.] Ugh -\n  very confusing for someone who is new to kernel development.\n\n  With the above in mind, the goals of this changeset are:\n\n  1) find and fix any include/*.h files that were relying on the\n     implicit presence of BUG code.\n  2) find and fix any C files that were consuming kernel.h and hence\n     relying on implicitly getting some/all BUG code.\n  3) Move the BUG related code living in kernel.h to \u003clinux/bug.h\u003e\n  4) remove the asm/bug.h from kernel.h to finally break the chain.\n\n  During development, the order was more like 3-4, build-test, 1-2.  But\n  to ensure that git history for bisect doesn\u0027t get needless build\n  failures introduced, the commits have been reorderd to fix the problem\n  areas in advance.\n\n\t[1]  https://lkml.org/lkml/2012/1/3/90\n\t[2]  https://lkml.org/lkml/2012/1/17/414\"\n\nFix up conflicts (new radeon file, reiserfs header cleanups) as per Paul\nand linux-next.\n\n* tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  kernel.h: doesn\u0027t explicitly use bug.h, so don\u0027t include it.\n  bug: consolidate BUILD_BUG_ON with other bug code\n  BUG: headers with BUG/BUG_ON etc. need linux/bug.h\n  bug.h: add include of it to various implicit C users\n  lib: fix implicit users of kernel.h for TAINT_WARN\n  spinlock: macroize assert_spin_locked to avoid bug.h dependency\n  x86: relocate get/set debugreg fcns to include/asm/debugreg.\n"
    },
    {
      "commit": "3b59bf081622b6446db77ad06c93fe23677bc533",
      "tree": "3f4bb5a27c90cc86994a1f6d3c53fbf9208003cb",
      "parents": [
        "e45836fafe157df137a837093037f741ad8f4c90",
        "bbdb32cb5b73597386913d052165423b9d736145"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking merge from David Miller:\n \"1) Move ixgbe driver over to purely page based buffering on receive.\n     From Alexander Duyck.\n\n  2) Add receive packet steering support to e1000e, from Bruce Allan.\n\n  3) Convert TCP MD5 support over to RCU, from Eric Dumazet.\n\n  4) Reduce cpu usage in handling out-of-order TCP packets on modern\n     systems, also from Eric Dumazet.\n\n  5) Support the IP{,V6}_UNICAST_IF socket options, making the wine\n     folks happy, from Erich Hoover.\n\n  6) Support VLAN trunking from guests in hyperv driver, from Haiyang\n     Zhang.\n\n  7) Support byte-queue-limtis in r8169, from Igor Maravic.\n\n  8) Outline code intended for IP_RECVTOS in IP_PKTOPTIONS existed but\n     was never properly implemented, Jiri Benc fixed that.\n\n  9) 64-bit statistics support in r8169 and 8139too, from Junchang Wang.\n\n  10) Support kernel side dump filtering by ctmark in netfilter\n      ctnetlink, from Pablo Neira Ayuso.\n\n  11) Support byte-queue-limits in gianfar driver, from Paul Gortmaker.\n\n  12) Add new peek socket options to assist with socket migration, from\n      Pavel Emelyanov.\n\n  13) Add sch_plug packet scheduler whose queue is controlled by\n      userland daemons using explicit freeze and release commands.  From\n      Shriram Rajagopalan.\n\n  14) Fix FCOE checksum offload handling on transmit, from Yi Zou.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1846 commits)\n  Fix pppol2tp getsockname()\n  Remove printk from rds_sendmsg\n  ipv6: fix incorrent ipv6 ipsec packet fragment\n  cpsw: Hook up default ndo_change_mtu.\n  net: qmi_wwan: fix build error due to cdc-wdm dependecy\n  netdev: driver: ethernet: Add TI CPSW driver\n  netdev: driver: ethernet: add cpsw address lookup engine support\n  phy: add am79c874 PHY support\n  mlx4_core: fix race on comm channel\n  bonding: send igmp report for its master\n  fs_enet: Add MPC5125 FEC support and PHY interface selection\n  net: bpf_jit: fix BPF_S_LDX_B_MSH compilation\n  net: update the usage of CHECKSUM_UNNECESSARY\n  fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx\n  net: do not do gso for CHECKSUM_UNNECESSARY in netif_needs_gso\n  ixgbe: Fix issues with SR-IOV loopback when flow control is disabled\n  net/hyperv: Fix the code handling tx busy\n  ixgbe: fix namespace issues when FCoE/DCB is not enabled\n  rtlwifi: Remove unused ETH_ADDR_LEN defines\n  igbvf: Use ETH_ALEN\n  ...\n\nFix up fairly trivial conflicts in drivers/isdn/gigaset/interface.c and\ndrivers/net/usb/{Kconfig,qmi_wwan.c} as per David.\n"
    },
    {
      "commit": "4a52246302f01596f0edf7b4a3e6425e23479192",
      "tree": "f384d86722d3ccfc875e3e5e8d8726e993a922ee",
      "parents": [
        "9f9d2760da8c7f94fae119fac3e13d5a1702f8f0",
        "adc80ae60eae24a43a357bf5b30fb496f34aa605"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:16:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:16:20 2012 -0700"
      },
      "message": "Merge tag \u0027driver-core-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core patches for 3.4-rc1 from Greg KH:\n \"Here\u0027s the big driver core merge for 3.4-rc1.\n\n  Lots of various things here, sysfs fixes/tweaks (with the nlink\n  breakage reverted), dynamic debugging updates, w1 drivers, hyperv\n  driver updates, and a variety of other bits and pieces, full\n  information in the shortlog.\"\n\n* tag \u0027driver-core-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (78 commits)\n  Tools: hv: Support enumeration from all the pools\n  Tools: hv: Fully support the new KVP verbs in the user level daemon\n  Drivers: hv: Support the newly introduced KVP messages in the driver\n  Drivers: hv: Add new message types to enhance KVP\n  regulator: Support driver probe deferral\n  Revert \"sysfs: Kill nlink counting.\"\n  uevent: send events in correct order according to seqnum (v3)\n  driver core: minor comment formatting cleanups\n  driver core: move the deferred probe pointer into the private area\n  drivercore: Add driver probe deferral mechanism\n  DS2781 Maxim Stand-Alone Fuel Gauge battery and w1 slave drivers\n  w1_bq27000: Only one thread can access the bq27000 at a time.\n  w1_bq27000 - remove w1_bq27000_write\n  w1_bq27000: remove unnecessary NULL test.\n  sysfs: Fix memory leak in sysfs_sd_setsecdata().\n  intel_idle: Revert change of auto_demotion_disable_flags for Nehalem\n  w1: Fix w1_bq27000\n  driver-core: documentation: fix up Greg\u0027s email address\n  powernow-k6: Really enable auto-loading\n  powernow-k7: Fix CPU family number\n  ...\n"
    }
  ],
  "next": "cdbee74ce74cd66de42a6f6d0edfa74fa9a66f2a"
}
