)]}'
{
  "commit": "b3e2749bf32f61e7beb259eb7cfb066d2ec6ad65",
  "tree": "3fb0ce0dd2c470b00a9bb942c163fd77f2a1dc51",
  "parents": [
    "450bb3875f5f5ab3679823c941d6045d16967370"
  ],
  "author": {
    "name": "Or Gerlitz",
    "email": "ogerlitz@voltaire.com",
    "time": "Tue Mar 11 16:10:02 2008 +0200"
  },
  "committer": {
    "name": "Roland Dreier",
    "email": "rolandd@cisco.com",
    "time": "Tue Mar 11 14:12:03 2008 -0700"
  },
  "message": "IPoIB: Don\u0027t drop multicast sends when they can be queued\n\nWhen set_multicast_list() is called the multicast task is restarted\nand the IPOIB_MCAST_STARTED bit is cleared.  As a result for some\nwindow of time, multicast packets are not transmitted nor queued but\nrather dropped by ipoib_mcast_send().  These dropped packets are\npainful in two cases:\n\n - bonding fail-over which both calls set_multicast_list() on the new\n   active slave and sends Gratuitous ARP through that slave.\n\n - IP_DROP_MEMBERSHIP code which both calls set_multicast_list() on the\n   device and issues IGMP leave.\n\nIn both these cases, depending on the scheduling of the IPoIB\nmulticast task, the packets would be dropped.  As a result, in the\nbonding case, the failover would not be detected by the peers until\ntheir neighbour is renewed the neighbour (which takes a few tens of\nseconds).  In the IGMP case, the IP router doesn\u0027t get an IGMP leave\nand would only learn on that from further probes on the group (also a\ndelay of at least a few tens of seconds).\n\nFix this by allowing transmission (or queuing) depending on the\nIPOIB_FLAG_OPER_UP flag instead of the IPOIB_MCAST_STARTED flag.\n\nSigned-off-by: Olga Shern \u003colgas@voltaire.com\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2628339e3a9973b01402250f8e6bf73be5d37c04",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/ulp/ipoib/ipoib_multicast.c",
      "new_id": "31a53c5bcb1317cd52dc2be80dd3f43238184d6e",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/ulp/ipoib/ipoib_multicast.c"
    }
  ]
}
