ipoib hw multicast addresses

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux