[ofa-general] Re: QoS in RDMA CM: (was QoS RFC)

Sean Hefty mshefty at ichips.intel.com
Thu Jul 26 11:58:04 PDT 2007


> 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



More information about the general mailing list