Lines Matching refs:vc

122 static int fatm_load_vc(struct fatm_softc *sc, struct card_vcc *vc);
1488 struct card_vcc *vc;
1542 vc = NULL;
1543 else if ((vc = sc->vccs[vci]) == NULL ||
1546 vc = NULL;
1549 DBG(sc, RCV, ("RCV: vc=%u.%u pt=%u mlen=%d %s", vpi, vci,
1550 pt, mlen, vc == NULL ? "dropped" : ""));
1552 if (vc == NULL) {
1556 if (!(vc->param.flags & ATMIO_FLAG_NG) &&
1557 vc->param.aal == ATMIO_AAL_5 &&
1558 (vc->param.flags & ATM_PH_LLCSNAP))
1562 ATM_PH_FLAGS(&aph) = vc->param.flags;
1569 vc->ipackets++;
1570 vc->ibytes += m0->m_pkthdr.len;
1572 atm_input(ifp, &aph, m0, vc->rxhand);
1929 fatm_tx(struct fatm_softc *sc, struct mbuf *m, struct card_vcc *vc, u_int mlen)
1967 if (!(vc->param.flags & ATMIO_FLAG_NG) &&
1968 vc->param.aal == ATMIO_AAL_5 &&
1969 (vc->param.flags & ATM_PH_LLCSNAP))
1989 aal = (vc->param.aal == ATMIO_AAL_5) ? 5 : 0;
2002 H_SETDESC(tpd->atm_header, TDX_MKHDR(vc->param.vpi,
2003 vc->param.vci, 0, 0));
2005 if (vc->param.traffic == ATMIO_TRAFFIC_UBR)
2011 if (rate_table[i].cell_rate < vc->param.tparam.pcr)
2029 vc->obytes += m->m_pkthdr.len;
2030 vc->opackets++;
2044 struct card_vcc *vc;
2093 if (!VC_OK(sc, vpi, vci) || (vc = sc->vccs[vci]) == NULL ||
2094 !(vc->vflags & FATM_VCC_OPEN)) {
2099 if (fatm_tx(sc, m, vc, mlen)) {
2171 fatm_open_finish(struct fatm_softc *sc, struct card_vcc *vc)
2173 vc->vflags &= ~FATM_VCC_TRY_OPEN;
2174 vc->vflags |= FATM_VCC_OPEN;
2176 if (vc->vflags & FATM_VCC_REOPEN) {
2177 vc->vflags &= ~FATM_VCC_REOPEN;
2183 if (!(vc->param.flags & ATMIO_FLAG_NG) ||
2184 (vc->param.flags & ATMIO_FLAG_PVC))
2185 ATMEV_SEND_VCC_CHANGED(IFP2IFATM(sc->ifp), 0, vc->param.vci, 1);
2195 struct card_vcc *vc;
2198 vc = sc->vccs[vci];
2203 uma_zfree(sc->vcc_zone, vc);
2207 fatm_open_finish(sc, vc);
2235 struct card_vcc *vc;
2249 vc = uma_zalloc(sc->vcc_zone, M_NOWAIT | M_ZERO);
2250 if (vc == NULL)
2264 vc->param = op->param;
2265 vc->rxhand = op->rxhand;
2284 vc->ibytes = vc->obytes = 0;
2285 vc->ipackets = vc->opackets = 0;
2287 vc->vflags = FATM_VCC_TRY_OPEN;
2288 sc->vccs[op->param.vci] = vc;
2291 error = fatm_load_vc(sc, vc);
2299 vc = NULL;
2303 if (vc != NULL)
2304 uma_zfree(sc->vcc_zone, vc);
2312 fatm_load_vc(struct fatm_softc *sc, struct card_vcc *vc)
2320 if (vc->param.aal == ATMIO_AAL_0)
2325 q = fatm_start_vcc(sc, vc->param.vpi, vc->param.vci, cmd, 1,
2326 (vc->param.flags & ATMIO_FLAG_ASYNC) ?
2331 if (!(vc->param.flags & ATMIO_FLAG_ASYNC)) {
2335 fatm_open_finish(sc, vc);
2344 fatm_close_finish(struct fatm_softc *sc, struct card_vcc *vc)
2348 if (!(vc->param.flags & ATMIO_FLAG_NG) ||
2349 (vc->param.flags & ATMIO_FLAG_PVC))
2350 ATMEV_SEND_VCC_CHANGED(IFP2IFATM(sc->ifp), 0, vc->param.vci, 0);
2352 sc->vccs[vc->param.vci] = NULL;
2355 uma_zfree(sc->vcc_zone, vc);
2365 struct card_vcc *vc;
2368 vc = sc->vccs[vci];
2377 fatm_close_finish(sc, vc);
2388 struct card_vcc *vc;
2400 vc = sc->vccs[cl->vci];
2401 if (vc == NULL || !(vc->vflags & (FATM_VCC_OPEN | FATM_VCC_TRY_OPEN))) {
2408 (vc->param.flags & ATMIO_FLAG_ASYNC) ?
2415 vc->vflags &= ~(FATM_VCC_OPEN | FATM_VCC_TRY_OPEN);
2416 vc->vflags |= FATM_VCC_TRY_CLOSE;
2418 if (!(vc->param.flags & ATMIO_FLAG_ASYNC)) {
2423 fatm_close_finish(sc, vc);