On 11/28/2016 12:08 PM, Steve Wise wrote: >> >> On Sun, Nov 27, 2016 at 04:51:27PM +0200, Leon Romanovsky wrote: >> >>> +static inline bool rdma_protocol_raw_packet(const struct ib_device *device, > u8 >> port_num) >>> +{ >>> + return device->port_immutable[port_num].core_cap_flags & >> RDMA_CORE_CAP_PROT_RAW_PACKET; >>> +} >> >> Does the mlx drivers really register ports with different capabilities >> as the same ib_device? I'm not sure that should be allowed. >> >> I keep talking about how we need to get rid of the port_num in these >> sorts of places because it makes no sense... >> > > I agree. Requiring the port number has implications that ripple up into the > rdma-rw api as well... > > In all fairness, there is no requirement that any two ports on the same device be the same link layer, or if the link layer is Ethernet, there is no requirement that they can't support both iWARP and RoCE. The idea that the parent device defined the supported protocols for all ports of a device became wrong with the first mlx4 device that could do both IB and Ethernet. And I think I've heard rumblings of a combined RoCE/iWARP device possibly in the future from someone else. -- Doug Ledford <dledford@xxxxxxxxxx> GPG Key ID: 0E572FDD
Attachment:
signature.asc
Description: OpenPGP digital signature