On Tue, Jun 12, 2018 at 07:33:13PM +0000, Ruhl, Michael J wrote: > >From: Hal Rosenstock [mailto:hal@xxxxxxxxxxxxxxxxxx] > >Sent: Tuesday, June 12, 2018 3:05 PM > >To: Ruhl, Michael J <michael.j.ruhl@xxxxxxxxx>; Jason Gunthorpe > ><jgg@xxxxxxxx> > >Cc: RDMA mailing list <linux-rdma@xxxxxxxxxxxxxxx> > >Subject: Re: ipoib hw multicast addresses > > > >On 6/12/2018 12:06 PM, Ruhl, Michael J wrote: > >> When the netdev device is registered (netdev_register) from > >> ipoib_add_port(), the first (incorrect) "HW" address is added to the > >> device MC list: > >> > >> link 00:ff:ff:ff:ff:12:60:1b:80:00:00:00:00:00:00:00:00:00:00:01 > >> ^^^^ (invalid PKEY) > > > >Per RFC 4391, format is: > > | 8 | 4 | 4 | 16 bits | 16 bits | 80 bits | > > +------ -+----+----+-----------------+---------+-------------------+ > > |11111111|0001|scop|<IPoIB signature>|< P_Key >| group ID | > > +--------+----+----+-----------------+---------+-------------------+ > > > >so this is PKey 0x8000 for IPv6 (0x601b) multicast group ID 1 which is > >the "all nodes address". > > > >> The PKEY has not been set, so this address always will be wrong. > > > >At init time, IBA requires that pkey index 0 has the full default pkey > >(0x8000) so it probably comes from there. > > Hi Hal, > > The IBTA spec (section 10.9.1.2) says that the default pkey is 0xFFFF. > The invalid pkey is "low-order 15 bits are all zero". > > So I am confused by the usage of 0x8000 in RFC 4391. > > During IPoIB module init, the value is queried from the PKEY table, but > this occurs before the PKEY table has been set. > > Should this value be set to 0xFFFF rather than 0x8000 before the > netdev_registration() is called? > > That still doesn't seem right. > > The net_device_ops callback function ndo_open() is called sometime after > the registration. > > It looks at the given pkey (0x8000) and determines that it is invalid and give > the warning: > > ib0: P_Key 0x8000 is Invalid Hum, something seems wrong here.. The interface should remain carrier-down until the link goes to ACTIVE and a valid pkey is provided by the SM in index 0. Jason -- 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