


This happened anytime the user specified a ping interval short enough to result in there being 8 or more outstanding ping packets as there are 8 outgoing sockets used by rds-ping by default. Reuse of the outgoing RDS ping sockets before the last sent package had received its ACK caused the rds-ping utility to corrupt its internal data. As a result, when a user reloads the IPoIB module, and when the IPoIB interface's MAC address changes, the ifup-ib and ifdown-ib scripts will properly match against the portion that did not change and recognize the interface correctly. To solve this problem, this update implements custom ifup-ib and ifdown-ib network scripts that are aware of the portion of an IPoIB's MAC address that is constant versus the portion that is subject to change. Consequently, when users created ifcfg-ibX files that specified the MAC address of the IPoIB interface, after a reload of the IPoIB kernel module, when the MAC address no longer matched, the IPoIB interface failed to be recognized as a configured interface by the network subsystem. Because the queue pair number is encoded in the MAC address of the IPoIB interface, and because it can change when the IPoIB module is unloaded and reloaded, the final MAC address of IPoIB interfaces can change. However, when unloading and reloading the IPoIB module, it is likely that a different queue pair to the IPoIB queue pair will be assigned. The queue pair that the interface is attached to is encoded in the hardware MAC address. The IPoIB interface has a generated hardware MAC address. IP over InfinBand ( IPoIB) interfaces are artificial constructs created on top of InfiniBand RDMA devices.
