Lines Matching refs:srv_p
358 static void init_abr_vc (IADEV *dev, srv_cls_param_t *srv_p) { in init_abr_vc() argument
359 srv_p->class_type = ATM_ABR; in init_abr_vc()
360 srv_p->pcr = dev->LineRate; in init_abr_vc()
361 srv_p->mcr = 0; in init_abr_vc()
362 srv_p->icr = 0x055cb7; in init_abr_vc()
363 srv_p->tbe = 0xffffff; in init_abr_vc()
364 srv_p->frtt = 0x3a; in init_abr_vc()
365 srv_p->rif = 0xf; in init_abr_vc()
366 srv_p->rdf = 0xb; in init_abr_vc()
367 srv_p->nrm = 0x4; in init_abr_vc()
368 srv_p->trm = 0x7; in init_abr_vc()
369 srv_p->cdf = 0x3; in init_abr_vc()
370 srv_p->adtf = 50; in init_abr_vc()
374 ia_open_abr_vc(IADEV *dev, srv_cls_param_t *srv_p, in ia_open_abr_vc() argument
387 if (srv_p->pcr == 0) in ia_open_abr_vc()
389 if (srv_p->pcr > dev->LineRate) in ia_open_abr_vc()
390 srv_p->pcr = dev->LineRate; in ia_open_abr_vc()
391 if ((srv_p->mcr + dev->sum_mcr) > dev->LineRate) in ia_open_abr_vc()
393 if (srv_p->mcr > srv_p->pcr) in ia_open_abr_vc()
395 if (!(srv_p->icr)) in ia_open_abr_vc()
396 srv_p->icr = srv_p->pcr; in ia_open_abr_vc()
397 if ((srv_p->icr < srv_p->mcr) || (srv_p->icr > srv_p->pcr)) in ia_open_abr_vc()
399 if ((srv_p->tbe < MIN_TBE) || (srv_p->tbe > MAX_TBE)) in ia_open_abr_vc()
401 if ((srv_p->frtt < MIN_FRTT) || (srv_p->frtt > MAX_FRTT)) in ia_open_abr_vc()
403 if (srv_p->nrm > MAX_NRM) in ia_open_abr_vc()
405 if (srv_p->trm > MAX_TRM) in ia_open_abr_vc()
407 if (srv_p->adtf > MAX_ADTF) in ia_open_abr_vc()
409 else if (srv_p->adtf == 0) in ia_open_abr_vc()
410 srv_p->adtf = 1; in ia_open_abr_vc()
411 if (srv_p->cdf > MAX_CDF) in ia_open_abr_vc()
413 if (srv_p->rif > MAX_RIF) in ia_open_abr_vc()
415 if (srv_p->rdf > MAX_RDF) in ia_open_abr_vc()
420 nrm = 2 << srv_p->nrm; /* (2 ** (srv_p->nrm +1)) */ in ia_open_abr_vc()
423 trm = 100000/(2 << (16 - srv_p->trm)); in ia_open_abr_vc()
425 f_abr_vc->f_nrmexp =(((srv_p->nrm +1) & 0x0f) << 12)|(MRM << 8) | trm; in ia_open_abr_vc()
426 crm = srv_p->tbe / nrm; in ia_open_abr_vc()
429 f_abr_vc->f_pcr = cellrate_to_float(srv_p->pcr); in ia_open_abr_vc()
430 icr = min( srv_p->icr, (srv_p->tbe > srv_p->frtt) ? in ia_open_abr_vc()
431 ((srv_p->tbe/srv_p->frtt)*1000000) : in ia_open_abr_vc()
432 (1000000/(srv_p->frtt/srv_p->tbe))); in ia_open_abr_vc()
434 adtf = (10000 * srv_p->adtf)/8192; in ia_open_abr_vc()
436 f_abr_vc->f_cdf = ((7 - srv_p->cdf) << 12 | adtf) & 0xfff; in ia_open_abr_vc()
437 f_abr_vc->f_mcr = cellrate_to_float(srv_p->mcr); in ia_open_abr_vc()
446 r_abr_vc->r_status_rdf = (15 - srv_p->rdf) & 0x000f; in ia_open_abr_vc()
447 air = srv_p->pcr << (15 - srv_p->rif); in ia_open_abr_vc()
451 dev->sum_mcr += srv_p->mcr; in ia_open_abr_vc()
1399 srv_cls_param_t srv_p; local
1400 init_abr_vc(iadev, &srv_p);
1401 ia_open_abr_vc(iadev, &srv_p, vcc, 0);
1837 { srv_cls_param_t srv_p; local
1839 init_abr_vc(iadev, &srv_p);
1841 srv_p.pcr = vcc->qos.txtp.pcr;
1846 srv_p.mcr = vcc->qos.txtp.min_pcr;
1849 else srv_p.mcr = 0;
1851 srv_p.icr = vcc->qos.txtp.icr;
1853 srv_p.tbe = vcc->qos.txtp.tbe;
1855 srv_p.frtt = vcc->qos.txtp.frtt;
1857 srv_p.rif = vcc->qos.txtp.rif;
1859 srv_p.rdf = vcc->qos.txtp.rdf;
1861 srv_p.nrm = vcc->qos.txtp.nrm;
1863 srv_p.trm = vcc->qos.txtp.trm;
1865 srv_p.adtf = vcc->qos.txtp.adtf;
1867 srv_p.cdf = vcc->qos.txtp.cdf;
1868 if (srv_p.icr > srv_p.pcr)
1869 srv_p.icr = srv_p.pcr;
1871 srv_p.pcr, srv_p.mcr);)
1872 ia_open_abr_vc(iadev, &srv_p, vcc, 1);