]> git.openfabrics.org - ~shefty/ibacm.git/commitdiff
acm.c: Handle client reregister local event
authorHal Rosenstock <hal@dev.mellanox.co.il>
Fri, 2 Aug 2013 12:00:37 +0000 (08:00 -0400)
committerSean Hefty <sean.hefty@intel.com>
Mon, 5 Aug 2013 17:35:00 +0000 (10:35 -0700)
When client reregister is requested, ACM should rejoin/recreate
ACM multicast groups.

Signed-off-by: Hal Rosenstock <hal@mellanox.com>
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
src/acm.c

index 0da20f834e7a687e6ccc9da15899b72b7b62a053..c1d6955c420d60ba743cac03ce349a2f4fe30531 100644 (file)
--- a/src/acm.c
+++ b/src/acm.c
@@ -3282,6 +3282,13 @@ static void CDECL_FUNC acm_event_handler(void *context)
                        if (dev->port[i].state == IBV_PORT_ACTIVE)
                                acm_port_down(&dev->port[i]);
                        break;
+               case IBV_EVENT_CLIENT_REREGISTER:
+                       if (dev->port[i].state == IBV_PORT_ACTIVE) {
+                               acm_port_join(&dev->port[i]);
+                               acm_log(1, "%s %d has reregistered\n",
+                                       dev->verbs->device->name, i + 1);
+                       }
+                       break;
                default:
                        break;
                }