)]}'
{
  "commit": "66e63ffbc04706568d8789cbb00eaa8ddbcae648",
  "tree": "665aad7d94bc9d97a4413bfd15d65dd7db173388",
  "parents": [
    "66823b928d746df21485deeff6744c77702abf29"
  ],
  "author": {
    "name": "Lennert Buytenhek",
    "email": "buytenh@marvell.com",
    "time": "Thu Nov 20 03:58:27 2008 -0800"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Thu Nov 20 03:58:27 2008 -0800"
  },
  "message": "mv643xx_eth: implement -\u003eset_rx_mode()\n\nCurrently, if multiple unicast addresses are programmed into a\nmv643xx_eth interface, the core networking will resort to enabling\npromiscuous mode on the interface, as mv643xx_eth does not implement\n-\u003eset_rx_mode().\n\nThis patch switches mv643xx_eth over from -\u003eset_multicast_list()\nto -\u003eset_rx_mode(), and implements support for secondary unicast\naddresses.  The hardware can handle multiple unicast addresses as\nlong as their first 11 nibbles are the same (i.e. are of the form\nxx:xx:xx:xx:xx:xy where the x part is the same for all addresses), so\nif that is the case, we use that mode.  If it\u0027s not the case, we enable\nunicast promiscuous mode in the hardware, which is slightly better than\nenabling promiscuous mode for multicasts as well, which is what would\nhappen before.\n\nWhile we are at it, change the programming sequence so that we\ndon\u0027t clear all filter bits first, so we don\u0027t lose all incoming\npackets while the filter is being reprogrammed.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3326587d8ce36dbab53940d022d34d07e994f719",
      "old_mode": 33188,
      "old_path": "drivers/net/mv643xx_eth.c",
      "new_id": "9f3ee7d6a5bcaeb737a8380dee14a41f895115ac",
      "new_mode": 33188,
      "new_path": "drivers/net/mv643xx_eth.c"
    }
  ]
}
