[ofa-general] QoS RFC

Sasha Khapyorsky sashak at voltaire.com
Sat Aug 4 13:20:56 PDT 2007


On 01:29 Fri 03 Aug     , Yevgeny Kliteynik wrote:
> 
>  OK, we can use names of QoS levels instead of sequential numbers.
>  Here are the details:
>   + in qos-level new mandatory keyword 'name' will be added: "name: 
>  single_string"

It could be even simpler:

  qos-level name
   ...

>   + in qos-match-rules, the 'qos-level-sn' keyword will be replaced by 
>  'qos-level-name'

and matching just by 'qos-level' (numbers still be perfectly usable
since it is string as swell).

>   + qos-level with name "default"/"DEFAULT" is a must.

Probably single 'qos-level' without name could become default one?

>     It is the default level that would be applied to any PR/MPR request that 
>  didn't
>     match any existing match rule
>   + any match rule may explicitly refer to the default qos-level by 
>  specifying
>     its name in the qos-level-name
> 
> 
> >>>>  9. OpenSM features
> >>>>  -------------------
> >>>>  The QoS related functionality to be provided by OpenSM can be split 
> >>>> into two
> >>>>  main parts:
> >>>>
> >>>>  3.1. Fabric Setup
> >>>>  During fabric initialization the SM should parse the policy and apply 
> >>>> its
> >>>>  settings to the discovered fabric elements. The following actions 
> >>>> should be
> >>>>  performed:
> >>>>  * Parsing of policy
> >>>>  * Node Group identification. Warning should be provided for each node 
> >>>> not
> >>>>    specified but found.
> >>>>  * SL2VL settings validation should be checked:
> >>>>    + A warning will be provided if there are no matching targets for the 
> >>>>  SL2VL
> >>>>      setting statement.
> >>>>    + An error message will be printed to the log file if an invalid 
> >>>> setting  is
> >>>>      found. A setting is invalid if it refers to:
> >>>>      - Non existing port numbers of the target devices
> >>>>      - Unsupported VLs for the target device. In the later case the map 
> >>>> to        non existing VLs should be replaced to VL15 i.e. packets will 
> >>>> be dropped.
> >>> I'm not sure it is optimal. We could have well documented or even
> >>> configurable mapping rule instead, then this will not limit devices with
> >>> higher capabilities.
> >>  I'm open for suggestions.
> > The rule like %(number of OpVLs)? Or even better - configurable mapping
> > rule?
> >>>>  * Only PR/MPR fields that have their component mask bit set should be
> >>>>    compared.
> >>>>  * For a rule to be "matching" a PR/MPR request all the rule fields 
> >>>> should be
> >>>>    "matching" their PR/MPR fields. Such that a PR/MPR request that does
> >>>>    not have a component mask field set for one of the rule defined 
> >>>> fields   can
> >>>>    not match that rule.
> >>>>  * A PR/MPR request that have a component mask bit set for one of the 
> >>>> fields
> >>>>    that is not defined by the rule can match the rule.
> >>> Aren't last two too restrictive? SA can just to filter-out paths in
> >>> response to match rest of the rule. No?
> >>  Not sure I'm following.
> >>  The last bullet is not restrictive at all
> > Right, but mostly I'm about previous bullet - where client _must_ set
> > component mask to match all fields.
> 
>  Look at this this way: when you define a match rule, you specify there
>  only the parameters that the matching PR/MPR requests *must* comply with.
>  e.g., if the matching rule has service ID, it means that PR/MPR requests
>  that match this rule *must* have the matching service id.
>  Same goes for all the other PR/MPR parameters.
> 
>  You can define a 'lighter' matching rule that will match more PR/MPR
>  requests by checking a reduced set of key parameters.

Right, and I thought about reducing number of rules. :)

Sasha



More information about the general mailing list