[openib-general] RE: [PATCH] Disregard subn->min_ca_rate/mtu during MCGroupcreation.

Hal Rosenstock halr at voltaire.com
Thu Mar 23 07:24:13 PST 2006


Hi Eitan,

On Thu, 2006-03-23 at 09:57, Eitan Zahavi wrote:
> Now I get it. Its my bug.
> What I meant was to check that the request is realizable:
> if ((2 > rate_required) || (rate_required > p_rcv->p_subn->min_ca_rate))
> Should catch the case where the rate required is too slow to be valid or
> if it is faster then the MAX rate of the fabric. But the use of
> min_ca_rate is incorrect it should be a new variable (probably named:
> max_ca_rate) that would hold the MAX rate of all the CA ports...

Yes, that's what I said in a separate email. 

if ((2 > rate_required) || (rate_required > p_rcv->p_subn->max_ca_rate))
makes sense

But is that field set to the max rate/MTU ? (I didn't check the code for
this). Is it just a name thing or more ?

> Similar criteria should be applied for the MTU and in the various other
> checks (< / > / =)
> And so on

Yes.

-- Hal

> Eitan Zahavi
> Design Technology Director
> Mellanox Technologies LTD
> Tel:+972-4-9097208
> Fax:+972-4-9593245
> P.O. Box 586 Yokneam 20692 ISRAEL
> 
> 
> > -----Original Message-----
> > From: Hal Rosenstock [mailto:halr at voltaire.com]
> > Sent: Thursday, March 23, 2006 3:34 PM
> > To: Eitan Zahavi
> > Cc: Sasha Khapyorsky; openib-general at openib.org; Yael Kalka; Ofer Gigi
> > Subject: RE: [PATCH] Disregard subn->min_ca_rate/mtu during
> MCGroupcreation.
> > 
> > Hi Eitan,
> > 
> > On Thu, 2006-03-23 at 08:03, Eitan Zahavi wrote:
> > > Hi Sasha
> > >
> > > The spec requires that the request be disregarded in not realizable:
> > > o15-0.1.8: If SA supports UD multicast, then if SA receives a
> request
> > > that
> > > would result in the creation of a multicast group with components
> > > specified
> > > that are unrealizable for its subnet, SA shall return an error
> status of
> > > ERR_REQ_INVALID in its response.
> > 
> > Right but what does this min CA rate/MTU have to do with that unless
> > those ports indeed do join.
> > 
> > -- Hal
> > 
> > > I hope the original code does that - but I am not sure.
> > >
> > > Eitan Zahavi
> > > Design Technology Director
> > > Mellanox Technologies LTD
> > > Tel:+972-4-9097208
> > > Fax:+972-4-9593245
> > > P.O. Box 586 Yokneam 20692 ISRAEL
> > >
> > >
> > > > -----Original Message-----
> > > > From: Hal Rosenstock [mailto:halr at voltaire.com]
> > > > Sent: Wednesday, March 22, 2006 4:05 PM
> > > > To: Sasha Khapyorsky
> > > > Cc: openib-general at openib.org; Yael Kalka; Eitan Zahavi; Ofer Gigi
> > > > Subject: Re: [PATCH] Disregard subn->min_ca_rate/mtu during MC
> > > Groupcreation.
> > > >
> > > > On Wed, 2006-03-22 at 08:25, Sasha Khapyorsky wrote:
> > > > > Hello,
> > > > >
> > > > > Now at MC Group creation when exact rate or MTU values are
> requested
> > > and
> > > > > those values are greater than rate (or mtu) of slowest port on
> the
> > > subnet
> > > > > then MC group creation fails. It is likely not desired
> behaviour.
> > > >
> > > > Yes, if there were such a check it would be against
> max_ca_mtu/rate
> > > and
> > > > even that is subject to change post group creation as the subnet
> > > changes
> > > > so this doesn't seem like a good idea to me (to be checking it
> here).
> > > >
> > > > -- Hal
> > > >
> > > > > Sasha.
> > > > >
> > > > >
> > > > > Disregard subn->ca_min_mtu and subn->ca_min_rate when new MC
> group
> > > is
> > > > > created and exact MTU and/or rate values are specified.
> > > > >
> > > > >
> > > > > Signed-off-by: Sasha Khapyorsky <sashak at voltaire.com>
> > > > > ---
> > > > >
> > > > >  osm/opensm/osm_sa_mcmember_record.c |   12 ++++++------
> > > > >  1 files changed, 6 insertions(+), 6 deletions(-)
> > > > >
> > > > > diff --git a/osm/opensm/osm_sa_mcmember_record.c
> > > > b/osm/opensm/osm_sa_mcmember_record.c
> > > > > index ce1d036..826c4d3 100644
> > > > > --- a/osm/opensm/osm_sa_mcmember_record.c
> > > > > +++ b/osm/opensm/osm_sa_mcmember_record.c
> > > > > @@ -1121,12 +1121,12 @@ __mgrp_request_is_realizable(
> > > > >        break;
> > > > >      case 2: /* Exactly MTU specified */
> > > > >        /* make sure it is in the range */
> > > > > -      if ((1 > mtu_required) || (mtu_required >
> > > p_rcv->p_subn->min_ca_mtu))
> > > > > +      if ((1 > mtu_required))
> > > > >        {
> > > > >          osm_log( p_log, OSM_LOG_DEBUG,
> > > > >                   "__mgrp_request_is_realizable: "
> > > > > -                 "Requested MTU %x out of range: 1 .. %x\n",
> > > > > -                 mtu_required, p_rcv->p_subn->min_ca_mtu);
> > > > > +                 "Requested MTU %x is less than 1\n",
> > > > > +                 mtu_required);
> > > > >          return FALSE;
> > > > >        }
> > > > >        break;
> > > > > @@ -1198,12 +1198,12 @@ __mgrp_request_is_realizable(
> > > > >        break;
> > > > >      case 2: /* Exactly RATE specified */
> > > > >        /* make sure it is in the range */
> > > > > -      if ((2 > rate_required) || (rate_required >
> > > p_rcv->p_subn->min_ca_rate))
> > > > > +      if ((2 > rate_required))
> > > > >        {
> > > > >          osm_log( p_log, OSM_LOG_DEBUG,
> > > > >                   "__mgrp_request_is_realizable: "
> > > > > -                 "Requested RATE %x out of range: 2 .. %x\n",
> > > > > -                 rate_required, p_rcv->p_subn->min_ca_rate);
> > > > > +                 "Requested RATE %x is less than 2\n",
> > > > > +                 rate_required);
> > > > >          return FALSE;
> > > > >        }
> > > > >        break;
> > > >
> > >




More information about the general mailing list