Hi, I noticed something WRT the IPoIB hw muilticast addresses, and I was wondering if this was expected behavior, or if there might be something that needs to be looked at. When I bring up the ib0 device, I see: # ip maddr show ib0 32: ib0 link 00:ff:ff:ff:ff:12:60:1b:80:00:00:00:00:00:00:00:00:00:00:01 ^^^^ inet6 ff02::1 inet6 ff01::1 Note that the PKEY is 0x8000. More on this later... After setting the PKEY to 0x8001, and doing an ifup I see: # ifup ib0 # ip maddr show ib0 32: ib0 link 00:ff:ff:ff:ff:12:60:1b:80:00:00:00:00:00:00:00:00:00:00:01 ^^^^ link 00:ff:ff:ff:ff:12:40:1b:80:01:00:00:00:00:00:00:00:00:00:01 link 00:ff:ff:ff:ff:12:60:1b:80:01:00:00:00:00:00:01:ff:65:ac:56 ^^^^ inet 224.0.0.1 inet6 ff02::1:ff65:ac56 inet6 ff02::1 inet6 ff01::1 I had assumed that the 12:60:1b:80:00 entry would be deleted and replaced with one like this: 12:60:1b:80:01. If I change the PKEY from 0x8001 to 0x8004 (using the SM, and without doing an ifdown) I see the same information as the above (3 hw address links with the PKEY of 0x8000 and 0x8001). However, if I do a ifdown ib0: # ifdown ib0 # ip maddr show ib0 32: ib0 link 00:ff:ff:ff:ff:12:60:1b:80:00:00:00:00:00:00:00:00:00:00:01 link 00:ff:ff:ff:ff:12:40:1b:80:01:00:00:00:00:00:00:00:00:00:01 link 00:ff:ff:ff:ff:12:60:1b:80:01:00:00:00:00:00:01:ff:65:ac:56 inet6 ff02::1 inet6 ff01::1 # ifup ib0 # ip maddr show ib0 32: ib0 link 00:ff:ff:ff:ff:12:60:1b:80:00:00:00:00:00:00:00:00:00:00:01 link 00:ff:ff:ff:ff:12:40:1b:80:01:00:00:00:00:00:00:00:00:00:01 link 00:ff:ff:ff:ff:12:60:1b:80:01:00:00:00:00:00:01:ff:65:ac:56 link 00:ff:ff:ff:ff:12:40:1b:80:04:00:00:00:00:00:00:00:00:00:01 link 00:ff:ff:ff:ff:12:60:1b:80:04:00:00:00:00:00:00:00:00:00:01 link 00:ff:ff:ff:ff:12:60:1b:80:04:00:00:00:00:00:01:ff:65:ac:56 ^^^^ inet 224.0.0.1 inet6 ff02::1:ff65:ac56 inet6 ff02::1 inet6 ff01::1 You can now see that I have 6 link entries. The three new entries have 0x8004 as the PKEY, and the lower bits are similar to the original 3 with the old PKEY values. Looking into this, I found that the netdev device has a list of HW addresses (the links), and it appears that when a PKEY change occurs, that this list is not cleaned up. So I had a couple of questions: 1) should this list be cleaned up? (the check in ipoib_mcast_restart_task() where the mc_addr list is walked might be a good place, when an address fails the ipoib_mcast_addr_is_valid() check) 2) should this list be populated on the pkey change (i.e. during the HEAVY_FLUSH), whitout needing to do an ifdow/ifup sequence? Any thoughts or comments are welcome... :) Thanks, Mike -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html