Lines Matching defs:srv_p
360 static void init_abr_vc (IADEV *dev, srv_cls_param_t *srv_p) {
361 srv_p->class_type = ATM_ABR;
362 srv_p->pcr = dev->LineRate;
363 srv_p->mcr = 0;
364 srv_p->icr = 0x055cb7;
365 srv_p->tbe = 0xffffff;
366 srv_p->frtt = 0x3a;
367 srv_p->rif = 0xf;
368 srv_p->rdf = 0xb;
369 srv_p->nrm = 0x4;
370 srv_p->trm = 0x7;
371 srv_p->cdf = 0x3;
372 srv_p->adtf = 50;
376 ia_open_abr_vc(IADEV *dev, srv_cls_param_t *srv_p,
389 if (srv_p->pcr == 0)
391 if (srv_p->pcr > dev->LineRate)
392 srv_p->pcr = dev->LineRate;
393 if ((srv_p->mcr + dev->sum_mcr) > dev->LineRate)
395 if (srv_p->mcr > srv_p->pcr)
397 if (!(srv_p->icr))
398 srv_p->icr = srv_p->pcr;
399 if ((srv_p->icr < srv_p->mcr) || (srv_p->icr > srv_p->pcr))
401 if ((srv_p->tbe < MIN_TBE) || (srv_p->tbe > MAX_TBE))
403 if ((srv_p->frtt < MIN_FRTT) || (srv_p->frtt > MAX_FRTT))
405 if (srv_p->nrm > MAX_NRM)
407 if (srv_p->trm > MAX_TRM)
409 if (srv_p->adtf > MAX_ADTF)
411 else if (srv_p->adtf == 0)
412 srv_p->adtf = 1;
413 if (srv_p->cdf > MAX_CDF)
415 if (srv_p->rif > MAX_RIF)
417 if (srv_p->rdf > MAX_RDF)
422 nrm = 2 << srv_p->nrm; /* (2 ** (srv_p->nrm +1)) */
425 trm = 100000/(2 << (16 - srv_p->trm));
427 f_abr_vc->f_nrmexp =(((srv_p->nrm +1) & 0x0f) << 12)|(MRM << 8) | trm;
428 crm = srv_p->tbe / nrm;
431 f_abr_vc->f_pcr = cellrate_to_float(srv_p->pcr);
432 icr = min( srv_p->icr, (srv_p->tbe > srv_p->frtt) ?
433 ((srv_p->tbe/srv_p->frtt)*1000000) :
434 (1000000/(srv_p->frtt/srv_p->tbe)));
436 adtf = (10000 * srv_p->adtf)/8192;
438 f_abr_vc->f_cdf = ((7 - srv_p->cdf) << 12 | adtf) & 0xfff;
439 f_abr_vc->f_mcr = cellrate_to_float(srv_p->mcr);
448 r_abr_vc->r_status_rdf = (15 - srv_p->rdf) & 0x000f;
449 air = srv_p->pcr << (15 - srv_p->rif);
453 dev->sum_mcr += srv_p->mcr;
1401 srv_cls_param_t srv_p;
1402 init_abr_vc(iadev, &srv_p);
1403 ia_open_abr_vc(iadev, &srv_p, vcc, 0);
1839 { srv_cls_param_t srv_p;
1841 init_abr_vc(iadev, &srv_p);
1843 srv_p.pcr = vcc->qos.txtp.pcr;
1848 srv_p.mcr = vcc->qos.txtp.min_pcr;
1851 else srv_p.mcr = 0;
1853 srv_p.icr = vcc->qos.txtp.icr;
1855 srv_p.tbe = vcc->qos.txtp.tbe;
1857 srv_p.frtt = vcc->qos.txtp.frtt;
1859 srv_p.rif = vcc->qos.txtp.rif;
1861 srv_p.rdf = vcc->qos.txtp.rdf;
1863 srv_p.nrm = vcc->qos.txtp.nrm;
1865 srv_p.trm = vcc->qos.txtp.trm;
1867 srv_p.adtf = vcc->qos.txtp.adtf;
1869 srv_p.cdf = vcc->qos.txtp.cdf;
1870 if (srv_p.icr > srv_p.pcr)
1871 srv_p.icr = srv_p.pcr;
1873 srv_p.pcr, srv_p.mcr);)
1874 ia_open_abr_vc(iadev, &srv_p, vcc, 1);