• Home
  • Raw
  • Download

Lines Matching refs:vcc

78 				  struct atm_vcc *vcc, struct sk_buff *skb);
90 static int lec_mcast_make(struct lec_priv *priv, struct atm_vcc *vcc);
96 struct atm_vcc *vcc,
97 void (*old_push)(struct atm_vcc *vcc,
99 static void lec_vcc_close(struct lec_priv *priv, struct atm_vcc *vcc);
177 lec_send(struct atm_vcc *vcc, struct sk_buff *skb) in lec_send() argument
181 ATM_SKB(skb)->vcc = vcc; in lec_send()
182 ATM_SKB(skb)->atm_options = vcc->atm_options; in lec_send()
184 atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc); in lec_send()
185 if (vcc->send(vcc, skb) < 0) { in lec_send()
207 struct atm_vcc *vcc; in lec_start_xmit() local
280 vcc = lec_arp_resolve(priv, dst, is_rdesc, &entry); in lec_start_xmit()
282 dev->name, vcc, vcc ? vcc->flags : 0, entry); in lec_start_xmit()
283 if (!vcc || !test_bit(ATM_VF_READY, &vcc->flags)) { in lec_start_xmit()
298 dev->name, vcc->vpi, vcc->vci); in lec_start_xmit()
303 lec_send(vcc, skb2); in lec_start_xmit()
306 lec_send(vcc, skb); in lec_start_xmit()
308 if (!atm_may_send(vcc, 0)) { in lec_start_xmit()
309 struct lec_vcc_priv *vpriv = LEC_VCC_PRIV(vcc); in lec_start_xmit()
320 if (atm_may_send(vcc, 0)) in lec_start_xmit()
338 static int lec_atm_send(struct atm_vcc *vcc, struct sk_buff *skb) in lec_atm_send() argument
341 struct net_device *dev = (struct net_device *)vcc->proto_data; in lec_atm_send()
348 atomic_sub(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc); in lec_atm_send()
464 static void lec_atm_close(struct atm_vcc *vcc) in lec_atm_close() argument
467 struct net_device *dev = (struct net_device *)vcc->proto_data; in lec_atm_close()
476 if (skb_peek(&sk_atm(vcc)->sk_receive_queue)) in lec_atm_close()
478 while ((skb = skb_dequeue(&sk_atm(vcc)->sk_receive_queue))) { in lec_atm_close()
479 atm_return(vcc, skb->truesize); in lec_atm_close()
581 static int lec_is_data_direct(struct atm_vcc *vcc) in lec_is_data_direct() argument
583 return ((vcc->sap.blli[0].l3.tr9577.snap[4] == LEC_DATA_DIRECT_8023) || in lec_is_data_direct()
584 (vcc->sap.blli[0].l3.tr9577.snap[4] == LEC_DATA_DIRECT_8025)); in lec_is_data_direct()
587 static void lec_push(struct atm_vcc *vcc, struct sk_buff *skb) in lec_push() argument
590 struct net_device *dev = (struct net_device *)vcc->proto_data; in lec_push()
595 dev->name, vcc->vpi, vcc->vci); in lec_push()
599 lec_vcc_close(priv, vcc); in lec_push()
615 struct sock *sk = sk_atm(vcc); in lec_push()
624 atm_return(vcc, skb->truesize); in lec_push()
642 if (lec_is_data_direct(vcc)) { in lec_push()
645 if (entry && entry->vcc != vcc) { in lec_push()
659 lec_arp_check_empties(priv, vcc, skb); in lec_push()
669 static void lec_pop(struct atm_vcc *vcc, struct sk_buff *skb) in lec_pop() argument
671 struct lec_vcc_priv *vpriv = LEC_VCC_PRIV(vcc); in lec_pop()
679 vpriv->old_pop(vcc, skb); in lec_pop()
681 if (vpriv->xoff && atm_may_send(vcc, 0)) { in lec_pop()
688 static int lec_vcc_attach(struct atm_vcc *vcc, void __user *arg) in lec_vcc_attach() argument
705 vpriv->old_pop = vcc->pop; in lec_vcc_attach()
706 vcc->user_back = vpriv; in lec_vcc_attach()
707 vcc->pop = lec_pop; in lec_vcc_attach()
709 &ioc_data, vcc, vcc->push); in lec_vcc_attach()
710 vcc->proto_data = dev_lec[ioc_data.dev_num]; in lec_vcc_attach()
711 vcc->push = lec_push; in lec_vcc_attach()
715 static int lec_mcast_attach(struct atm_vcc *vcc, int arg) in lec_mcast_attach() argument
719 vcc->proto_data = dev_lec[arg]; in lec_mcast_attach()
720 return lec_mcast_make(netdev_priv(dev_lec[arg]), vcc); in lec_mcast_attach()
724 static int lecd_attach(struct atm_vcc *vcc, int arg) in lecd_attach() argument
757 priv->lecd = vcc; in lecd_attach()
758 vcc->dev = &lecatm_dev; in lecd_attach()
759 vcc_insert_socket(sk_atm(vcc)); in lecd_attach()
761 vcc->proto_data = dev_lec[i]; in lecd_attach()
762 set_bit(ATM_VF_META, &vcc->flags); in lecd_attach()
763 set_bit(ATM_VF_READY, &vcc->flags); in lecd_attach()
811 if (entry->vcc) in lec_info()
812 seq_printf(seq, "%3d %3d ", entry->vcc->vpi, entry->vcc->vci); in lec_info()
1015 struct atm_vcc *vcc = ATM_SD(sock); in lane_ioctl() local
1031 err = lecd_attach(vcc, (int)arg); in lane_ioctl()
1036 err = lec_mcast_attach(vcc, (int)arg); in lane_ioctl()
1039 err = lec_vcc_attach(vcc, (void __user *)arg); in lane_ioctl()
1270 if (entry->vcc) { in lec_arp_clear_vccs()
1271 struct atm_vcc *vcc = entry->vcc; in lec_arp_clear_vccs() local
1272 struct lec_vcc_priv *vpriv = LEC_VCC_PRIV(vcc); in lec_arp_clear_vccs()
1273 struct net_device *dev = (struct net_device *)vcc->proto_data; in lec_arp_clear_vccs()
1275 vcc->pop = vpriv->old_pop; in lec_arp_clear_vccs()
1279 vcc->user_back = NULL; in lec_arp_clear_vccs()
1280 vcc->push = entry->old_push; in lec_arp_clear_vccs()
1281 vcc_release_async(vcc, -EPIPE); in lec_arp_clear_vccs()
1282 entry->vcc = NULL; in lec_arp_clear_vccs()
1388 rulla->vcc ? rulla->vcc->vpi : 0, in dump_arp_table()
1389 rulla->vcc ? rulla->vcc->vci : 0, in dump_arp_table()
1416 rulla->vcc ? rulla->vcc->vpi : 0, in dump_arp_table()
1417 rulla->vcc ? rulla->vcc->vci : 0, in dump_arp_table()
1441 rulla->vcc ? rulla->vcc->vpi : 0, in dump_arp_table()
1442 rulla->vcc ? rulla->vcc->vci : 0, in dump_arp_table()
1466 rulla->vcc ? rulla->vcc->vpi : 0, in dump_arp_table()
1467 rulla->vcc ? rulla->vcc->vci : 0, in dump_arp_table()
1612 to_remove->vcc ? to_remove->recv_vcc->vpi : 0, in lec_arp_expire_vcc()
1613 to_remove->vcc ? to_remove->recv_vcc->vci : 0); in lec_arp_expire_vcc()
1702 struct atm_vcc *vcc = entry->vcc; in lec_arp_check_expire() local
1707 lec_send(vcc, skb); in lec_arp_check_expire()
1756 found = entry->vcc; in lec_arp_resolve()
1787 entry->vcc); in lec_arp_resolve()
1882 tmp->vcc = entry->vcc; in lec_arp_update()
1927 entry->vcc = tmp->vcc; in lec_arp_update()
1954 struct atm_vcc *vcc, in lec_vcc_added() argument
1955 void (*old_push) (struct atm_vcc *vcc, struct sk_buff *skb)) in lec_vcc_added()
1972 entry->recv_vcc = vcc; in lec_vcc_added()
1980 entry->recv_vcc = vcc; in lec_vcc_added()
2005 entry->recv_vcc = vcc; in lec_vcc_added()
2034 entry->vcc ? entry->vcc->vci : 0, in lec_vcc_added()
2039 entry->vcc = vcc; in lec_vcc_added()
2086 entry->vcc = vcc; in lec_vcc_added()
2116 struct atm_vcc *vcc = entry->vcc; in lec_flush_complete() local
2122 lec_send(vcc, skb); in lec_flush_complete()
2156 static int lec_mcast_make(struct lec_priv *priv, struct atm_vcc *vcc) in lec_mcast_make() argument
2170 vpriv->old_pop = vcc->pop; in lec_mcast_make()
2171 vcc->user_back = vpriv; in lec_mcast_make()
2172 vcc->pop = lec_pop; in lec_mcast_make()
2176 vcc->pop = vpriv->old_pop; in lec_mcast_make()
2181 memcpy(to_add->atm_addr, vcc->remote.sas_addr.prv, ATM_ESA_LEN); in lec_mcast_make()
2184 to_add->vcc = vcc; in lec_mcast_make()
2185 to_add->old_push = vcc->push; in lec_mcast_make()
2186 vcc->push = lec_push; in lec_mcast_make()
2187 priv->mcast_vcc = vcc; in lec_mcast_make()
2194 static void lec_vcc_close(struct lec_priv *priv, struct atm_vcc *vcc) in lec_vcc_close() argument
2201 pr_debug("LEC_ARP: lec_vcc_close vpi:%d vci:%d\n", vcc->vpi, vcc->vci); in lec_vcc_close()
2209 if (vcc == entry->vcc) { in lec_vcc_close()
2212 if (priv->mcast_vcc == vcc) in lec_vcc_close()
2220 if (entry->vcc == vcc) { in lec_vcc_close()
2230 if (entry->recv_vcc == vcc) { in lec_vcc_close()
2239 if (entry->recv_vcc == vcc) { in lec_vcc_close()
2253 struct atm_vcc *vcc, struct sk_buff *skb) in lec_arp_check_empties() argument
2264 if (vcc == entry->vcc) { in lec_arp_check_empties()