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

Eitan Zahavi eitan at mellanox.co.il
Thu Mar 23 06:57:47 PST 2006


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...

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

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