Lines Matching refs:vcc
98 static int he_open(struct atm_vcc *vcc);
99 static void he_close(struct atm_vcc *vcc);
100 static int he_send(struct atm_vcc *vcc, struct sk_buff *skb);
331 struct atm_vcc *vcc; in __find_vcc() local
341 vcc = atm_sk(s); in __find_vcc()
342 if (vcc->dev == he_dev->atm_dev && in __find_vcc()
343 vcc->vci == vci && vcc->vpi == vpi && in __find_vcc()
344 vcc->qos.rxtp.traffic_class != ATM_NONE) { in __find_vcc()
345 return vcc; in __find_vcc()
1646 struct atm_vcc *vcc = NULL; in he_service_rbrq() local
1674 vcc = __find_vcc(he_dev, cid); in he_service_rbrq()
1677 if (vcc == NULL || (he_vcc = HE_VCC(vcc)) == NULL) { in he_service_rbrq()
1690 atomic_inc(&vcc->stats->rx_drop); in he_service_rbrq()
1716 vcc->vpi, vcc->vci); in he_service_rbrq()
1717 atomic_inc(&vcc->stats->rx_err); in he_service_rbrq()
1721 skb = atm_alloc_charge(vcc, he_vcc->pdu_len + rx_skb_reserve, in he_service_rbrq()
1724 HPRINTK("charge failed (%d.%d)\n", vcc->vpi, vcc->vci); in he_service_rbrq()
1736 switch (vcc->qos.aal) { in he_service_rbrq()
1748 if (vcc->vpi == 0 && vcc->vci >= ATM_NOT_RSV_VCI) { in he_service_rbrq()
1758 if (skb->len > vcc->qos.rxtp.max_sdu) in he_service_rbrq()
1759 …hprintk("pdu_len (%d) > vcc->qos.rxtp.max_sdu (%d)! cid 0x%x\n", skb->len, vcc->qos.rxtp.max_sdu,… in he_service_rbrq()
1763 ATM_SKB(skb)->vcc = vcc; in he_service_rbrq()
1766 vcc->push(vcc, skb); in he_service_rbrq()
1769 atomic_inc(&vcc->stats->rx); in he_service_rbrq()
1835 he_mkcid(he_dev, tpd->vcc->vpi, tpd->vcc->vci)); in he_service_tbrq()
1836 if (tpd->vcc) in he_service_tbrq()
1837 wake_up(&HE_VCC(tpd->vcc)->tx_waitq); in he_service_tbrq()
1854 if (tpd->vcc && tpd->vcc->pop) in he_service_tbrq()
1855 tpd->vcc->pop(tpd->vcc, tpd->skb); in he_service_tbrq()
2091 if (tpd->vcc->pop) in __enqueue_tpd()
2092 tpd->vcc->pop(tpd->vcc, tpd->skb); in __enqueue_tpd()
2095 atomic_inc(&tpd->vcc->stats->tx_err); in __enqueue_tpd()
2115 he_open(struct atm_vcc *vcc) in he_open() argument
2118 struct he_dev *he_dev = HE_DEV(vcc->dev); in he_open()
2122 short vpi = vcc->vpi; in he_open()
2123 int vci = vcc->vci; in he_open()
2128 HPRINTK("open vcc %p %d.%d\n", vcc, vpi, vci); in he_open()
2130 set_bit(ATM_VF_ADDR, &vcc->flags); in he_open()
2147 vcc->dev_data = he_vcc; in he_open()
2149 if (vcc->qos.txtp.traffic_class != ATM_NONE) { in he_open()
2152 pcr_goal = atm_pcr_goal(&vcc->qos.txtp); in he_open()
2160 switch (vcc->qos.aal) { in he_open()
2184 switch (vcc->qos.txtp.traffic_class) { in he_open()
2265 if (vcc->qos.rxtp.traffic_class != ATM_NONE) { in he_open()
2269 &HE_VCC(vcc)->rx_waitq); in he_open()
2271 switch (vcc->qos.aal) { in he_open()
2296 rsr0 = vcc->qos.rxtp.traffic_class == ATM_UBR ? in he_open()
2319 clear_bit(ATM_VF_ADDR, &vcc->flags); in he_open()
2322 set_bit(ATM_VF_READY, &vcc->flags); in he_open()
2328 he_close(struct atm_vcc *vcc) in he_close() argument
2332 struct he_dev *he_dev = HE_DEV(vcc->dev); in he_close()
2335 struct he_vcc *he_vcc = HE_VCC(vcc); in he_close()
2339 HPRINTK("close vcc %p %d.%d\n", vcc, vcc->vpi, vcc->vci); in he_close()
2341 clear_bit(ATM_VF_READY, &vcc->flags); in he_close()
2342 cid = he_mkcid(he_dev, vcc->vpi, vcc->vci); in he_close()
2344 if (vcc->qos.rxtp.traffic_class != ATM_NONE) { in he_close()
2379 if (vcc->qos.txtp.traffic_class != ATM_NONE) { in he_close()
2394 while (((tx_inuse = refcount_read(&sk_atm(vcc)->sk_wmem_alloc)) > 1) && in he_close()
2412 switch (vcc->qos.txtp.traffic_class) { in he_close()
2431 tpd->vcc = vcc; in he_close()
2463 if (vcc->qos.txtp.traffic_class == ATM_CBR) { in he_close()
2482 clear_bit(ATM_VF_ADDR, &vcc->flags); in he_close()
2486 he_send(struct atm_vcc *vcc, struct sk_buff *skb) in he_send() argument
2489 struct he_dev *he_dev = HE_DEV(vcc->dev); in he_send()
2490 unsigned cid = he_mkcid(he_dev, vcc->vpi, vcc->vci); in he_send()
2498 HPRINTK("send %d.%d\n", vcc->vpi, vcc->vci); in he_send()
2501 ((vcc->qos.aal == ATM_AAL0) && (skb->len != ATM_AAL0_SDU))) { in he_send()
2503 if (vcc->pop) in he_send()
2504 vcc->pop(vcc, skb); in he_send()
2507 atomic_inc(&vcc->stats->tx_err); in he_send()
2514 if (vcc->pop) in he_send()
2515 vcc->pop(vcc, skb); in he_send()
2518 atomic_inc(&vcc->stats->tx_err); in he_send()
2526 if (vcc->pop) in he_send()
2527 vcc->pop(vcc, skb); in he_send()
2530 atomic_inc(&vcc->stats->tx_err); in he_send()
2535 if (vcc->qos.aal == ATM_AAL5) in he_send()
2560 tpd->vcc = vcc; in he_send()
2568 if (vcc->pop) in he_send()
2569 vcc->pop(vcc, skb); in he_send()
2572 atomic_inc(&vcc->stats->tx_err); in he_send()
2594 tpd->vcc = vcc; in he_send()
2597 ATM_SKB(skb)->vcc = vcc; in he_send()
2602 atomic_inc(&vcc->stats->tx); in he_send()