• Home
  • Raw
  • Download

Lines Matching full:vcc

82 				  struct atm_vcc *vcc, struct sk_buff *skb);
94 static int lec_mcast_make(struct lec_priv *priv, struct atm_vcc *vcc);
100 struct atm_vcc *vcc,
101 void (*old_push)(struct atm_vcc *vcc,
103 static void lec_vcc_close(struct lec_priv *priv, struct atm_vcc *vcc);
182 lec_send(struct atm_vcc *vcc, struct sk_buff *skb) in lec_send() argument
187 ATM_SKB(skb)->vcc = vcc; in lec_send()
188 atm_account_tx(vcc, skb); in lec_send()
190 if (vcc->send(vcc, skb) < 0) { in lec_send()
212 struct atm_vcc *vcc; in lec_start_xmit() local
281 /* Send to right vcc */ in lec_start_xmit()
285 vcc = lec_arp_resolve(priv, dst, is_rdesc, &entry); in lec_start_xmit()
286 pr_debug("%s:vcc:%p vcc_flags:%lx, entry:%p\n", in lec_start_xmit()
287 dev->name, vcc, vcc ? vcc->flags : 0, entry); in lec_start_xmit()
288 if (!vcc || !test_bit(ATM_VF_READY, &vcc->flags)) { in lec_start_xmit()
303 dev->name, vcc->vpi, vcc->vci); in lec_start_xmit()
308 lec_send(vcc, skb2); in lec_start_xmit()
311 lec_send(vcc, skb); in lec_start_xmit()
313 if (!atm_may_send(vcc, 0)) { in lec_start_xmit()
314 struct lec_vcc_priv *vpriv = LEC_VCC_PRIV(vcc); in lec_start_xmit()
320 * vcc->pop() might have occurred in between, making in lec_start_xmit()
321 * the vcc usuable again. Since xmit is serialized, in lec_start_xmit()
325 if (atm_may_send(vcc, 0)) in lec_start_xmit()
343 static int lec_atm_send(struct atm_vcc *vcc, struct sk_buff *skb) in lec_atm_send() argument
347 struct net_device *dev = (struct net_device *)vcc->proto_data; in lec_atm_send()
353 WARN_ON(refcount_sub_and_test(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc)); in lec_atm_send()
469 static void lec_atm_close(struct atm_vcc *vcc) in lec_atm_close() argument
472 struct net_device *dev = (struct net_device *)vcc->proto_data; in lec_atm_close()
481 if (skb_peek(&sk_atm(vcc)->sk_receive_queue)) in lec_atm_close()
483 while ((skb = skb_dequeue(&sk_atm(vcc)->sk_receive_queue))) { in lec_atm_close()
484 atm_return(vcc, skb->truesize); in lec_atm_close()
576 static int lec_is_data_direct(struct atm_vcc *vcc) in lec_is_data_direct() argument
578 return ((vcc->sap.blli[0].l3.tr9577.snap[4] == LEC_DATA_DIRECT_8023) || in lec_is_data_direct()
579 (vcc->sap.blli[0].l3.tr9577.snap[4] == LEC_DATA_DIRECT_8025)); in lec_is_data_direct()
582 static void lec_push(struct atm_vcc *vcc, struct sk_buff *skb) in lec_push() argument
585 struct net_device *dev = (struct net_device *)vcc->proto_data; in lec_push()
589 printk(KERN_DEBUG "%s: vcc vpi:%d vci:%d\n", in lec_push()
590 dev->name, vcc->vpi, vcc->vci); in lec_push()
594 lec_vcc_close(priv, vcc); in lec_push()
610 struct sock *sk = sk_atm(vcc); in lec_push()
619 atm_return(vcc, skb->truesize); in lec_push()
633 * If this is a Data Direct VCC, and the VCC does not match in lec_push()
637 if (lec_is_data_direct(vcc)) { in lec_push()
640 if (entry && entry->vcc != vcc) { in lec_push()
654 lec_arp_check_empties(priv, vcc, skb); in lec_push()
664 static void lec_pop(struct atm_vcc *vcc, struct sk_buff *skb) in lec_pop() argument
666 struct lec_vcc_priv *vpriv = LEC_VCC_PRIV(vcc); in lec_pop()
674 vpriv->old_pop(vcc, skb); in lec_pop()
676 if (vpriv->xoff && atm_may_send(vcc, 0)) { in lec_pop()
683 static int lec_vcc_attach(struct atm_vcc *vcc, void __user *arg) in lec_vcc_attach() argument
703 vpriv->old_pop = vcc->pop; in lec_vcc_attach()
704 vcc->user_back = vpriv; in lec_vcc_attach()
705 vcc->pop = lec_pop; in lec_vcc_attach()
707 &ioc_data, vcc, vcc->push); in lec_vcc_attach()
708 vcc->proto_data = dev_lec[ioc_data.dev_num]; in lec_vcc_attach()
709 vcc->push = lec_push; in lec_vcc_attach()
713 static int lec_mcast_attach(struct atm_vcc *vcc, int arg) in lec_mcast_attach() argument
721 vcc->proto_data = dev_lec[arg]; in lec_mcast_attach()
722 return lec_mcast_make(netdev_priv(dev_lec[arg]), vcc); in lec_mcast_attach()
726 static int lecd_attach(struct atm_vcc *vcc, int arg) in lecd_attach() argument
761 priv->lecd = vcc; in lecd_attach()
762 vcc->dev = &lecatm_dev; in lecd_attach()
763 vcc_insert_socket(sk_atm(vcc)); in lecd_attach()
765 vcc->proto_data = dev_lec[i]; in lecd_attach()
766 set_bit(ATM_VF_META, &vcc->flags); in lecd_attach()
767 set_bit(ATM_VF_READY, &vcc->flags); in lecd_attach()
810 if (entry->vcc) in lec_info()
811 seq_printf(seq, "%3d %3d ", entry->vcc->vpi, entry->vcc->vci); in lec_info()
998 struct atm_vcc *vcc = ATM_SD(sock); in lane_ioctl() local
1015 err = lecd_attach(vcc, (int)arg); in lane_ioctl()
1020 err = lec_mcast_attach(vcc, (int)arg); in lane_ioctl()
1023 err = lec_vcc_attach(vcc, (void __user *)arg); in lane_ioctl()
1258 if (entry->vcc) { in lec_arp_clear_vccs()
1259 struct atm_vcc *vcc = entry->vcc; in lec_arp_clear_vccs() local
1260 struct lec_vcc_priv *vpriv = LEC_VCC_PRIV(vcc); in lec_arp_clear_vccs()
1261 struct net_device *dev = (struct net_device *)vcc->proto_data; in lec_arp_clear_vccs()
1263 vcc->pop = vpriv->old_pop; in lec_arp_clear_vccs()
1267 vcc->user_back = NULL; in lec_arp_clear_vccs()
1268 vcc->push = entry->old_push; in lec_arp_clear_vccs()
1269 vcc_release_async(vcc, -EPIPE); in lec_arp_clear_vccs()
1270 entry->vcc = NULL; in lec_arp_clear_vccs()
1273 struct atm_vcc *vcc = entry->recv_vcc; in lec_arp_clear_vccs() local
1274 struct lec_vcc_priv *vpriv = LEC_VCC_PRIV(vcc); in lec_arp_clear_vccs()
1277 vcc->user_back = NULL; in lec_arp_clear_vccs()
1316 * If this is the only MAC connected to this VCC, in lec_arp_remove()
1317 * also tear down the VCC in lec_arp_remove()
1377 "Vcc vpi:%d vci:%d, Recv_vcc vpi:%d vci:%d Last_used:%lx, Timestamp:%lx, No_tries:%d ", in dump_arp_table()
1378 rulla->vcc ? rulla->vcc->vpi : 0, in dump_arp_table()
1379 rulla->vcc ? rulla->vcc->vci : 0, in dump_arp_table()
1402 "Vcc vpi:%d vci:%d, Recv_vcc vpi:%d vci:%d Last_used:%lx, Timestamp:%lx, No_tries:%d ", in dump_arp_table()
1403 rulla->vcc ? rulla->vcc->vpi : 0, in dump_arp_table()
1404 rulla->vcc ? rulla->vcc->vci : 0, in dump_arp_table()
1424 "Vcc vpi:%d vci:%d, Recv_vcc vpi:%d vci:%d Last_used:%lx, Timestamp:%lx, No_tries:%d ", in dump_arp_table()
1425 rulla->vcc ? rulla->vcc->vpi : 0, in dump_arp_table()
1426 rulla->vcc ? rulla->vcc->vci : 0, in dump_arp_table()
1446 "Vcc vpi:%d vci:%d, Recv_vcc vpi:%d vci:%d Last_used:%lx, Timestamp:%lx, No_tries:%d ", in dump_arp_table()
1447 rulla->vcc ? rulla->vcc->vpi : 0, in dump_arp_table()
1448 rulla->vcc ? rulla->vcc->vci : 0, in dump_arp_table()
1579 /* Unknown/unused vcc expire, remove associated entry */
1590 to_remove->vcc ? to_remove->recv_vcc->vpi : 0, in lec_arp_expire_vcc()
1591 to_remove->vcc ? to_remove->recv_vcc->vci : 0); in lec_arp_expire_vcc()
1680 struct atm_vcc *vcc = entry->vcc; in lec_arp_check_expire() local
1685 lec_send(vcc, skb); in lec_arp_check_expire()
1700 * Try to find vcc where mac_address is attached.
1734 found = entry->vcc; in lec_arp_resolve()
1764 pr_debug("entry->status %d entry->vcc %p\n", entry->status, in lec_arp_resolve()
1765 entry->vcc); in lec_arp_resolve()
1860 tmp->vcc = entry->vcc; in lec_arp_update()
1900 /* Vcc to this host exists */ in lec_arp_update()
1906 entry->vcc = tmp->vcc; in lec_arp_update()
1929 * Notifies: Vcc setup ready
1933 struct atm_vcc *vcc, in lec_vcc_added() argument
1934 void (*old_push) (struct atm_vcc *vcc, struct sk_buff *skb)) in lec_vcc_added()
1941 /* Vcc for Multicast Forward. No timer, LANEv2 7.1.20 and 2.3.5.3 */ in lec_vcc_added()
1951 entry->recv_vcc = vcc; in lec_vcc_added()
1959 entry->recv_vcc = vcc; in lec_vcc_added()
1965 * Vcc which we don't want to make default vcc, in lec_vcc_added()
1975 entry->recv_vcc = vcc; in lec_vcc_added()
1994 pr_debug("Currently -> Vcc: %d, Rvcc:%d\n", in lec_vcc_added()
1995 entry->vcc ? entry->vcc->vci : 0, in lec_vcc_added()
2000 entry->vcc = vcc; in lec_vcc_added()
2024 * we formed into default VCC (8.1.11). in lec_vcc_added()
2036 pr_debug("After vcc was added\n"); in lec_vcc_added()
2042 * from this vcc in lec_vcc_added()
2047 entry->vcc = vcc; in lec_vcc_added()
2056 pr_debug("After vcc was added\n"); in lec_vcc_added()
2077 struct atm_vcc *vcc = entry->vcc; in lec_flush_complete() local
2083 lec_send(vcc, skb); in lec_flush_complete()
2117 static int lec_mcast_make(struct lec_priv *priv, struct atm_vcc *vcc) in lec_mcast_make() argument
2131 vpriv->old_pop = vcc->pop; in lec_mcast_make()
2132 vcc->user_back = vpriv; in lec_mcast_make()
2133 vcc->pop = lec_pop; in lec_mcast_make()
2137 vcc->pop = vpriv->old_pop; in lec_mcast_make()
2142 memcpy(to_add->atm_addr, vcc->remote.sas_addr.prv, ATM_ESA_LEN); in lec_mcast_make()
2145 to_add->vcc = vcc; in lec_mcast_make()
2146 to_add->old_push = vcc->push; in lec_mcast_make()
2147 vcc->push = lec_push; in lec_mcast_make()
2148 priv->mcast_vcc = vcc; in lec_mcast_make()
2155 static void lec_vcc_close(struct lec_priv *priv, struct atm_vcc *vcc) in lec_vcc_close() argument
2162 pr_debug("LEC_ARP: lec_vcc_close vpi:%d vci:%d\n", vcc->vpi, vcc->vci); in lec_vcc_close()
2170 if (vcc == entry->vcc) { in lec_vcc_close()
2173 if (priv->mcast_vcc == vcc) in lec_vcc_close()
2181 if (entry->vcc == vcc) { in lec_vcc_close()
2191 if (entry->recv_vcc == vcc) { in lec_vcc_close()
2200 if (entry->recv_vcc == vcc) { in lec_vcc_close()
2214 struct atm_vcc *vcc, struct sk_buff *skb) in lec_arp_check_empties() argument
2225 if (vcc == entry->vcc) { in lec_arp_check_empties()