In the socket API, socket options describe what protocol they are intended for. You can have options that are intended for IP or TCP and other protocol layers.

We could do some rdma_setopt() interface, and define both transport independent options and transport-specific options. Then if there are features of qos that are only in IB, you can make them transport-specific options. So an option struct may have a transport_type field...

Although I _think_ it will be a good thing to try and map transport-specific qos attributes to a univeral transport independent attribute. But I'm not an expert on qos stuff...

Based on the information I found, socket options are used to specify QoS / TOS / DSCP / whatever they want to call it for IPv4, but not for IPv6. For IPv6, the TC and FL fields are included with the socket address.

So... I think we're okay with IPv6, but will need an rdma_setopt() call to set the QoS info for IPv4 addresses. I think we can keep the QoS attributes transport independent.

Note that for IB, we could avoid the rdma_setopt() call by mapping the resulting IB service ID to a QoS level, but I'd rather find a transport independent solution if possible.

Or a more generic rdma_setopt() that can be extensible for future options/attributes and not break the API...

I agree - my preference is not to break the user space API.

- Sean
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to