)]}'
{
  "log": [
    {
      "commit": "53a3294e26c49622daa14c1d8540500f568ded99",
      "tree": "b196734812fa24595e12e9b03d11226623e53e62",
      "parents": [
        "af0490810cfa159b4894ddecfc5eb2e4432fb976"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Jan 06 10:41:56 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 06 10:41:56 2009 -0800"
      },
      "message": "bonding: use net_device_ops\n\nUse the correct pointer in debug message.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e727149e26b08550269a7786fda977aed65578f6",
      "tree": "b73d6246806b01e2384d84d273cfdb48c6d74891",
      "parents": [
        "e4ac43200fd6b8b8de3b487e74e74d3742f70d79"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Fri Dec 26 13:41:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 26 13:41:53 2008 -0800"
      },
      "message": "802.3ad: use standard ethhdr instead of ad_header\n\n802.3ad has its own ethhdr-like structure in the form of an ad_header,\nwhich is at the start of both the LACPDU and marker PDU.  Both are\nthe same from the struct values, both are packed as well.\n\nIt\u0027s therefore perfectly fine to replace the ad_header by the ethhdr\nand to remove its definition.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4ac43200fd6b8b8de3b487e74e74d3742f70d79",
      "tree": "31dbd043da17995eea122e4504cc8bc26b11751e",
      "parents": [
        "7addeef6b15c9b7cffaaf40ec5b5b0940145ec16"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Fri Dec 26 13:40:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 26 13:40:48 2008 -0800"
      },
      "message": "802.3ad: generalize out mac address initializer\n\nGeneralize out mac address initializer for the LACPDU multicast\naddress and use in two places.  Remove the now unused\nAD_MULTICAST_LACPDU_ADDR.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7addeef6b15c9b7cffaaf40ec5b5b0940145ec16",
      "tree": "5f39d1e5d67d03b99dbee332448ab29767b6fddc",
      "parents": [
        "87f422f8618c541db0f96194cca9465817f76b89"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Fri Dec 26 13:28:33 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 26 13:28:33 2008 -0800"
      },
      "message": "802.3ad: initialize ports LACPDU from const initializer\n\nSave some text by initializing ports LACPDU from const initializer,\nthen get rid of ad_initialize_lacpdu().\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87f422f8618c541db0f96194cca9465817f76b89",
      "tree": "b5ecaf51224873d319cdb2d3d30a9ab5804be6fc",
      "parents": [
        "1624db7be0d9f77f5494efe1b066d1d44b46c96c"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Fri Dec 26 13:27:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 26 13:27:57 2008 -0800"
      },
      "message": "802.3ad: remove typedef around ad_system\n\nAs typedefs are considered a bad thing most of the time remove the\ntypedef around ad_system.\n\nSigned-off-by: Holger Eitzenberger \u003cheitzenberger@astaro.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1624db7be0d9f77f5494efe1b066d1d44b46c96c",
      "tree": "82dab0cc481a5a9c4d3c5161e9bd5b29b203f455",
      "parents": [
        "f48127b6f3270cf7234a7a9f770533332e85e8ae"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Fri Dec 26 13:27:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 26 13:27:21 2008 -0800"
      },
      "message": "802.3ad: turn ports is_individual into a bool\n\nTurn ports is_individual into a bool.  There is no functional change.\n\nSigned-off-by: Holger Eitzenberger \u003cheitzenberger@astaro.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f48127b6f3270cf7234a7a9f770533332e85e8ae",
      "tree": "b92b215a91e0389fd1c48cae87dadb9e28e01bad",
      "parents": [
        "d238d458a70ad134cb421c3ffc66242277f30dda"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Fri Dec 26 13:26:54 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 26 13:26:54 2008 -0800"
      },
      "message": "802.3ad: turn ports is_enabled into a bool\n\nTurn ports is_enabled into a bool.  There is no functional change.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d238d458a70ad134cb421c3ffc66242277f30dda",
      "tree": "2dd5311883e58ce341dd338aa40abc434ab57771",
      "parents": [
        "d3fa4721456226d77475181a4bfbe5b3d899d65c"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Fri Dec 26 11:18:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 26 11:18:15 2008 -0800"
      },
      "message": "802.3ad: make ntt bool\n\nTurn Need-To-Transmit port variable into a bool.  There is no\nfunctional change.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b06715b7a3db551dcf4706f05e8d2285a66fe05f",
      "tree": "a905110ecc08f0bb831a8bea25b9a2f860dd3372",
      "parents": [
        "9dc20f553f8cb548feaba9dae0cb4905327ecbac"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Thu Dec 25 23:58:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 25 23:58:57 2008 -0800"
      },
      "message": "drivers/net/bonding: fix sparse warnings: move decls to header file\n\nFix this sparse warnings:\n\n  drivers/net/bonding/bond_main.c:104:20: warning: symbol \u0027bonding_defaults\u0027 was not declared. Should it be static?\n  drivers/net/bonding/bond_main.c:204:22: warning: symbol \u0027ad_select_tbl\u0027 was not declared. Should it be static?\n  drivers/net/bonding/bond_sysfs.c:60:21: warning: symbol \u0027bonding_rwsem\u0027 was not declared. Should it be static?\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b5b35d02264580950d1e1565431b99d97c20ded",
      "tree": "cdf76ffb873e2ecc5561155b49e29c8b9492325f",
      "parents": [
        "3c52065fbbf3bd11776d63d43e18d0fd285b02e2"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Wed Dec 17 19:13:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 17 19:13:53 2008 -0800"
      },
      "message": "bonding: use port_params in __update_lacpdu_from_port\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c52065fbbf3bd11776d63d43e18d0fd285b02e2",
      "tree": "665cb32e0ee77c27e3f200420e6604731c9b9ab6",
      "parents": [
        "ce6a49ad401d78ff1f66e2a55cf445d0f45d8146"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Wed Dec 17 19:13:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 17 19:13:27 2008 -0800"
      },
      "message": "bonding: use port_params in __update_default_selected()\n\nI also removed some of the unneeded braces in the if condition to\nimprove readability and a little bit of reformatting.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce6a49ad401d78ff1f66e2a55cf445d0f45d8146",
      "tree": "0dfb2babfe955768ad0f500a1d5c512718a3e922",
      "parents": [
        "a6ae186b9a950f4d0467cb9c3661965f442176de"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Wed Dec 17 19:13:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 17 19:13:07 2008 -0800"
      },
      "message": "bonding: use port_params in __update_selected()\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6ae186b9a950f4d0467cb9c3661965f442176de",
      "tree": "cb5ce637a5c8fe0a3542425c70a51a950668572f",
      "parents": [
        "c7e703d01ecfb8db1557090938f0eabb51ebe3a1"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Wed Dec 17 19:12:40 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 17 19:12:40 2008 -0800"
      },
      "message": "bonding: remove various function declarations\n\nThey are all defined before used, it\u0027s therefore ok to remove\nthem.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c7e703d01ecfb8db1557090938f0eabb51ebe3a1",
      "tree": "f391f78e64c1f4ee0c4f4c98b56101ac169f577f",
      "parents": [
        "5eefd1adceb49cada224a383f4a36c2f27fe4968"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Wed Dec 17 19:12:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 17 19:12:07 2008 -0800"
      },
      "message": "bonding: init port_params from template\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5eefd1adceb49cada224a383f4a36c2f27fe4968",
      "tree": "bd91802c30ca29865860a9aa9c3760728d1a59a3",
      "parents": [
        "b99d6ba96d814dab06671029948f22995d603d7b"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Wed Dec 17 19:08:46 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 17 19:08:46 2008 -0800"
      },
      "message": "bonding: use plain memcpy in __record_default()\n\nAlso remove the pointless comment at the top.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b99d6ba96d814dab06671029948f22995d603d7b",
      "tree": "8748699b0455f60c2fc9cecfb512df5e0a3107a7",
      "parents": [
        "1055c9aba3b6850245fe3bbb533d4747e7f904bf"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Wed Dec 17 19:08:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 17 19:08:14 2008 -0800"
      },
      "message": "bonding: use port_params in __record_pdu()\n\nIt helps in maintaining the various partner information values from\nthe LACPDU.  It also removes the pointless comment at the top.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1055c9aba3b6850245fe3bbb533d4747e7f904bf",
      "tree": "083ad0cd7984031d5b82d459052c17065f617ace",
      "parents": [
        "aa3128199dbe07b5be3382de590c59216f91d3e3"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Wed Dec 17 19:07:38 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 17 19:07:38 2008 -0800"
      },
      "message": "bonding: introduce and use port_params structure\n\nIt generally helps to handle those values in various places, using it\nmight make the code more readable and gives room for other improvements.\n\nThe IEEE standard talks about them as \"parameter values\".\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa3128199dbe07b5be3382de590c59216f91d3e3",
      "tree": "e6fcee846c78072a45711edd57af53412603ea17",
      "parents": [
        "42199884594bc336c9185441cbed99a9324dab34"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Wed Dec 17 19:07:16 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 17 19:07:16 2008 -0800"
      },
      "message": "bonding: improve elaborate port_state assignment\n\nThe previous code was just a funny way of assigning both values (they\nare both of type u8).\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e97fd7c6d51d8bf32ce981b853d987cfc6bdfb7f",
      "tree": "3da54ca75fb45a24c1fef82b0d4fdd42de47d785",
      "parents": [
        "325dcf7a907a43f8832b92ae1c672798b4e60ce2"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Tue Dec 09 23:10:38 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 09 23:10:38 2008 -0800"
      },
      "message": "bonding: turn all bond_parm_tbls const\n\nTurn all bond_parm_tbls const.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "325dcf7a907a43f8832b92ae1c672798b4e60ce2",
      "tree": "a11aef2c60b12f4f98cd15e2f3843677c056d7a2",
      "parents": [
        "d78755237f0892c8d313a7f7b1774443a7308b11"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Tue Dec 09 23:10:17 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 09 23:10:17 2008 -0800"
      },
      "message": "bonding: make tbl argument to bond_parse_parm() const\n\nbond_parse_parm() parses a parameter table for a particular value and\nis therefore not modifying the table at all.  Therefore make the 2nd\nargument const, thus allowing to make the tables const later.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d78755237f0892c8d313a7f7b1774443a7308b11",
      "tree": "c01fff46397a703ce35c1937ae87a2dd83926dcc",
      "parents": [
        "5a03cdb7f2d7ff88e50153d8c3b90a1d52dca435"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Tue Dec 09 23:09:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 09 23:09:49 2008 -0800"
      },
      "message": "bonding: remove duplicate declarations\n\nRemove some declarations from bonding.c as they are declared in bonding.h\nalready.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a03cdb7f2d7ff88e50153d8c3b90a1d52dca435",
      "tree": "2cdaf63b0308afcf259625ea20439840c81d62e5",
      "parents": [
        "ef65583d01f4060c758dba72f08edc09d8faa719"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Tue Dec 09 23:09:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 09 23:09:22 2008 -0800"
      },
      "message": "bonding: use pr_debug instead of own macros\n\nUse pr_debug() instead of own macros.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef65583d01f4060c758dba72f08edc09d8faa719",
      "tree": "61fbc6ea1a6b4383eeb92e175e4402b50d30f0a8",
      "parents": [
        "77afc92b7915b6bb21584474a429a04603ac8963"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Tue Dec 09 23:08:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 09 23:08:55 2008 -0800"
      },
      "message": "bonding: fix compile error if debug enabled\n\nThis is what I get if debug is enabled:\n\ndrivers/net/bonding/bond_ipv6.c: In function \u0027bond_na_send\u0027:\ndrivers/net/bonding/bond_ipv6.c:75: error: \u0027slave\u0027 undeclared (first use in this function)\ndrivers/net/bonding/bond_ipv6.c:75: error: (Each undeclared identifier is reported only once\ndrivers/net/bonding/bond_ipv6.c:75: error: for each function it appears in.)\n\nThis patch fixes that.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77afc92b7915b6bb21584474a429a04603ac8963",
      "tree": "12f9fd18dbc294a54a3d82531a5f8022cb601604",
      "parents": [
        "58402054264fa33b405d1abcbcd8e528507aac1a"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Tue Dec 09 23:08:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 09 23:08:09 2008 -0800"
      },
      "message": "bonding: use table for mode names\n\nUse a small array in bond_mode_name() for the names, thus saving some\nspace:\n\nbefore\n\n    text     data      bss      dec    hex filename\n   57736     9372      344    67452  1077c drivers/net/bonding/bonding.ko\n\nafter\n    text     data      bss      dec    hex filename\n   57441     9372      344    67157  10655 drivers/net/bonding/bonding.ko\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58402054264fa33b405d1abcbcd8e528507aac1a",
      "tree": "a3e4ce7ecdb33402d0810113e339d517b609e0b8",
      "parents": [
        "512bb43eb5422ee69a1be05ea0d89dc074fac9a2"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Tue Dec 09 23:07:13 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 09 23:07:13 2008 -0800"
      },
      "message": "bonding: add and use bond_is_lb()\n\nIntroduce and use bond_is_lb(), it is usefull to shorten the repetitive\ncheck for either ALB or TLB mode.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "244ef9b9176c7c7a095f4738d353a3a60b88097d",
      "tree": "e1fc8266b2cd3a721659f5fa738a2cbc1441389f",
      "parents": [
        "97341249c4c30cf0eea5439ce2f36ee887e640fe"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Wed Dec 03 21:14:04 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 03 21:14:04 2008 -0800"
      },
      "message": "bond: Kill directly reference of netdev-\u003epriv\n\nSimply replace netdev-\u003epriv with netdev_priv().\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008298231abbeb91bc7be9e8b078607b816d1a4a",
      "tree": "8cb0c17720086ef97c614b96241f06aa63ce8511",
      "parents": [
        "6ab33d51713d6d60c7677c0d020910a8cb37e513"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "message": "netdev: add more functions to netdevice ops\n\nThis patch moves neigh_setup and hard_start_xmit into the network device ops\nstructure. For bisection, fix all the previously converted drivers as well.\nBonding driver took the biggest hit on this.\n\nAdded a prefetch of the hard_start_xmit in the fast path to try and reduce\nany impact this would have.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb7cc59a038b4e1914ae991d313f35904924759f",
      "tree": "4f4af2bd1e4e86582b45e9ce18ca88fcff287665",
      "parents": [
        "656299f706e52e0409733d704c2761f1b12d6954"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:56:05 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 22:42:42 2008 -0800"
      },
      "message": "bonding: convert to net_device_ops\n\nConvert to net_device_ops table.\nNote: for some operations move error checking into generic networking\nlayer (rather than looking at pointers in bonding).\n\nA couple of gratituous style cleanups to get rid of extra {}\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eeda3fd64f75bcbfaa70ce946513abaf3f23b8e0",
      "tree": "082d1921a5783ef5b07b4cf666804d6509f25f1a",
      "parents": [
        "d314774cf2cd5dfeb39a00d37deee65d4c627927"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 21:40:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 21:40:23 2008 -0800"
      },
      "message": "netdev: introduce dev_get_stats()\n\nIn order for the network device ops get_stats call to be immutable, the handling\nof the default internal network device stats block has to be changed. Add a new\nhelper function which replaces the old use of internal_get_stats.\n\nNote: change return code to make it clear that the caller should not\ngo changing the returned statistics.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "454d7c9b14e20fd1949e2686e9de4a2926e01476",
      "tree": "fae8bd1bfb5fd496977a0639ad71c54a2ee278ae",
      "parents": [
        "7a12122c7a00347da9669cfcde82954c9e3d6f5e"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Wed Nov 12 23:37:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 12 23:37:49 2008 -0800"
      },
      "message": "netdevice: safe convert to netdev_priv() #part-1\n\nWe have some reasons to kill netdev-\u003epriv:\n1. netdev-\u003epriv is equal to netdev_priv().\n2. netdev_priv() wraps the calculation of netdev-\u003epriv\u0027s offset, obviously\n   netdev_priv() is more flexible than netdev-\u003epriv.\nBut we cann\u0027t kill netdev-\u003epriv, because so many drivers reference to it\ndirectly.\n\nThis patch is a safe convert for netdev-\u003epriv to netdev_priv(netdev).\nSince all of the netdev-\u003epriv is only for read.\nBut it is too big to be sent in one mail.\nI split it to 4 parts and make every part smaller than 100,000 bytes,\nwhich is max size allowed by vger.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd989c83325cb34795bc4d4aa6b13c06f90eac99",
      "tree": "ba6a0589847a45cd558cf2273dae423a4ab78dcc",
      "parents": [
        "6146b1a4da98377e4abddc91ba5856bef8f23f1e"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Tue Nov 04 17:51:16 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Nov 06 00:49:47 2008 -0500"
      },
      "message": "bonding: alternate agg selection policies for 802.3ad\n\n\tThis patch implements alternative aggregator selection policies\nfor 802.3ad.  The existing policy, now termed \"stable,\" selects the active\naggregator by greatest bandwidth, and only reselects a new aggregator\nif the active aggregator is entirely disabled (no more ports or all ports\ndown).\n\n\tThis patch adds two new policies: bandwidth and count, selecting\nthe active aggregator by total bandwidth (like the stable policy) or by\nthe number of ports in the aggregator, respectively.  These two policies\nalso differ from the stable policy in that they will reselect the active\naggregator when availability-related changes occur in the bond (e.g.,\nlink state change).\n\n\tThis permits \"gang failover\" within 802.3ad, allowing redundant\naggregators along parallel paths to always maintain the \"best\" aggregator\nas the active aggregator (rather than having to wait for the active to\nentirely fail).\n\n\tThis patch also updates the driver version to 3.5.0.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "6146b1a4da98377e4abddc91ba5856bef8f23f1e",
      "tree": "1082fdb4b0a92d85ec60666f2c8d29ab3fef9ebe",
      "parents": [
        "305d552accae6afb859c493ebc7d98ca3371dae2"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Tue Nov 04 17:51:15 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Nov 06 00:49:40 2008 -0500"
      },
      "message": "bonding: Fix ALB mode to balance traffic on VLANs\n\n\tThe current ALB function that processes incoming ARPs\ndoes not handle traffic for VLANs configured above bonding.  This causes\ntraffic on those VLANs to all be assigned the same slave.  This patch\ncorrects that misbehavior by locating the bonding interface nested below\nthe VLAN interface.\n\n\tBug reported by Sven Anders \u003canders@anduras.de\u003e, who also\ntested an earlier version of this patch and confirmed that it resolved\nthe problem.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "305d552accae6afb859c493ebc7d98ca3371dae2",
      "tree": "aa1230b1a6cf85ceb36d3e8a8a155ef4348523b6",
      "parents": [
        "61c9eaf90081cbe6dc4f389e0056bff76eca19ec"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Tue Nov 04 17:51:14 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Nov 06 00:49:37 2008 -0500"
      },
      "message": "bonding: send IPv6 neighbor advertisement on failover\n\nThis patch adds better IPv6 failover support for bonding devices,\nespecially when in active-backup mode and there are only IPv6 addresses\nconfigured, as reported by Alex Sidorenko.\n\n- Creates a new file, net/drivers/bonding/bond_ipv6.c, for the\n   IPv6-specific routines.  Both regular bonds and VLANs over bonds\n   are supported.\n\n- Adds a new tunable, num_unsol_na, to limit the number of unsolicited\n   IPv6 Neighbor Advertisements that are sent on a failover event.\n   Default is 1.\n\n- Creates two new IPv6 neighbor discovery functions:\n\n   ndisc_build_skb()\n   ndisc_send_skb()\n\n   These were required to support VLANs since we have to be able to\n   add the VLAN id to the skb since ndisc_send_na() and friends\n   shouldn\u0027t be asked to do this.  These two routines are basically\n   __ndisc_send() split into two pieces, in a slightly different order.\n\n- Updates Documentation/networking/bonding.txt and bumps the rev of bond\n   support to 3.4.0.\n\nOn failover, this new code will generate one packet:\n\n- An unsolicited IPv6 Neighbor Advertisement, which helps the switch\n   learn that the address has moved to the new slave.\n\nTesting has shown that sending just the NA results in pretty good\nbehavior when in active-back mode, I saw no lost ping packets for example.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "6cf3f41e6c08bca6641a695449791c38a25f35ff",
      "tree": "a4e173960afe6712c112b3ddea1f229a695b7089",
      "parents": [
        "24f8b2385e03a4f4c8dac513d03b5eaa475822b9"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Mon Nov 03 18:16:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 18:16:50 2008 -0800"
      },
      "message": "bonding, net: Move last_rx update into bonding recv logic\n\n\tThe only user of the net_device-\u003elast_rx field is bonding.\nThis patch adds a conditional update of last_rx to the bonding special\nlogic in skb_bond_should_drop, causing last_rx to only be updated when\nthe ARP monitor is running.\n\n\tThis frees network device drivers from the necessity of\nupdating last_rx, which can have cache line thrash issues.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63779436ab4ad0867bcea53bf853b0004d7b895d",
      "tree": "bd4e49449eb852a54f62cc8bb1c807e26746dd43",
      "parents": [
        "21454aaad30651ba0dcc16fe5271bc12ee21f132"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Oct 31 00:56:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:56:00 2008 -0700"
      },
      "message": "drivers: replace NIPQUAD()\n\nUsing NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u\ncan be replaced with %pI4\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1744d3bee19d3b9cbfb825ab316a101b9c9f109",
      "tree": "c0e2324c09beca0eb5782eb5abf241ea2b7a4a11",
      "parents": [
        "275f165fa970174f8a98205529750e8abb6c0a33",
        "a432226614c5616e3cfd211e0acffa0acfb4770c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:17:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:17:34 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/p54/p54common.c\n"
    },
    {
      "commit": "ce39a800ea87c655de49af021c8b20ee323cb40d",
      "tree": "f461c679d9c03639256501a221bbd8542fe65858",
      "parents": [
        "a434e43f3d844192bc23bd7b408bac979c40efe7"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Thu Oct 30 17:41:16 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Oct 31 00:46:12 2008 -0400"
      },
      "message": "bonding: fix panic when taking bond interface down before removing module\n\nA panic was discovered with bonding when using mode 5 or 6 and trying to\nremove the slaves from the bond after the interface was taken down.\nWhen calling \u0027ifconfig bond0 down\u0027 the following happens:\n\n    bond_close()\n        bond_alb_deinitialize()\n            tlb_deinitialize()\n\t\tkfree(bond_info-\u003etx_hashtbl)\n                bond_info-\u003etx_hashtbl \u003d NULL\n\nUnfortunately if there are still slaves in the bond, when removing the\nmodule the following happens:\n\n    bonding_exit()\n        bond_free_all()\n            bond_release_all()\n                bond_alb_deinit_slave()\n                    tlb_clear_slave()\n                        tx_hash_table \u003d BOND_ALB_INFO(bond).tx_hashtbl\n\t\t\tu32 next_index \u003d tx_hash_table[index].next\n\nAs you might guess we panic when trying to access a few entries into the\ntable that no longer exists.\n\nI experimented with several options (like moving the calls to\ntlb_deinitialize somewhere else), but it really makes the most sense to\nbe part of the bond_close routine.  It also didn\u0027t seem logical move\ntlb_clear_slave around too much, so the simplest option seems to add a\ncheck in tlb_clear_slave to make sure we haven\u0027t already wiped the\ntx_hashtbl away before searching for all the non-existent hash-table\nentries that used to point to the slave as the output interface.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "a434e43f3d844192bc23bd7b408bac979c40efe7",
      "tree": "c14f191bafc78a1194815e0e9df5223dd52e8d99",
      "parents": [
        "fba4acda35f3119328bcba28aacefae14245d2bb"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Thu Oct 30 17:41:15 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Oct 31 00:46:04 2008 -0400"
      },
      "message": "bonding: Clean up resource leaks\n\nThis patch reworks the resource free logic performed at the time\na bonding device is released.  This (a) closes two resource leaks, one\nfor workqueues and one for multicast lists, and (b) improves commonality\nof code between the \"destroy one\" and \"destroy all\" paths by performing\nfinal free activity via destructor instead of explicitly (and differently)\nin each path.\n\n\"Sean E. Millichamp\" \u003csean@bruenor.org\u003e reported the workqueue\nleak, and included a different patch.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "fba4acda35f3119328bcba28aacefae14245d2bb",
      "tree": "40eede8c838103ca9226f560365375ad40da364b",
      "parents": [
        "48e5ecae691cfb50aa39036ba9fc193f5c24dbb3"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Thu Oct 30 17:41:14 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Oct 31 00:45:51 2008 -0400"
      },
      "message": "bonding: fix miimon failure counter\n\nDuring the rework of the mii monitor for:\n\n  commit f0c76d61779b153dbfb955db3f144c62d02173c2\n  Author: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\n  Date:   Wed Jul 2 18:21:58 2008 -0700\n\n    bonding: refactor mii monitor\n\nI left out the increment of the link failure counter.  This\npatch corrects that omission.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "8cf14e38372d84ea09ba45fb60b61f6e36c18546",
      "tree": "56f777828ff7109808407b8a348c31ac74d5b558",
      "parents": [
        "9edb8bb68b5ea63061ba833831b00c229ac9fbd2"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 22:43:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 22:43:33 2008 -0700"
      },
      "message": "net: easy removals of HIPQUAD using %pI4 format\n\nAs a bonus, removes some unnecessary byteswapping.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e174961ca1a0b28f7abf0be47973ad57cb74e5f0",
      "tree": "e8f74ecd420a0e380a71670e5aec5c2a0c15640a",
      "parents": [
        "0c68ae2605dbcf67414d8d1f19af93be44b355fb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Oct 27 15:59:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 27 17:06:18 2008 -0700"
      },
      "message": "net: convert print_mac to %pM\n\nThis converts pretty much everything to print_mac. There were\na few things that had conflicts which I have just dropped for\nnow, no harm done.\n\nI\u0027ve built an allyesconfig with this and looked at the files\nthat weren\u0027t built very carefully, but it\u0027s a huge patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b63365a2d60268a3988285d6c3c6003d7066f93a",
      "tree": "85bd8f91f3de954c697aa44544b4adf191e7f5aa",
      "parents": [
        "2e3f92dad6bdbee796274bae5c1c50a6ddd31cbb"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Oct 23 01:11:29 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 23 01:11:29 2008 -0700"
      },
      "message": "net: Fix disjunct computation of netdev features\n\nMy change\n\n    commit e2a6b85247aacc52d6ba0d9b37a99b8d1a3e0d83\n    net: Enable TSO if supported by at least one device\n\ndidn\u0027t do what was intended because the netdev_compute_features\nfunction was designed for conjunctions.  So what happened was that\nit would simply take the TSO status of the last constituent device.\n\nThis patch extends it to support both conjunctions and disjunctions\nunder the new name of netdev_increment_features.\n\nIt also adds a new function netdev_fix_features which does the\nsanity checking that usually occurs upon registration.  This ensures\nthat the computation doesn\u0027t result in an illegal combination\nsince this checking is absent when the change is initiated via\nethtool.\n\nThe two users of netdev_compute_features have been converted.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b22596726bd37c7a4df4a43406a9a60f617d3d02",
      "tree": "c8372b2185713ef239fc158ed52f0f41bb70687a",
      "parents": [
        "be61ea52900b97800effbb68478915d73b5d4df2"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Sun Sep 14 16:56:12 2008 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Sep 24 22:12:57 2008 -0400"
      },
      "message": "drivers/net/bonding: sparse fixes for exported tables\n\nThe following sparse warnings are being generated\nbecause bonding.h is missing definitons for items\ndeclared in bond_main.c but also used in bond_sysfs.h\n\nAlso export bond_dev_list as this is also declared\nin bond_main but used elsewhere in drivers/net/bonding.\n\nbond_main.c:105:20: warning: symbol \u0027bonding_defaults\u0027 was not declared. Should it be static?\nbond_main.c:148:1: warning: symbol \u0027bond_dev_list\u0027 was not declared. Should it be static?\nbond_main.c:162:22: warning: symbol \u0027bond_lacp_tbl\u0027 was not declared. Should it be static?\nbond_main.c:168:22: warning: symbol \u0027bond_mode_tbl\u0027 was not declared. Should it be static?\nbond_main.c:179:22: warning: symbol \u0027xmit_hashtype_tbl\u0027 was not declared. Should it be static?\nbond_main.c:186:22: warning: symbol \u0027arp_validate_tbl\u0027 was not declared. Should it be static?\nbond_main.c:194:22: warning: symbol \u0027fail_over_mac_tbl\u0027 was not declared. Should it be static?\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "fa53ebac42d3de04619c813f5f6628ca2a7ce97f",
      "tree": "9cb0b0220f95f6c08c35ddf22767b2f90c8b9f54",
      "parents": [
        "ec68db6930635b25ef5ba4983053635f5b4bf35e"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Sat Sep 13 21:17:09 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Sep 24 18:59:02 2008 -0400"
      },
      "message": "bonding: add more ethtool support\n\nThis patch allows reporting the link, checksum, and feature settings\nof bonded device by using generic hooks.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "b39d66a81fb4f5ab555f86a2e49f3714f8369a3d",
      "tree": "20ffb096fe2781545ac3f77f07ebbb347234e111",
      "parents": [
        "b514f6b6da3aedcf4eb6f0c69e910ae89ef4632f"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Aug 20 16:52:04 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Sep 24 18:59:00 2008 -0400"
      },
      "message": "drivers/net: replace __FUNCTION__ with __func__\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "2d1ea19da0e84117d3ebbad981e4664bef03152e",
      "tree": "0b073f7b68399b35bc122487ee8dcfc5d6492901",
      "parents": [
        "f382a0a8e9403c6d7f8b2cfa21e41fefb5d0c9bd"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Thu Aug 28 15:38:41 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Sep 24 18:49:01 2008 -0400"
      },
      "message": "bonding: Do not tx-balance some IPv6 packets on ALB/TLB bonds\n\nIPv6 all-node-multicasts and DAD probes should not be tx-balanced\non ALB/TLB bonds.  The all-node-multicast is an equivalent to IPv4\nbroadcasts.  DAD probes have to be sent only on the primary so that\nwe don\u0027t get false-positive detections.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "f14c4e4e3651b76ae09082fa66cda37e10ac2b43",
      "tree": "c9441dc387517914b0434e880245f8d824895413",
      "parents": [
        "a816f75ac5caa79b08325e35317f964f03841d52"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Tue Sep 02 10:08:08 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Sep 03 10:03:07 2008 -0400"
      },
      "message": "bonding: change some __constant_htons() to htons()\n\nResending since I didn\u0027t see any responses from the first try.\n\nChange __constant_htons() to htons() in the bonding driver, it should\nonly be used for initializers.\n\n-Brian\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "db018a5f49e1768891221a580e59f6825c52ab7a",
      "tree": "6cef0e9f28da25cf71e044dc12c97a381752a447",
      "parents": [
        "f0c76d61779b153dbfb955db3f144c62d02173c2"
      ],
      "author": {
        "name": "Moni Shoua",
        "email": "monis@voltaire.com",
        "time": "Wed Jul 02 18:21:59 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Aug 07 03:59:56 2008 -0400"
      },
      "message": "bonding: Don\u0027t destroy bonding master when removing slave via sysfs\n\nIt is wrong to destroy a bonding master from a context that uses the sysfs\nof that bond. When last IPoIB slave is unenslaved from by writing to a\nsysfs file (for bond0 this would be /sys/class/net/bond0/bonding/slaves)\nthe driver tries to destroy the bond. This is wrong and can lead to a\nlockup or a crash.  This fix lets the bonding master stay and relies on\nthe user to destroy the bonding master if necessary (i.e. before module\nib_ipoib is unloaded)\n\nThis patch affects only bonds of IPoIB slaves. Ethernet slaves stay\nunaffected.\n\nSigned-off-by: Moni Shoua \u003cmonis@voltaire.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "f0c76d61779b153dbfb955db3f144c62d02173c2",
      "tree": "b0e4af463171108e23c3701c05b1ca9c53e4c07b",
      "parents": [
        "c16d118537cadb21d186e35aebad90a13cd78846"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Wed Jul 02 18:21:58 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Aug 07 03:59:53 2008 -0400"
      },
      "message": "bonding: refactor mii monitor\n\n\tRefactor mii monitor.  As with the previous ARP monitor refactor,\nthe motivation for this is to handle locking rationally (in this case,\nremoving conditional locking) and generally clean up the code.\n\n\tThis patch breaks up the monolithic mii monitor into two phases:\nan inspection phase, followed by an optional commit phase.  The commit phase\nis the only portion that requires RTNL or makes changes to state, and is\nonly called when inspection finds something to change.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\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": "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": "b9e40857682ecfc5bcd0356a23ff409883ffb982",
      "tree": "d241fd289bed6d16f36f6d26815c1e78e212c89a",
      "parents": [
        "e308a5d806c852f56590ffdd3834d0df0cbed8d7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:15:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:15:08 2008 -0700"
      },
      "message": "netdev: Do not use TX lock to protect address lists.\n\nNow that we have a specific lock to protect the network\ndevice unicast and multicast lists, remove extraneous\ngrabs of the TX lock in cases where the code only needs\naddress list protection.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e308a5d806c852f56590ffdd3834d0df0cbed8d7",
      "tree": "294ff654e90950f5162737c26f4799b0b710b748",
      "parents": [
        "f1f28aa3510ddb84c966bac65611bb866c77a092"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:13:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 15 00:13:44 2008 -0700"
      },
      "message": "netdev: Add netdev-\u003eaddr_list_lock protection.\n\nAdd netif_addr_{lock,unlock}{,_bh}() helpers.\n\nUse them to protect operations that operate on or read\nthe network device unicast and multicast address lists.\n\nAlso use them in cases where the code simply wants to\nblock calls into the driver\u0027s -\u003eset_rx_mode() and\n-\u003eset_multicast_list() methods.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e1a1ac1fbaa88fe254400b7f30b775502932ad3",
      "tree": "5084fc1e90687cdec4ad62cd1ae81b75e6efe765",
      "parents": [
        "2aeb0b88b3c7a0e3bef55e7ff0efffd5d971aa57"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Jul 14 20:51:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:51:36 2008 -0700"
      },
      "message": "bonding: Check return of dev_set_promiscuity/allmulti\n\ndev_set_promiscuity/allmulti might overflow.\nCommit: \"netdevice: Fix promiscuity and allmulti overflow\" in net-next makes\ndev_set_promiscuity/allmulti return error number if overflow happened.\n\nIn bond_alb and bond_main, we check all positive increment for promiscuity\nand allmulti to get error return.\nBut there are still two problems left.\n1. Some code path has no mechanism to signal errors upstream.\n2. If there are multi slaves, it\u0027s hard to tell which slaves increment\n   promisc/allmulti successfully and which failed.\nSo I left these problems to be FIXME.\nFortunately, the overflow is very rare case.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\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": "b8a9787eddb0e4665f31dd1d64584732b2b5d051",
      "tree": "08b7537e70b6a96bc04d231d31ccd644e1387e62",
      "parents": [
        "b59f9f74c4c0a569398f08c34a877f1b7b457496"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Fri Jun 13 18:12:04 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Jun 18 00:00:04 2008 -0400"
      },
      "message": "bonding: Allow setting max_bonds to zero\n\n\tPermit bonding to function rationally if max_bonds is set to\nzero.  This will load the module, but create no master devices (which can\nbe created via sysfs).\n\n\tRequires some change to bond_create_sysfs; currently, the\nnetdev sysfs directory is determined from the first bonding device created,\nbut this is no longer possible.  Instead, an interface from net/core is\ncreated to create and destroy files in net_class.\n\n\tBased on a patch submitted by Phil Oester \u003ckernel@linuxaces.com\u003e.\nModified by Jay Vosburgh to fix the sysfs issue mentioned above and to\nupdate the documentation.\n\nSigned-off-by: Phil Oester \u003ckernel@linuxace.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "b59f9f74c4c0a569398f08c34a877f1b7b457496",
      "tree": "714ec0e4840f1eaf9468f63c326203afee0b2d69",
      "parents": [
        "01f3109de49a889db8adf9116449727547ee497e"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Fri Jun 13 18:12:03 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Jun 18 00:00:04 2008 -0400"
      },
      "message": "bonding: Rework / fix multiple gratuitous ARP support\n\n\tSupport for sending multiple gratuitous ARPs during failovers\nwas added by commit:\n\ncommit 7893b2491a2d5f716540ac5643d78d37a7f6628b\nAuthor: Moni Shoua \u003cmonis@voltaire.com\u003e\nDate:   Sat May 17 21:10:12 2008 -0700\n\n    bonding: Send more than one gratuitous ARP when slave takes over\n\n\tThis change modifies that support to remove duplicated code,\nadd support for ARP monitor (the original only supported miimon), clear\nthe grat ARP counter in bond_close (lest a later \"ifconfig up\" immediately\nstart spewing ARPs), and add documentation for the module parameter.\n\n\tAlso updated driver version to 3.3.0.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "01f3109de49a889db8adf9116449727547ee497e",
      "tree": "5c35e4c7b39c9e652549a69b7c635edb96e1d68e",
      "parents": [
        "709f8a45e8521f2f4229e5fdf3ded1fb77e2ca4e"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Fri Jun 13 18:12:02 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Jun 17 23:59:42 2008 -0400"
      },
      "message": "bonding: deliver netdev event for fail-over under the active-backup mode\n\nunder active-backup mode and when there\u0027s actual new_active slave,\nhave bond_change_active_slave() call the networking core to deliver\nNETDEV_BONDING_FAILOVER event such that the fail-over can be notable\nby code outside of the bonding driver such as the RDMA stack and\nmonitoring tools.\n\nAs the correct context of locking appropriate for notifier calls is RTNL\nand nothing else, bond-\u003ecurr_slave_lock and bond-\u003elock are unlocked and\nlater locked again. This is ensured by the rest of the code to be safe\nunder backup-mode AND when new_active is not NULL.\n\nJay Vosburgh modified the original patch for formatting and fixed a\ncompiler error.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "709f8a45e8521f2f4229e5fdf3ded1fb77e2ca4e",
      "tree": "6fcc38034efaa4292b90e0f4b1bc50642d54864f",
      "parents": [
        "c1da4ac752b8b0411791d26c678fcf23d2eed242"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Fri Jun 13 18:12:01 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Jun 17 23:59:41 2008 -0400"
      },
      "message": "bonding: bond_change_active_slave() cleanup under active-backup\n\nsimplified the code of bond_change_active_slave() such that under\nactive-backup mode there\u0027s one \"if (new_active)\" test and the rest\nof the code only does extra checks on top of it. This removed an\nunneeded \"if (bond-\u003esend_grat_arp \u003e 0)\" check and avoid calling\nbond_send_gratuitous_arp when there\u0027s no active slave.\n\nJay Vosburgh made minor coding style changes to the orignal patch.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "3915c1e8634a321d9680e5cd80a53053b642dc0c",
      "tree": "430b2168edbc7f6c4ba3698d261b8573b422658a",
      "parents": [
        "b2220cad583c9b63e085476df448fa2aff5ea906"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Sat May 17 21:10:14 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu May 22 06:34:29 2008 -0400"
      },
      "message": "bonding: Add \"follow\" option to fail_over_mac\n\n\tAdd a \"follow\" selection for fail_over_mac.  This option\ncauses the MAC address to move from slave to slave as the active\nslave changes.  This is in addition to the existing fail_over_mac option\nthat causes the bond\u0027s MAC address to change during failover.\n\n\tThis new option is useful for devices that cannot tolerate\nmultiple ports using the same MAC address simultaneously, either\nbecause it confuses them or incurs a performance penalty (as is the\ncase with some LPAR-aware multiport devices).  Because the MAC of the\nbond itself does not change, the \"follow\" option is slightly more\nreliable during failover and doesn\u0027t change the MAC of the bond during\noperation.\n\n\tThis patch requires a previous ARP monitor change to properly\nhandle RTNL during failovers.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "b2220cad583c9b63e085476df448fa2aff5ea906",
      "tree": "73d2322a9e5edd2ef7f2e97f523162b57f3e8ebb",
      "parents": [
        "7893b2491a2d5f716540ac5643d78d37a7f6628b"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Sat May 17 21:10:13 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu May 22 06:34:28 2008 -0400"
      },
      "message": "bonding: refactor ARP active-backup monitor\n\n\tRefactor ARP monitor for active-backup mode.  The motivation for\nthis is to take care of locking issues in a clear manner (particularly to\ncorrectly handle RTNL vs. the bonding locks).  Currently, the a-b ARP\nmonitor does not hold RTNL at all, but future changes will require RTNL\nduring ARP monitor failovers.\n\n\tRather than using conditional locking, this patch instead breaks\nup the ARP monitor into three discrete steps: inspection, commit changes,\nand probe.  The inspection phase marks slaves that require link state\nchanges.  The commit phase is only called if inspection detects that\nchanges are needed, and is called with RTNL.  Lastly, the probe phase\nissues the ARP probes that the inspection phase uses to determine link\nstate.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "7893b2491a2d5f716540ac5643d78d37a7f6628b",
      "tree": "2558b83e5a19b7d4a6b3c10c5bb90919bb1f3889",
      "parents": [
        "8047637c70e4451e2ac1c17ed9a91a2f753daae7"
      ],
      "author": {
        "name": "Moni Shoua",
        "email": "monis@voltaire.com",
        "time": "Sat May 17 21:10:12 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu May 22 06:34:26 2008 -0400"
      },
      "message": "bonding: Send more than one gratuitous ARP when slave takes over\n\nWith IPoIB, reception of gratuitous ARP by neighboring hosts\nis essential for a successful change of slaves in case of failure.\nOtherwise, they won\u0027t learn about the HW address change and need\nto wait a long time until the neighboring system gives up and sends\nan ARP request to learn the new HW address.  This patch decreases\nthe chance for a lost of a gratuitous ARP packet by sending it more\nthan once. The number retries is configurable and can be set with a\nmodule param.\n\nSigned-off-by: Moni Shoua \u003cmonis@voltaire.com\u003e\nAcked-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "8047637c70e4451e2ac1c17ed9a91a2f753daae7",
      "tree": "8119a215591c62175bc82dab5438d57790f0c14e",
      "parents": [
        "0883beca7f39ab0c6447af35080e5caaa07418e3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat May 17 21:10:11 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu May 22 06:34:25 2008 -0400"
      },
      "message": "bonding: Remove unneeded list_empty checks.\n\nSome places iterate over the checked list right after the check\nitself, so even if the list is empty, the list_for_each_xxx\niterator will make everything right by himself.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "0883beca7f39ab0c6447af35080e5caaa07418e3",
      "tree": "160996e2c3483095ec5a1b88cfa975a6f1982533",
      "parents": [
        "0dd646fe0549251e79d6fb03e6773bcc6ccea61f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat May 17 21:10:10 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu May 22 06:34:22 2008 -0400"
      },
      "message": "bonding: Relax unneeded _safe lists iterations.\n\nMany places either do not modify the list under the list_for_each_xxx,\nor break out of the loop as soon as the first element is removed.\n\nThus, this _safe iteration just occupies some unneeded .text space\nand requires an additional variable.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "0dd646fe0549251e79d6fb03e6773bcc6ccea61f",
      "tree": "f767ff2d0df29a8917b309819123e7873a5c7271",
      "parents": [
        "4b8a9239ee708958ed72722a0e5e0cf34243ad26"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat May 17 21:10:09 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu May 22 06:34:21 2008 -0400"
      },
      "message": "bonding: Remove redundant argument from bond_create.\n\nWhile we\u0027re fixing the bond_create, I hope it\u0027s OK to polish it\na bit after the fixes.\n\nThe third argument is NULL at the first caller and is ignored by\nthe second one, so remove it.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "4b8a9239ee708958ed72722a0e5e0cf34243ad26",
      "tree": "6ec9644e7426d8c23508cb0924dfc71e1474426b",
      "parents": [
        "5ce0da8f0386b62345312ec8fed31303732f4220"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Sat May 17 21:10:08 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu May 22 06:34:18 2008 -0400"
      },
      "message": "bonding: remove test for IP in ARP monitor\n\n\tRemove bond_has_ip and all references to it.  With this change,\nthe ARP monitor will always send ARP probes if the master is up and has\nat least one slave.  If the bond has an IP address, it is used in the\nARP probe; if not, the probes are sent with all zeros in the sender\u0027s\nIP address (which is consistent with an RFC 2131 4.4.1 duplicate address\nprobe).\n\n\tThis is useful for cases when bonding itself is hidden underneath\na layer of virtual devices, e.g., with Xen.\n\n\tChange suggested by Tsutomu Fujii \u003ct-fujii@nb.jp.nec.com\u003e, who\nincluded a one-line patch that only affected active-backup mode.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "5ce0da8f0386b62345312ec8fed31303732f4220",
      "tree": "001fb0e4f6b256f07851936f74d0805f931b63e8",
      "parents": [
        "d63ddcec20f59e78212aeaf5144e9652c0097211"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Sat May 17 21:10:07 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu May 22 06:34:17 2008 -0400"
      },
      "message": "bonding: Use msecs_to_jiffies, eliminate panic\n\n\tConvert bonding to use msecs_to_jiffies instead of doing the\nmath.  For the ARP monitor, there was an underflow problem that could\nresult in an infinite loop.  The miimon already had that worked around,\nbut this is cleaner.\n\n\tOriginally by Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nJay Vosburgh corrected a math error in the original; Nicolas\u0027 original\ncommit message is:\n\nWhen setting arp_interval parameter to a very low value, delta_in_ticks\nfor next arp might become 0, causing an infinite loop.\n\nSee http://bugzilla.kernel.org/show_bug.cgi?id\u003d10680\n\nSame problem for miimon parameter already fixed, but fix might be\nenhanced, by using msecs_to_jiffies() function.\n\nSigned-off-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "38d2f38be9e4a2f1e3324c973a903aa972f71d0f",
      "tree": "f5a2b3b4cd26abefead85a723dc9e64494bf9e13",
      "parents": [
        "0599ad53fee2d084f9ba26247d7452f06a40d298"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed May 14 22:35:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 14 22:35:04 2008 -0700"
      },
      "message": "bonding: handle case of device named bonding_master\n\nIf device already exists named bonding_masters, then fail. This is a wierd\ncorner case only a QA group could love.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "569f0c4d909c7f73de634abcdc36344cb72de36a",
      "tree": "e8fead8972dd34fde23e0931bffa17e9dbdb8bfb",
      "parents": [
        "ae68c39819ddf30549652962768a50edae5eec6f"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Fri May 02 18:06:02 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue May 06 12:01:32 2008 -0400"
      },
      "message": "bonding: fix enslavement error unwinds\n\n\tAs part of:\n\ncommit c2edacf80e155ef54ae4774379d461b60896bc2e\nAuthor: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nDate:   Mon Jul 9 10:42:47 2007 -0700\n\n    bonding / ipv6: no addrconf for slaves separately from master\n\ntwo steps were rearranged in the enslavement process: netdev_set_master\nis now before the call to dev_open to open the slave.\n\n\tThis patch updates the error cases and unwind process at the\nend of bond_enslave to match the new order.  Without this patch, it is\npossible for the enslavement to fail, but leave the slave with IFF_SLAVE\nset in its flags.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "ae68c39819ddf30549652962768a50edae5eec6f",
      "tree": "0d0ef28152945ad23b72f6cff62a8dfc0345224b",
      "parents": [
        "c4ebc66a1a8e3576322a9f47f0d06ec3c96a08d7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri May 02 17:49:39 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue May 06 12:01:30 2008 -0400"
      },
      "message": "bonding: Deadlock between bonding_store_bonds and bond_destroy_sysfs.\n\nThe sysfs layer has an internal protection, that ensures, that\nall the process sitting inside -\u003esore/-\u003eshow callback exits\nbefore the appropriate entry is unregistered (the calltraces\nare rather big, but I can provide them if required).\n\nOn the other hand, bonding takes rtnl_lock in\na) the bonding_store_bonds, i.e. in -\u003estore callback,\nb) module exit before calling the sysfs unregister routines.\n\nThus, the classical AB-BA deadlock may occur. To reproduce run\n# while :; do modprobe bonding; rmmod bonding; done\nand\n# while :; do echo \u0027+bond%d\u0027 \u003e /sys/class/net/bonding_masters ; done\nin parallel.\n\nThe fix is to move the bond_destroy_sysfs out of the rtnl_lock,\nbut _before_ bond_free_all to make sure no bonding devices exist\nafter module unload.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "c4ebc66a1a8e3576322a9f47f0d06ec3c96a08d7",
      "tree": "ec9959fe23520db9074b3f197508523595b93afc",
      "parents": [
        "822973ba79fd5a5b711270c2de7196c6b50c6687"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Fri May 02 17:49:38 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue May 06 12:01:29 2008 -0400"
      },
      "message": "bonding: fix error unwind in bonding_store_bonds\n\n\tFixed an error unwind in bonding_store_bonds that didn\u0027t release\nthe locks it held, and consolidated unwinds into a common block at the\nend of the function.  Bug reported by Pavel Emelyanov \u003cxemul@openvz.org\u003e,\nwho provided a different fix.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "822973ba79fd5a5b711270c2de7196c6b50c6687",
      "tree": "dfed6d24c5a9a82cb1b82279534745e889b534ad",
      "parents": [
        "9d1045ad68fcccfaf1393cc463ab6357693e8d1d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri May 02 17:49:37 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue May 06 12:01:27 2008 -0400"
      },
      "message": "bonding: Do not call free_netdev for already registered device.\n\nIf the call to bond_create_sysfs_entry in bond_create fails, the\nproper rollback is to call unregister_netdevice, not free_netdev.\nOtherwise - kernel BUG at net/core/dev.c:4057!\n\nChecked with artificial failures injected into bond_create_sysfs_entry.\n\nPavel\u0027s original patch modified by Jay Vosburgh to move code around\nfor clarity (remove goto-hopping within the unwind block).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "a95609cb0283a23e519e607ff9fc2a4aa77e2532",
      "tree": "053d411aa27dafead6326a70d0ca3482bd2d0494",
      "parents": [
        "cf7acfab032ff262f42954328cdfd20a5d9aaaac"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:22 2008 -0700"
      },
      "message": "netdev: use non-racy method for proc entries creation\n\nUse proc_create()/proc_create_data() to make sure that -\u003eproc_fops and -\u003edata\nbe setup before gluing PDE to main tree.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc13b385999f163dc30c73d66f2ac6d67410528d",
      "tree": "a7dc27d3765f775864eb4c86ccd7cea2ca65d7e5",
      "parents": [
        "c5e38a949bfa11d10f73927fbf4fe66b73bc3001"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Apr 10 14:39:30 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Apr 16 20:09:35 2008 -0400"
      },
      "message": "drivers/net/bonding/bond_main.c - remove unnecessary #define\n\nbond_main.c already #includes \u003clinux/seq_file.h\u003e\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "e1ec1b8ccdf0df6000faa8c2d985ca5f94157e5a",
      "tree": "4e1ca325dde22f1ac21c9da0be509e87e922e604",
      "parents": [
        "c0f39322c335412339dec16ebfd2a05ceba5ebcf",
        "802fb176d8c635ae42da31b80841c26e8c7338a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 22:35:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 22:35:23 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/s2io.c\n"
    },
    {
      "commit": "6952d8923bcc8d6b8b43b065cfe9a31bb24f0d58",
      "tree": "2d0b7987def9e9591596d054a28e07494338c45e",
      "parents": [
        "3480c63bdf008e9289aab94418f43b9592978fff"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 16:15:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 16:15:38 2008 -0700"
      },
      "message": "[BOND]: Fix warning in bond_sysfs.c\n\noriginal_mtu is only used if we end up with a non-NULL\ndev, and it is assigned in all such cases, but GCC can\u0027t\nsee that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e8e43843ba3ced0c657cbc0fdb10644ec60f772",
      "tree": "e64954326ced9c365c52c256f01b5f9fb1bcae66",
      "parents": [
        "ed85f2c3b2b72bd20f617ac749f5c22be8d0f66e",
        "50fd4407b8bfbde7c1a0bfe4f24de7df37164342"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 27 18:48:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 27 18:48:56 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/usb/rndis_host.c\n\tdrivers/net/wireless/b43/dma.c\n\tnet/ipv6/ndisc.c\n"
    },
    {
      "commit": "2cfb8b71ccb3ebca76cff48241527eba39226883",
      "tree": "3913598a5ff3d017d788e01ac55830bb0dc04bee",
      "parents": [
        "92b41daa45a505268b11de9b7cbde2c13c0223b5"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Fri Mar 21 22:29:36 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Mar 25 23:15:51 2008 -0400"
      },
      "message": "bonding: update version\n\n\tUpdate version to 3.2.5.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "92b41daa45a505268b11de9b7cbde2c13c0223b5",
      "tree": "0c13ab9c0773a5949547502777a9b829a2fe828c",
      "parents": [
        "966bc6f434df4a02108d01dda8cd52951fe853da"
      ],
      "author": {
        "name": "Libor Pechacek",
        "email": "lpechacek@suse.cz",
        "time": "Fri Mar 21 22:29:35 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Mar 25 23:15:48 2008 -0400"
      },
      "message": "bonding: Fix sysfs attribute handling\n\nFor bonding interfaces any attempt to read the sysfs directory contents after\nmodule removal results in an oops.  The fix is to release sysfs attributes\nfor the interfaces upon module unload.\n\nSigned-off-by: Libor Pechacek \u003clpechacek@suse.cz\u003e\nAcked-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "966bc6f434df4a02108d01dda8cd52951fe853da",
      "tree": "eb0a8e20b80475e22b4c5038a9bc246fda5fc605",
      "parents": [
        "2bf86b7aa8e74bf81a9872f7b610f49b610a4649"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Fri Mar 21 22:29:34 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Mar 25 23:15:40 2008 -0400"
      },
      "message": "bonding: fix two compiler warnings\n\n\tFix two compiler warnings that are new with recent versions of gcc\n(apparently 4.2 and up).  One is fixed by refactoring; this change was\nsupplied by Stephen Hemminger.  The other was fixed by labelling the\nvariable as uninitialized_var() after confirming via inspection that it\ncannot actually be used uninitialized.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2bf86b7aa8e74bf81a9872f7b610f49b610a4649",
      "tree": "243fab364159920c950e393194c0ba8421a15d05",
      "parents": [
        "26c080bf8308449330037f91daa3ac0a7c41023e"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Fri Mar 21 22:29:33 2008 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Mar 25 23:15:38 2008 -0400"
      },
      "message": "bonding: Fix locking in 802.3ad mode\n\n\tThe 802.3ad state machine lock can be acquired in both softirq and\nnot softirq context, but was not held at _bh to prevent a deadlock (which\ncould occur if a LACPDU arrived and was processed while the lock was\nheld).\n\n\tCorrected this, now hold the state machine lock at _bh to prevent\ndeadlock.\n\n\tBug reported by Todd Fleisher \u003ctodd@fleish.org\u003e.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\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": "988b705077d8f922408913f4f521ae073256d4a1",
      "tree": "9b57725b954e1e96a80043ed43d83f8e032b47b6",
      "parents": [
        "8ed7edce82ca0d8d3adba8c08cd42337af6c758c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 03 12:20:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 03 12:20:57 2008 -0800"
      },
      "message": "[ARP]: Introduce the arp_hdr_len helper.\n\nThere are some place, that calculate the ARP header length. These\ncalculations are correct, but \n a) some operate with \"magic\" constants,\n b) enlarge the code length (sometimes at the cost of coding style),\n c) are not informative from the first glance.\n\nThe proposal is to introduce a helper, that includes all the good\nsides of these calculations.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6133fb1aa137b35a8fa91ec17977ebf6a41456ec",
      "tree": "5bd2411fa97f9712f25ee95053a242db025b209c",
      "parents": [
        "6fc68624e524014fcd95faf726f855eb348f2e87"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:46:17 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:46:17 2008 -0800"
      },
      "message": "[NETNS]: Disable inetaddr notifiers in namespaces other than initial.\n\nip_fib_init is kept enabled. It is already namespace-aware.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43cd2595e76fce5f58d5b35d9875bcc48ddaf2e8",
      "tree": "e76128b0f8858b01c9f780bb9c004d1dadabc029",
      "parents": [
        "21c9d8d73dd1a152c49b4e3176193a099849d4c9"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Tue Jan 29 18:07:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 03 04:28:34 2008 -0800"
      },
      "message": "bonding: update version\n\n\tUpdate bonding to version 3.2.4.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "21c9d8d73dd1a152c49b4e3176193a099849d4c9",
      "tree": "115f1f6f1acd454db2ae0c56bc4e575476fa7b1e",
      "parents": [
        "2439f9ebd45349246b0fec7c47e6d0e05b1357c7"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Tue Jan 29 18:07:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 03 04:28:33 2008 -0800"
      },
      "message": "bonding: do not acquire rtnl in ARP monitor\n\n\tThe ARP monitor functions currently acquire RTNL when performing\nfailover operations, but do so incorrectly (out of order).  This causes\nvarious warnings from might_sleep.\n\n\tThe ARP monitor isn\u0027t supported for any of the bonding modes\nthat actually require RTNL, so it is safe to not hold RTNL when\nfailing over in the ARP monitor.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2439f9ebd45349246b0fec7c47e6d0e05b1357c7",
      "tree": "803000e31f25d0647d71bad8a7b9f2b7b3aea9c1",
      "parents": [
        "4fe4763cd8cacd81d892193efb48b99c99c15323"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Tue Jan 29 18:07:46 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 03 04:28:13 2008 -0800"
      },
      "message": "bonding: fix race that causes invalid statistics\n\nI\u0027ve seen reports of invalid stats in /proc/net/dev for bonding\ninterfaces, and found it\u0027s a pretty easy problem to reproduce.  Since\nthe current code zeros the bonding stats when a read is requested and a\npointer to that data is returned to the caller we cannot guarantee that\nthe caller has completely accessed the data before a successive call to\nrequest the stats zeroes the stats again.\n\nThis patch creates a new stack variable to keep track of the updated\nstats and copies the data from that variable into the bonding stats\nstructure.  This ensures that the value for any of the bonding stats\nshould not incorrectly return zero for any of the bonding statistics.\nThis does use more stack space and require an extra memcpy, but it seems\nlike a fair trade-off for consistently correct bonding statistics.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: Chris Snook \u003ccsnook@redhat.com\u003e\nAcked-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fe4763cd8cacd81d892193efb48b99c99c15323",
      "tree": "5eb58e95faa8cfc04a0d81993dcd99b5ecd93a98",
      "parents": [
        "80ee5ad23150f1f3fe8d35728e860850ccea44da"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Tue Jan 29 18:07:45 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 03 04:28:12 2008 -0800"
      },
      "message": "bonding: fix NULL pointer deref in startup processing\n\n\tFix the \"are we creating a duplicate\" check to not compare\nthe name if the name is NULL (meaning that the system should select\na name).  Bug reported by Benny Amorsen \u003cbenny+usenet@amorsen.dk\u003e.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80ee5ad23150f1f3fe8d35728e860850ccea44da",
      "tree": "4bab44a6762a87c59ba22ab688326f1a6fe075a1",
      "parents": [
        "a42e534f1b6be7f2f68f83d29588c3f2736b4d25"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Tue Jan 29 18:07:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 03 04:28:12 2008 -0800"
      },
      "message": "bonding: fix set_multicast_list locking\n\n\tThis patch eliminates a problem (reported by lockdep) in the\nbond_set_multicast_list function.  It first reduces the locking on\nbond-\u003elock to a simple read_lock, and second, adds netif_tx locking\naround the bonding mc_list manipulations that occur outside of the\nset_multicast_list function.\n\n\tThe original problem was related to IPv6 addrconf activity.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a42e534f1b6be7f2f68f83d29588c3f2736b4d25",
      "tree": "5a5d0ef85a0c71e4c290c130ee99b1b5beea5cfc",
      "parents": [
        "c800c5c9db9c621b2c1d70c3ae6532fafe2db69d"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Tue Jan 29 18:07:43 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 03 04:28:11 2008 -0800"
      },
      "message": "bonding: fix parameter parsing\n\n\tMy last fix (commit ece95f7fefe3afae19e641e1b3f5e64b00d5b948)\ndidn\u0027t handle one case correctly.  This resolves that, and it will now\ncorrectly parse parameters with arbitrary white space, and either text\nnames or mode values.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f206351a50ea86250fabea96b9af8d8f8fc02603",
      "tree": "014148d8b45db1995d98374ec3b30e635f243197",
      "parents": [
        "f1b050bf7a88910f9f00c9c8989c1bf5a67dd140"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:07:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:07 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_route_output_key.\n\nNeeded to propagate it down to the ip_route_output_flow.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5655662dab4ef044be7efd155f2f5fef2e486545",
      "tree": "d4003635df3c8cba3554e023d831ff8d4e5828e5",
      "parents": [
        "027ea0416c955778ceca7ef82e48a1dd6b4617c9"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Thu Jan 17 16:25:03 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Jan 18 14:38:39 2008 -0500"
      },
      "message": "bonding: Don\u0027t hold lock when calling rtnl_unlock\n\nChange bond_mii_monitor to not hold any locks when calling rtnl_unlock,\nas rtnl_unlock can sleep (when acquring another mutex in netdev_run_todo).\n\nBug reported by Makito SHIOKAWA \u003cmshiokawa@miraclelinux.com\u003e, who\nincluded a different patch.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "027ea0416c955778ceca7ef82e48a1dd6b4617c9",
      "tree": "ad823fb28b414d948fc372a08c8c15cee31bd8e1",
      "parents": [
        "ece95f7fefe3afae19e641e1b3f5e64b00d5b948"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Thu Jan 17 16:25:02 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Jan 18 14:38:39 2008 -0500"
      },
      "message": "bonding: fix lock ordering for rtnl and bonding_rwsem\n\nFix the handling of rtnl and the bonding_rwsem to always be acquired\nin a consistent order (rtnl, then bonding_rwsem).\n\nThe existing code sometimes acquired them in this order, and sometimes\nin the opposite order, which opens a window for deadlock between ifenslave\nand sysfs.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ece95f7fefe3afae19e641e1b3f5e64b00d5b948",
      "tree": "ea3846fa640e0c3ed4d4233ac005b653dcf69824",
      "parents": [
        "3b96c858fcb27120fcba222366180c3293393ccf"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Thu Jan 17 16:25:01 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Jan 18 14:38:38 2008 -0500"
      },
      "message": "bonding: Fix up parameter parsing\n\n\tA recent change to add an additional hash policy modified\nbond_parse_parm, but it now does not correctly match parameters passed in\nvia sysfs.\n\n\tRewrote bond_parse_parm to handle (a) parameter matches that\nare substrings of one another and (b) user input with whitespace (e.g.,\nsysfs input often has a trailing newline).\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3b96c858fcb27120fcba222366180c3293393ccf",
      "tree": "53309f366e2a66be42591dfd1ecc9ac34ed96202",
      "parents": [
        "2543331d367c9fe54f4ba73300894bc21e0a08f4"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Thu Jan 17 16:25:00 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Jan 18 14:38:38 2008 -0500"
      },
      "message": "bonding: release slaves when master removed via sysfs\n\n\tAdd a call to bond_release_all in the bonding netdev event\nhandler for the master.  This releases the slaves for the case of, e.g.,\n\"echo -bond0 \u003e /sys/class/net/bonding_masters\", which otherwise will spin\nforever waiting for references to be released.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2543331d367c9fe54f4ba73300894bc21e0a08f4",
      "tree": "83c43c448b7f18541dbe70ca4ff80138f8e695d4",
      "parents": [
        "e0138a66e18c6755ee29ce13b3f1142af775dc5f"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Thu Jan 17 16:24:59 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Jan 18 14:38:38 2008 -0500"
      },
      "message": "bonding: fix locking during alb failover and slave removal\n\n\talb_fasten_mac_swap (actually rlb_teach_disabled_mac_on_primary)\nrequries RTNL and no other locks.  This could cause dev_set_promiscuity\nand/or dev_set_mac_address to be called with improper locking.\n\n\tChanged callers to hold only RTNL during calls to alb_fasten_mac_swap\nor functions calling it.  Updated header comments in affected functions to\nreflect proper reality of locking requirements.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e0138a66e18c6755ee29ce13b3f1142af775dc5f",
      "tree": "85a7443ff69676ed9bfe6f550e0f262172ab0750",
      "parents": [
        "e934dd7862e7f613b2ce9730d548a0a70913c8f7"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Thu Jan 17 16:24:58 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Jan 18 14:38:38 2008 -0500"
      },
      "message": "bonding: fix ASSERT_RTNL that produces spurious warnings\n\n\tMove an ASSERT_RTNL down to where we should hold only RTNL;\nthe existing check produces spurious warnings because we hold additional\nlocks at _bh, tripping a debug warning in spin_lock_mutex().\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e934dd7862e7f613b2ce9730d548a0a70913c8f7",
      "tree": "9f6cd6b7e15614bc47d85806e4b5472ac65ab2ca",
      "parents": [
        "03bbe082cffc4533f6557bf23f0c672307067246"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Thu Jan 17 16:24:57 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Jan 18 14:38:38 2008 -0500"
      },
      "message": "bonding: fix locking in sysfs primary/active selection\n\n\tFix the functions that store the primary and active slave\noptions via sysfs to hold the correct locks in the correct order.\n\n\tThe bond_change_active_slave and bond_select_active_slave\nfunctions both require rtnl, bond-\u003elock for read and curr_slave_lock for\nwrite_bh, and no other locks.  This is so that the lower level\nmode-specific functions (notably for balance-alb mode) can release locks\ndown to just rtnl in order to call, e.g., dev_set_mac_address with the\nlocks it expects (rtnl only).\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "fdaea7a93d097b066e76c7db6091228a84f87ec2",
      "tree": "b339439c29b8696b57cd83644f355dbb34008f70",
      "parents": [
        "6f6652be183c8c7cb99c646dd7494ab45e4833ba"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Thu Dec 06 23:40:35 2007 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Dec 07 15:00:34 2007 -0500"
      },
      "message": "bonding: Fix race at module unload\n\n\tFixes a race condition in module unload.  Without this change,\nworkqueue events may fire while bonding data structures are partially\nfreed but before bond_close() is invoked by unregister_netdevice().\n\n\tUpdate version to 3.2.3.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6f6652be183c8c7cb99c646dd7494ab45e4833ba",
      "tree": "8ab3acaa0f7887aad46d0a1dd10f800312d657fa",
      "parents": [
        "b63bb739a1d24f395c09f88ff43c54c736a60453"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Thu Dec 06 23:40:34 2007 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Dec 07 15:00:32 2007 -0500"
      },
      "message": "bonding: Add new layer2+3 hash for xor/802.3ad modes\n\n \tAdd new hash for balance-xor and 802.3ad modes.  Originally\n submitted by \"Glenn Griffin\" \u003cggriffin.kernel@gmail.com\u003e; modified by\n Jay Vosburgh to move setting of hash policy out of line, tweak the\n documentation update and add version update to 3.2.2.\n\n\tGlenn\u0027s original comment follows:\n\nIncluded is a patch for a new xmit_hash_policy for the bonding driver\nthat selects slaves based on MAC and IP information.  This is a middle\nground between what currently exists in the layer2 only policy and the\nlayer3+4 policy.  This policy strives to be fully 802.3ad compliant by\ntransmitting every packet of any particular flow over the same link.\nAs documented the layer3+4 policy is not fully compliant for extreme\ncases such as ip fragmentation, so this policy is a nice compromise\nfor environments that require full compliance but desire more than the\nlayer2 only policy.\n\nSigned-off-by: \"Glenn Griffin\" \u003cggriffin.kernel@gmail.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    }
  ],
  "next": "b63bb739a1d24f395c09f88ff43c54c736a60453"
}
