)]}'
{
  "log": [
    {
      "commit": "f16d3d57486cd079b29ae7a6c3b31c90e69c9c44",
      "tree": "73e03ec33a20fef68f43e24196847f43e03ca264",
      "parents": [
        "556ae19110f2de5ace4733e0c19e5fa01fad08b3"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Mon May 24 07:02:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 24 18:42:12 2010 -0700"
      },
      "message": "macvlan: do proper cleanup in macvlan_common_newlink() V2\n\nFixes possible memory leak.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d6c9ffcca7808f42ba6b953da0ba60e19a9cbbd",
      "tree": "c2406d2059ae2a554a26ee0d67c4aa45d02e2635",
      "parents": [
        "a465419b1febb603821f924805529cff89cafeed"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 10 04:51:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 16 00:42:15 2010 -0700"
      },
      "message": "net: congestion notifications are not dropped packets\n\nvlan/macvlan start_xmit() can inform caller of congestion with\nNET_XMIT_CN return value. This doesnt mean packet was dropped.\nIncrement normal stat counters instead of tx_dropped.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a14462f1bd4d3962994f518459102000438665aa",
      "tree": "309eda1cd2698a5224713e43173edbd640f4487f",
      "parents": [
        "10fc51b9953112ade61e33ff2f6f005f005a2361"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu May 06 01:33:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 15 23:48:02 2010 -0700"
      },
      "message": "net: adjust handle_macvlan to pass port struct to hook\n\nNow there\u0027s null check here and also again in the hook. Looking at bridge bits\nwhich are simmilar, port structure is rcu_dereferenced right away in\nhandle_bridge and passed to hook. Looks nicer.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a748ee2426817a95b1f03012d8f339c45c722ae1",
      "tree": "37cb9f8836f05bd49b86eb52ddeff3e98185cc58",
      "parents": [
        "9fc4178b149ae8b0a2fbf83f2f4df3cf8789177b"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:11 2010 -0700"
      },
      "message": "net: move address list functions to a separate file\n\n+little renaming of unicast functions to be smooth with multicast ones\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c01fe14a87332cc88266fbd6e598319322eb96f",
      "tree": "e80491a8120724db96f7f6c6d2e2334d33383e6c",
      "parents": [
        "3ca5b4042ecae5e73c59de62e4ac0db31c10e0f8"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Mar 10 10:30:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 18 20:00:02 2010 -0700"
      },
      "message": "net: forbid underlaying devices to change its type\n\nIt\u0027s not desired for underlaying devices to change type. At the time,\nthere is for example possible to have bond with changed type from\nEthernet to Infiniband as a port of a bridge. This patch fixes this.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc0663d6b5e6d8e9b57f872a644c0aafd82361b7",
      "tree": "133f8fb33482f58cd9adcb7747cd51a81856436d",
      "parents": [
        "8a83a00b0735190384a348156837918271034144"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Jan 30 12:23:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 03 20:20:33 2010 -0800"
      },
      "message": "macvlan: allow multiple driver backends\n\nThis makes it possible to hook into the macvlan driver\nfrom another kernel module. In particular, the goal is\nto extend it with the macvtap backend that provides\na tun/tap compatible interface directly on the macvlan\ndevice.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a83a00b0735190384a348156837918271034144",
      "tree": "f69d903405e2424c196d8648bb6cb18443359373",
      "parents": [
        "6884b348ed759184032306c9435a727741a72298"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Jan 30 12:23:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 03 20:20:32 2010 -0800"
      },
      "message": "net: maintain namespace isolation between vlan and real device\n\nIn the vlan and macvlan drivers, the start_xmit function forwards\ndata to the dev_queue_xmit function for another device, which may\npotentially belong to a different namespace.\n\nTo make sure that classification stays within a single namespace,\nthis resets the potentially critical fields.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6eb3a8553345ba2b4efd5390709e158289b9ece4",
      "tree": "a3ce439775e2365fbb9841381a7885461a6324f5",
      "parents": [
        "d5c1da56afb8a6b232393fb3fdef4909389d05fe"
      ],
      "author": {
        "name": "Patrick Mullaney",
        "email": "pmullaney@novell.com",
        "time": "Sat Jan 16 01:05:38 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 16 01:05:38 2010 -0800"
      },
      "message": "macvlan: add GRO bit to features mask\n\nAllow macvlan devices to support GRO.\n\nSigned-off-by: Patrick Mullaney \u003cpmullaney@novell.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc4a7489663250360cd40d5adf06a08d1c5d54df",
      "tree": "ce8fed0a2dfc175b03834bb94717f5f2970c9146",
      "parents": [
        "012093f6d5d89e6ed6e89c55c383f84b1cff7a78"
      ],
      "author": {
        "name": "Patrick Mullaney",
        "email": "pmullaney@novell.com",
        "time": "Thu Dec 03 15:59:22 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 03 15:59:22 2009 -0800"
      },
      "message": "netdevice: provide common routine for macvlan and vlan operstate management\n\nProvide common routine for the transition of operational state for a leaf\ndevice during a root device transition.\n\nSigned-off-by: Patrick Mullaney \u003cpmullaney@novell.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b963e5d0e01461099a40117b05480f24b63381f",
      "tree": "4756d554e37bf4ab7202f2c564cbe629af98b576",
      "parents": [
        "3b8626ba01a8a745a3fdf22dd347edd708b0af13",
        "5fdd4baef6195a1f2960e901c8877e2105f832ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:57:15 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:57:15 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/ieee802154/fakehard.c\n\tdrivers/net/e1000e/ich8lan.c\n\tdrivers/net/e1000e/phy.c\n\tdrivers/net/netxen/netxen_nic_init.c\n\tdrivers/net/wireless/ath/ath9k/main.c\n"
    },
    {
      "commit": "27c0b1a850cdea6298f573d835782f3337be913c",
      "tree": "447d5db320dfa2d558a73f841c76b04b975e6ee0",
      "parents": [
        "618e1b7482f7a8a4c6c6e8ccbe140e4c331df4e9"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Nov 26 06:07:11 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 26 15:53:10 2009 -0800"
      },
      "message": "macvlan: export macvlan mode through netlink\n\nIn order to support all three modes of macvlan at\nruntime, extend the existing netlink protocol\nto allow choosing the mode per macvlan slave\ninterface.\n\nThis depends on a matching patch to iproute2\nin order to become accessible in user land.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "618e1b7482f7a8a4c6c6e8ccbe140e4c331df4e9",
      "tree": "2a7c40c7049f803593735ceccdc7d2d8948e00cb",
      "parents": [
        "a1e514c5d0397b5581721aad9b303f7df83b103d"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Nov 26 06:07:10 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 26 15:53:07 2009 -0800"
      },
      "message": "macvlan: implement bridge, VEPA and private mode\n\nThis allows each macvlan slave device to be in one\nof three modes, depending on the use case:\n\nMACVLAN_PRIVATE:\n  The device never communicates with any other device\n  on the same upper_dev. This even includes frames\n  coming back from a reflective relay, where supported\n  by the adjacent bridge.\n\nMACVLAN_VEPA:\n  The new Virtual Ethernet Port Aggregator (VEPA) mode,\n  we assume that the adjacent bridge returns all frames\n  where both source and destination are local to the\n  macvlan port, i.e. the bridge is set up as a reflective\n  relay.\n  Broadcast frames coming in from the upper_dev get\n  flooded to all macvlan interfaces in VEPA mode.\n  We never deliver any frames locally.\n\nMACVLAN_BRIDGE:\n  We provide the behavior of a simple bridge between\n  different macvlan interfaces on the same port. Frames\n  from one interface to another one get delivered directly\n  and are not sent out externally. Broadcast frames get\n  flooded to all other bridge ports and to the external\n  interface, but when they come back from a reflective\n  relay, we don\u0027t deliver them again.\n  Since we know all the MAC addresses, the macvlan bridge\n  mode does not require learning or STP like the bridge\n  module does.\n\nBased on an earlier patch \"macvlan: Reflect macvlan packets\nmeant for other macvlan devices\" by Eric Biederman.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1e514c5d0397b5581721aad9b303f7df83b103d",
      "tree": "8a4da00850ff4e153aead21baab749f8d5994497",
      "parents": [
        "445409602c09219767c06497c0dc2285eac244ed"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Nov 26 06:07:09 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 26 15:53:02 2009 -0800"
      },
      "message": "macvlan: cleanup rx statistics\n\nWe have very similar code for rx statistics in\ntwo places in the macvlan driver, with a third\none being added in the next patch.\n\nConsolidate them into one function to improve\noverall readability of the driver.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8c2acc53fd7987493f11640e266cf7130591e764",
      "tree": "0e1fdc4e1689edc4b279cce17918003be73fc42b",
      "parents": [
        "b5b5150977cdfb7173f4468ccd30f9b4a981b902"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Nov 23 14:18:53 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 23 14:18:53 2009 -0800"
      },
      "message": "macvlan: fix gso_max_size setting\n\ngso_max_size must be set based on the value of the underlying device to\nsupport devices not using the full 64k.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fccaf71011b171883efee5bae321eac4760584d1",
      "tree": "a44bb3d88d778891b29049700bd9611d255f8045",
      "parents": [
        "9793241fe92f7d9303fb221e43fc598eb065f267"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 17 08:53:49 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 17 23:51:57 2009 -0800"
      },
      "message": "macvlan: Precise RX stats accounting\n\nWith multi queue devices, its possible that several cpus call\nmacvlan RX routines simultaneously for the same macvlan device.\n\nWe update RX stats counter without any locking, so we can\nget slightly wrong counters.\n\nOne possible fix is to use percpu counters, to get precise\naccounting and also get guarantee of no cache line ping pongs\nbetween cpus.\n\nNote: this adds 16 bytes (32 bytes on 64bit arches) of percpu\ndata per macvlan device.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cbbef5e183079455763fc470ccf69008f92ab4b6",
      "tree": "04063bfe9498e622623ed3e46155bcbd9b18c9c0",
      "parents": [
        "572a9d7b6fc7f20f573664063324c086be310c42"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Nov 10 06:14:24 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 14:07:33 2009 -0800"
      },
      "message": "vlan/macvlan: propagate transmission state to upper layers\n\nBoth vlan and macvlan devices usually don\u0027t use a qdisc and immediately\nqueue packets to the underlying device. Propagate transmission state of\nthe underlying device to the upper layers so they can react on congestion\nand/or inform the sending process.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81adee47dfb608df3ad0b91d230fb3cef75f0060",
      "tree": "e9d7a41872f84c1395e21915e5f92c05ab872e69",
      "parents": [
        "f7a3a1d8affe563846fc17f0e7c0cc1500190c57"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Sun Nov 08 00:53:51 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 08 00:53:51 2009 -0800"
      },
      "message": "net: Support specifying the network namespace upon device creation.\n\nThere is no good reason to not support userspace specifying the\nnetwork namespace during device creation, and it makes it easier\nto create a network device and pass it to a child network namespace\nwith a well known name.\n\nWe have to be careful to ensure that the target network namespace\nfor the new device exists through the life of the call.  To keep\nthat logic clear I have factored out the network namespace grabbing\nlogic into rtnl_link_get_net.\n\nIn addtion we need to continue to pass the source network namespace\nto the rtnl_link_ops.newlink method so that we can find the base\ndevice source network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "23289a37e2b127dfc4de1313fba15bb4c9f0cd5b",
      "tree": "209edb2cb43dedb97477e1297873ada4759a1066",
      "parents": [
        "9b5e383c11b08784eb0087617f880077982ef769"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Oct 27 07:06:36 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 28 02:22:07 2009 -0700"
      },
      "message": "net: add a list_head parameter to dellink() method\n\nAdding a list_head parameter to rtnl_link_ops-\u003edellink() methods\nallow us to queue devices on a list, in order to dismantle\nthem all at once.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c11455321f37da6fe6cc36353149f9ac9183334",
      "tree": "8033ca6f3cc54780074c7d2a734ee3c62fec3ca3",
      "parents": [
        "0fa0ee053aaa53939306376719450cfe56e33e3b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 00:11:45 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 03 20:02:13 2009 -0700"
      },
      "message": "macvlan: add multiqueue capability\n\nmacvlan devices are currently not multi-queue capable.\n\nWe can do that defining rtnl_link_ops method,\nget_tx_queues(), called from rtnl_create_link()\n\nThis new method gets num_tx_queues/real_num_tx_queues\nfrom lower device.\n\nmacvlan_get_tx_queues() is a copy of vlan_get_tx_queues().\n\nBecause macvlan_start_xmit() has to update netdev_queue\nstats only (and not dev-\u003estats), I chose to change\ntx_errors/tx_aborted_errors accounting to tx_dropped,\nsince netdev_queue structure doesnt define tx_errors /\ntx_aborted_errors.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac06713d55d450cbc9ef871b1b238409238f0fe0",
      "tree": "f344bd1ae50b520a148af928c43564fc40e13098",
      "parents": [
        "c3c7432741211bc9f6b072958653647b9d5cdd5d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Sep 01 05:46:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 17:40:25 2009 -0700"
      },
      "message": "macvlan: Use compare_ether_addr_64bits()\n\nTo speedup ether addresses compares, we can use compare_ether_addr_64bits()\n(all operands are guaranteed to be at least 8 bytes long)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "424efe9caf6047ffbcd6b383ff4d2347254aabf1",
      "tree": "d0ed516baa5b452ed8bc3a88fbd061f6e415bfb9",
      "parents": [
        "6518bbb803fe02b15a3211c8db2afdff0ac4f808"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 31 19:50:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 01:13:40 2009 -0700"
      },
      "message": "netdev: convert pseudo drivers to netdev_tx_t\n\nThese are all drivers that don\u0027t touch real hardware.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef5c89967d50042b29937fb724e057c1aa3c5207",
      "tree": "572d5fc5a712ae0ae81f14151d8ff858bc05d8a0",
      "parents": [
        "720017623ab294b66c8a95d7bc5ccf75a581ebe4"
      ],
      "author": {
        "name": "sg.tweak@gmail.com",
        "email": "sg.tweak@gmail.com",
        "time": "Wed Jun 10 09:55:02 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 11 02:32:39 2009 -0700"
      },
      "message": "drivers/net/macvlan.c: fix cloning of tagged VLAN interfaces\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d13348\n\nakpm: the reporter disappeared, so I typed it in again.\n\nIt is not possible to make clone of tagged VLAN interface to be used as\nmac-based vlan interfave.\n\nHow reproducible:\nUse any 802.1q tagged vlan interface, e.g. eth2.700 and clone it:\n\n  ip link add link eth2.700 address 00:04:75:cb:38:09 macvlan0 type macvlan\n  ip link set dev macvlan0 up\n  ip addr add 10.195.1.1/24 dev macvlan0\n\nSo far, so good. Now try to ping anything via macvlan0:\n\n  ping 10.195.1.2\n\nActual results:\nFor every attempted packet tx kernel writes to console:\n\n------------[ cut here ]------------\nWARNING: at net/8021q/vlan_dev.c:254 vlan_dev_hard_header+0x36/0x126 [8021q]()\nHardware name: M22ES\nModules linked in: arptable_filter arp_tables bridge veth macvlan arc4 ecb\nppp_mppe ppp_async crc_ccitt ppp_generic slhc autofs4 sunrpc 8021q garp stp\nipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_tcpudp\nx_tables dm_mirror dm_region_hash dm_log dm_multipath dm_mod sbs sbshc lp\nfloppy snd_intel8x0 joydev snd_seq_dummy snd_intel8x0m snd_ac97_codec\nide_cd_mod ac97_bus snd_seq_oss cdrom snd_seq_midi_event serio_raw snd_seq\nsnd_seq_device snd_pcm_oss snd_mixer_oss parport_pc snd_pcm parport battery\n8139cp snd_timer i2c_sis96x ac button snd rtc_cmos rtc_core 8139too soundcore\nrtc_lib mii i2c_core pcspkr snd_page_alloc pata_sis libata sd_mod scsi_mod ext3\njbd ehci_hcd ohci_hcd uhci_hcd [last unloaded: ip_tables]\nPid: 0, comm: swapper Tainted: G        W  2.6.29.3 #1\nCall Trace:\n [\u003cc0425f48\u003e] warn_slowpath+0x60/0x9f\n [\u003cc0425f6f\u003e] warn_slowpath+0x87/0x9f\n [\u003cdffb850d\u003e] vlan_dev_hard_header+0x0/0x126 [8021q]\n [\u003cdffb8543\u003e] vlan_dev_hard_header+0x36/0x126 [8021q]\n [\u003cdffb850d\u003e] vlan_dev_hard_header+0x0/0x126 [8021q]\n [\u003cdf83155d\u003e] macvlan_hard_header+0x3c/0x47 [macvlan]\n [\u003cdf831521\u003e] macvlan_hard_header+0x0/0x47 [macvlan]\n [\u003cc062bf3f\u003e] arp_create+0xef/0x1ff\n [\u003cc062c08c\u003e] arp_send+0x3d/0x54\n [\u003cc062c916\u003e] arp_solicit+0x16c/0x177\n [\u003cc05fadd2\u003e] neigh_timer_handler+0x227/0x269\n [\u003cc05fabab\u003e] neigh_timer_handler+0x0/0x269\n [\u003cc042ce4d\u003e] run_timer_softirq+0xf0/0x141\n [\u003cc0429e5a\u003e] __do_softirq+0x76/0xf8\n [\u003cc0429de4\u003e] __do_softirq+0x0/0xf8\n \u003cIRQ\u003e  [\u003cc044fb67\u003e] handle_level_irq+0x0/0xad\n [\u003cc0429db7\u003e] irq_exit+0x35/0x62\n [\u003cc04046bb\u003e] do_IRQ+0xdf/0xf4\n [\u003cc04035a7\u003e] common_interrupt+0x27/0x2c\n [\u003cc04079c5\u003e] default_idle+0x2a/0x3d\n [\u003cc0401bb6\u003e] cpu_idle+0x57/0x70\n\nMacvlan driver always uses standard ethernet header length for all types\nof interface to which it is linked.  This patch fixes this problem.\n\nReported-by: \u003csg.tweak@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccffad25b5136958d4769ed6de5e87992dd9c65c",
      "tree": "cd5f36fe67f4deeae23d76436f7a032a201cba44",
      "parents": [
        "ae63e808f508c38fe65e23a1480c85d5bd00ecbd"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Fri May 22 23:22:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 29 22:12:32 2009 -0700"
      },
      "message": "net: convert unicast addr list\n\nThis patch converts unicast address list to standard list_head using\npreviously introduced struct netdev_hw_addr. It also relaxes the\nlocking. Original spinlock (still used for multicast addresses) is not\nneeded and is no longer used for a protection of this list. All\nreading and writing takes place under rtnl (with no changes).\n\nI also removed a possibility to specify the length of the address\nwhile adding or deleting unicast address. It\u0027s always dev-\u003eaddr_len.\n\nThe convertion touched especially e1000 and ixgbe codes when the\nchange is not so trivial.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\n\n drivers/net/bnx2.c               |   13 +--\n drivers/net/e1000/e1000_main.c   |   24 +++--\n drivers/net/ixgbe/ixgbe_common.c |   14 ++--\n drivers/net/ixgbe/ixgbe_common.h |    4 +-\n drivers/net/ixgbe/ixgbe_main.c   |    6 +-\n drivers/net/ixgbe/ixgbe_type.h   |    4 +-\n drivers/net/macvlan.c            |   11 +-\n drivers/net/mv643xx_eth.c        |   11 +-\n drivers/net/niu.c                |    7 +-\n drivers/net/virtio_net.c         |    7 +-\n drivers/s390/net/qeth_l2_main.c  |    6 +-\n drivers/scsi/fcoe/fcoe.c         |   16 ++--\n include/linux/netdevice.h        |   18 ++--\n net/8021q/vlan.c                 |    4 +-\n net/8021q/vlan_dev.c             |   10 +-\n net/core/dev.c                   |  195 +++++++++++++++++++++++++++-----------\n net/dsa/slave.c                  |   10 +-\n net/packet/af_packet.c           |    4 +-\n 18 files changed, 227 insertions(+), 137 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93f154b594fe47e4a7e5358b309add449a046cd3",
      "tree": "479d9f2db25922a2312547c97e73d5a11b68bb1c",
      "parents": [
        "496a60cdcd5d0d884dddf6c3b4ea912923a70f13"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon May 18 22:19:19 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 18 22:19:19 2009 -0700"
      },
      "message": "net: release dst entry in dev_hard_start_xmit()\n\nOne point of contention in high network loads is the dst_release() performed\nwhen a transmited skb is freed. This is because NIC tx completion calls\ndev_kree_skb() long after original call to dev_queue_xmit(skb).\n\nCPU cache is cold and the atomic op in dst_release() stalls. On SMP, this is\nquite visible if one CPU is 100% handling softirqs for a network device,\nsince dst_clone() is done by other cpus, involving cache line ping pongs.\n\nIt seems right place to release dst is in dev_hard_start_xmit(), for most\ndevices but ones that are virtual, and some exceptions.\n\nDavid Miller suggested to define a new device flag, set in alloc_netdev_mq()\n(so that most devices set it at init time), and carefuly unset in devices\nwhich dont want a NULL skb-\u003edst in their ndo_start_xmit().\n\nList of devices that must clear this flag is :\n\n- loopback device, because it calls netif_rx() and quoting Patrick :\n    \"ip_route_input() doesn\u0027t accept loopback addresses, so loopback packets\n     already need to have a dst_entry attached.\"\n- appletalk/ipddp.c : needs skb-\u003edst in its xmit function\n\n- And all devices that call again dev_queue_xmit() from their xmit function\n(as some classifiers need skb-\u003edst) : bonding, vlan, macvlan, eql, ifb, hdlc_fr\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1b67dd45a6b629eb41553856805aaa1614fbb83",
      "tree": "23d2b8dc59223b649f466564dac338c899595a7c",
      "parents": [
        "4510d7cb8b4e7d389652b8a4f89fad469a5ecc92"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 20 04:49:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 21 02:00:51 2009 -0700"
      },
      "message": "net: factor out ethtool invocation of vlan/macvlan drivers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7816a0a862d851d0b05710e7d94bfe390f3180e2",
      "tree": "0b4f9099df21b1f7295637e8c28aa72721150b7d",
      "parents": [
        "75a241f959a65ec9bde237d1af1a34ef794f0c9c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Apr 17 15:59:23 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 17 15:59:23 2009 -0700"
      },
      "message": "vlan/macvlan: fix NULL pointer dereferences in ethtool handlers\n\nCheck whether the underlying device provides a set of ethtool ops before\nchecking for individual handlers to avoid NULL pointer dereferences.\n\nReported-by: Art van Breemen \u003card@telegraafnet.nl\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f9ac30f080d23ef0a2d4a1b7c6806c9a21c0f324",
      "tree": "d10817f083028f8be53d48693f7cf3fadd24a3e0",
      "parents": [
        "b0832a2961022a076c812384435b5f0290b3fc91"
      ],
      "author": {
        "name": "Eric Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Fri Mar 13 13:16:13 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 13 13:16:13 2009 -0700"
      },
      "message": "macvlan: Deterministic ingress packet delivery\n\nChanging the mac address when a macvlan device is up will leave the\ndevice on the wrong hash chain making it impossible to receive\npackets.\n\nThere is no checking of the mac address set on the macvlan.  Allowing\na misconfiguration to grab packets from the the underlying device or\nanother macvlan.\n\nTo resolve these problems I update the hash table of macvlans when the\nmac address of a macvlan changes, and when updating the hash table\nI verify that the new mac address is usable.\n\nThe result is well defined and predictable if not perfect handling of\nmac vlan mac addresses.\n\nTo keep the code clear I have created a set of hash table maintenance\nin macvlan so I am not open coding the hash function and the logic\nneeded to update the hash table all over the place.\n\nSigned-off-by: Eric Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0832a2961022a076c812384435b5f0290b3fc91",
      "tree": "ca4d0a09e9aabc00f1960a8fb4f2ebd82f49ba8f",
      "parents": [
        "f7efb6ccc2113911e4e064f78bcd0343c4673038"
      ],
      "author": {
        "name": "Eric Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Fri Mar 13 13:15:37 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 13 13:15:37 2009 -0700"
      },
      "message": "macvlan: Support creating macvlans from macvlans\n\nWhen running in a network namespace whose only link to\nthe outside world is a macvlan device, not being\nable to create another macvlan is a real pain.\n\nSo modify macvlan creation to allow automatically forward\na creation of a macvlan on a macvlan to become a creation\nof a macvlan on the underlying network device.\n\nSigned-off-by: Eric Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa2ba5f1082dc705745899584aac8416d710c056",
      "tree": "bde0bf4aff036c6bac19a0212194ae1092afb3c9",
      "parents": [
        "68024541e2e5a8f35e281daaa5068a29e2a538a5",
        "f6f7b52e2f6149d2ee365717afff315b05720162"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 19:50:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 19:50:27 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tdrivers/net/smc91x.c\n"
    },
    {
      "commit": "efbbced361f3ff4ff9e85310ccff894185c4d904",
      "tree": "75d01067543302efebf5c254c3c4887da26138c3",
      "parents": [
        "7e5ab54296a41f590c9cbc976e1c86272f3a7e00"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 26 15:30:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 26 15:30:48 2008 -0800"
      },
      "message": "macvlan: don\u0027t broadcast PAUSE frames to macvlan devices\n\nPAUSE frames are only relevant for the real device, broadcasting them\nto all macvlan devices can cause a significant load increase.\n\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nTested-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008298231abbeb91bc7be9e8b078607b816d1a4a",
      "tree": "8cb0c17720086ef97c614b96241f06aa63ce8511",
      "parents": [
        "6ab33d51713d6d60c7677c0d020910a8cb37e513"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "message": "netdev: add more functions to netdevice ops\n\nThis patch moves neigh_setup and hard_start_xmit into the network device ops\nstructure. For bisection, fix all the previously converted drivers as well.\nBonding driver took the biggest hit on this.\n\nAdded a prefetch of the hard_start_xmit in the fast path to try and reduce\nany impact this would have.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "54a30c975b6b27c0c9268461b647576b146d39bb",
      "tree": "d1b6264dec1e8ab3e9ad37557d3c57a6a81f946b",
      "parents": [
        "4456e7bdf74c9f27e2312a6f197b2da467541433"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:51:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 22:42:40 2008 -0800"
      },
      "message": "macvlan: convert to net_device_ops\n\nConvert to net_device_ops function table.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "babcda74e9d96bb58fd9c6c5112dbdbff169e695",
      "tree": "fcbe5e70f1fff01ad49504171e964c387a5ad7f8",
      "parents": [
        "ab2910921064b657610a3b501358a305e13087ea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 21:11:17 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 21:11:17 2008 -0800"
      },
      "message": "drivers/net: Kill now superfluous -\u003elast_rx stores.\n\nThe generic packet receive code takes care of setting\nnetdev-\u003elast_rx when necessary, for the sake of the\nbonding ARP monitor.\n\nDrivers need not do it any more.\n\nSome cases had to be skipped over because the drivers\nwere making use of the -\u003elast_rx value themselves.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9edb8bb68b5ea63061ba833831b00c229ac9fbd2",
      "tree": "393425309ce96e2a4dd7b4cdb11b4a4ba651028a",
      "parents": [
        "6b9a1066f8d4c57c1b778affd91fc38e1121b6f8"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Oct 29 15:31:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 15:31:53 2008 -0700"
      },
      "message": "macvlan: add support for ethtool get settings\n\nIf macvlan\u0027s are used, it is useful to propgate speed and other settings\nfrom underlying device up for application usage.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf508b1211dbe576778ff445ea1b4b0bcfa5c4ea",
      "tree": "4774838c2db17db71662a625fea25def8823341a",
      "parents": [
        "d29f749e252bcdbfe7a75a58f0ee92da16f127c0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:16:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:16:42 2008 -0700"
      },
      "message": "netdev: Handle -\u003eaddr_list_lock just like -\u003e_xmit_lock for lockdep.\n\nThe new address list lock needs to handle the same device layering\nissues that the _xmit_lock one does.\n\nThis integrates work done by Patrick McHardy.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49997d75152b3d23c53b0fa730599f2f74c92c65",
      "tree": "46e93126170d02cfec9505172e545732c1b69656",
      "parents": [
        "a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tDocumentation/powerpc/booting-without-of.txt\n\tdrivers/atm/Makefile\n\tdrivers/net/fs_enet/fs_enet-main.c\n\tdrivers/pci/pci-acpi.c\n\tnet/8021q/vlan.c\n\tnet/iucv/iucv.c\n"
    },
    {
      "commit": "e8a0464cc950972824e2e128028ae3db666ec1ed",
      "tree": "5022b95396c0f3b313531bc39b19543c03551b9a",
      "parents": [
        "070825b3840a743e21ebcc44f8279708a4fed977"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 00:34:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 17 19:21:00 2008 -0700"
      },
      "message": "netdev: Allocate multiple queues for TX.\n\nalloc_netdev_mq() now allocates an array of netdev_queue\nstructures for TX, based upon the queue_count argument.\n\nFurthermore, all accesses to the TX queues are now vectored\nthrough the netdev_get_tx_queue() and netdev_for_each_tx_queue()\ninterfaces.  This makes it easy to grep the tree for all\nthings that want to get to a TX queue of a net device.\n\nProblem spots which are not really multiqueue aware yet, and\nonly work with one queue, can easily be spotted by grepping\nfor all netdev_get_tx_queue() calls that pass in a zero index.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b89fb7da2f9a69dd34ff10d45f66baa40ff8c0e5",
      "tree": "420f1810c6d94fed581607078c75e895125f99ef",
      "parents": [
        "7dc00c82cbb0119cf4663f65bbaa2cc55f961db2"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Jul 14 20:57:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:57:07 2008 -0700"
      },
      "message": "macvlan: Check return of dev_set_allmulti\n\nallmulti might overflow.\nCommit: \"netdevice: Fix promiscuity and allmulti overflow\" in net-next makes\ndev_set_promiscuity/allmulti return error number if overflow happened.\n\nHere, we check the positive increment for allmulti to get error return.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c773e847ea8f6812804e40f52399c6921a00eab1",
      "tree": "952e0e262cc0b0f2136bc2a62938ae1d186f896a",
      "parents": [
        "eb6aafe3f843cb0e939546c03540a3b4911b6964"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:13:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 08 23:13:53 2008 -0700"
      },
      "message": "netdev: Move _xmit_lock and xmit_lock_owner into netdev_queue.\n\nAccesses are mostly structured such that when there are multiple TX\nqueues the code transformations will be a little bit simpler.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "82524746c27fa418c250a56dd7606b9d3fc79826",
      "tree": "1801230b8fc2e436e722ac6f54fc53f1c112c310",
      "parents": [
        "32300751b4079cb5688453baa94711579d4285d5"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "fbuihuu@gmail.com",
        "time": "Mon May 12 21:21:05 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 19 10:01:37 2008 +0200"
      },
      "message": "rcu: split list.h and move rcu-protected lists into rculist.h\n\nMove rcu-protected lists from list.h into a new header file rculist.h.\n\nThis is done because list are a very used primitive structure all over the\nkernel and it\u0027s currently impossible to include other header files in this\nlist.h without creating some circular dependencies.\n\nFor example, list.h implements rcu-protected list and uses rcu_dereference()\nwithout including rcupdate.h.  It actually compiles because users of\nrcu_dereference() are macros.  Others RCU functions could be used too but\naren\u0027t probably because of this.\n\nTherefore this patch creates rculist.h which includes rcupdates without to\nmany changes/troubles.\n\nSigned-off-by: Franck Bui-Huu \u003cfbuihuu@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Josh Triplett \u003cjosh@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7312096454b6cd71267eaa3d0efb408e449e9ff3",
      "tree": "360362755ece7d7ad589bfb968ff69681a4aefa3",
      "parents": [
        "c67fa02799bccca3d2e16582493da6d57812ec01"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu May 08 01:13:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 08 01:13:31 2008 -0700"
      },
      "message": "macvlan: Fix memleak on device removal/crash on module removal\n\nAs noticed by Ben Greear, macvlan crashes the kernel when unloading the\nmodule. The reason is that it tries to clean up the macvlan_port pointer\non the macvlan device itself instead of the underlying device. A non-NULL\npointer is taken as indication that the macvlan_handle_frame_hook is\nvalid, when receiving the next packet on the underlying device it tries\nto call the NULL hook and crashes.\n\nClean up the macvlan_port on the correct device to fix this.\n\nSigned-off-by; Patrick McHardy \u003ckaber@trash.net\u003e\nTested-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c346dca10840a874240c78efe3f39acf4312a1f2",
      "tree": "c04cff20124eba5cc337cc5ec260ad2513eeb065",
      "parents": [
        "7cbca67c073263c179f605bdbbdc565ab29d801d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 25 21:47:49 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:53 2008 +0900"
      },
      "message": "[NET] NETNS: Omit net_device-\u003end_net without CONFIG_NET_NS.\n\nIntroduce per-net_device inlines: dev_net(), dev_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "52913246e0056c9c6215a778a3b31b6b9ce5c3ef",
      "tree": "2540abf67d1bd59ab28a06487d424d3d658f6c95",
      "parents": [
        "e83a2ea850bf0c0c81c675444080970fc07798c6"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Thu Jan 31 16:56:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:25 2008 -0800"
      },
      "message": "[MACVLAN]: Setting macvlan_handle_frame_hook to NULL when rtnl_link_register() fails.\n\nIn drivers/net/macvlan.c, when rtnl_link_register() fails in\nmacvlan_init_module(), there is no point to set it (second time in\nthis method) to macvlan_handle_frame; macvlan_init_module() will\nreturn a negative number, so instead this patch sets\nmacvlan_handle_frame_hook to NULL.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f12ca5f97b7f99288aff1dc32a91f21c3230fefe",
      "tree": "f9a25557f567c89ff8c1fd0b43c5748380b8221d",
      "parents": [
        "91b4f954759653272504c55b715b757207ed1700"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jan 21 00:47:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:36 2008 -0800"
      },
      "message": "[MACVLAN]: Fix thinko in macvlan_transfer_operstate()\n\nWhen the lower device\u0027s carrier is off, the macvlan devices\u0027s\ncarrier state should be checked to decide whether it needs to\nbe turned off. Currently the lower device\u0027s state is checked\na second time.\n\nThis still works, but unnecessarily tries to turn off the\ncarrier when its already off.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad5d20a63940fcfb40af76ba06148f36d5d0b433",
      "tree": "aa45929a8fe974db343ee62c24ba8cc32f8b06d2",
      "parents": [
        "59891d53f4a31402f8bd1f8c89e0e2c07d51b2cd"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Nov 19 22:00:42 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:23 2008 -0800"
      },
      "message": "[MACVLAN]: Allow setting mac address while device is up\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59891d53f4a31402f8bd1f8c89e0e2c07d51b2cd",
      "tree": "9123f42aa59540b43ac4621252ac24ab4d1a4b9f",
      "parents": [
        "1b0b04f9fb657a9ee85e3b9388394b9b943f7ffc"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Nov 19 22:00:00 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:23 2008 -0800"
      },
      "message": "[MACVLAN]: Remove unnecessary IFF_UP check\n\nOnly devices that are UP are in the hash, so macvlan_broadcast() doesn\u0027t\nneed to check for IFF_UP.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6ca5f1dbe40470fcb1ecc921769d792a1e77ed9",
      "tree": "c74e49b849ff9806aa4349587c3623cb90ddf0e6",
      "parents": [
        "0fe1e567d0b4f6a98e94d3b9a40f41c801bd157f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 10 22:39:28 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 10 22:39:28 2008 -0800"
      },
      "message": "[MACVLAN]: Prevent nesting macvlan devices\n\nDon\u0027t allow to nest macvlan devices since it will cause lockdep\nwarnings and isn\u0027t really useful for anything.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47063d6b11fdeb166a323315a9e19f565b73d352",
      "tree": "f6d01c34cb72c7565a132483666d8286eca8c9f2",
      "parents": [
        "bef1bc95f32bd7603c3682dbb8695cf4d5841732"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Oct 14 19:22:59 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 14 12:41:51 2007 -0700"
      },
      "message": "remove duplicate initializer (macvlan)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b04ddde02cf1b6f14f2697da5c20eca5715017f",
      "tree": "9da1341a5a399a507b5ea6bf5a3047506b8d8f8f",
      "parents": [
        "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:40:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:52 2007 -0700"
      },
      "message": "[NET]: Move hardware header operations out of netdevice.\n\nSince hardware header operations are part of the protocol class\nnot the device instance, make them into a separate object and\nsave memory.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c4e85813d0a94eeb8bf813397a4907bdd7bb610",
      "tree": "53ee948abc930bb1c5cd270c490f87fda5eb45b3",
      "parents": [
        "4c94f8c0c9a82fad84bc5df453aff755cfed70b7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:36:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:50 2007 -0700"
      },
      "message": "[NET]: Wrap netdevice hardware header creation.\n\nAdd inline for common usage of hardware header creation, and\nfix bug in IPV6 mcast where the assumption about negative return is\nan errno. Negative return from hard_header means not enough space\nwas available,(ie -N bytes).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88d3aafdae5c5e1d2dd9489a5c8a24e29d335f2e",
      "tree": "272ce75c30a170420ac8bbfd679c3faed9f9d20a",
      "parents": [
        "09f75cd7bf13720738e6a196cc0107ce9a5bd5a0"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Sep 15 14:41:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:17 2007 -0700"
      },
      "message": "[ETHTOOL] Provide default behaviors for a few ethtool sub-ioctls\n\nFor the operations\n\tget-tx-csum\n\tget-sg\n\tget-tso\n\tget-ufo\nthe default ethtool_op_xxx behavior is fine for all drivers, so we\npermit op\u003d\u003dNULL to imply the default behavior.\n\nThis provides a more uniform behavior across all drivers, eliminating\nethtool(8) \"ioctl not supported\" errors on older drivers that had\nnot been updated for the latest sub-ioctls.\n\nThe ethtool_op_xxx() functions are left exported, in case anyone\nwishes to call them directly from a driver-private implementation --\na not-uncommon case.  Should an ethtool_op_xxx() helper remain unused\nfor a while, except by net/core/ethtool.c, we can un-export it at a\nlater date.\n\n[ Resolved conflicts with set/get value ethtool patch... -DaveM ]\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b863ceb7ddcea8c55fcf1d7b2ac591d50aa7ed53",
      "tree": "a65d5e4be77666600c0005c5f4c9091df63a3a1b",
      "parents": [
        "56addd6eeeb4e11f5a0af7093ca078e0f29140e0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat Jul 14 18:55:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:55:06 2007 -0700"
      },
      "message": "[NET]: Add macvlan driver\n\nAdd macvlan driver, which allows to create virtual ethernet devices\nbased on MAC address.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
