• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/atm/

Lines Matching refs:vcc

83 				  struct atm_vcc *vcc, struct sk_buff *skb);
95 static int lec_mcast_make(struct lec_priv *priv, struct atm_vcc *vcc);
101 struct atm_vcc *vcc,
102 void (*old_push)(struct atm_vcc *vcc,
104 static void lec_vcc_close(struct lec_priv *priv, struct atm_vcc *vcc);
229 lec_send(struct atm_vcc *vcc, struct sk_buff *skb)
233 ATM_SKB(skb)->vcc = vcc;
234 ATM_SKB(skb)->atm_options = vcc->atm_options;
236 atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc);
237 if (vcc->send(vcc, skb) < 0) {
259 struct atm_vcc *vcc;
348 /* Send to right vcc */
361 vcc = lec_arp_resolve(priv, dst, is_rdesc, &entry);
362 pr_debug("%s:vcc:%p vcc_flags:%lx, entry:%p\n",
363 dev->name, vcc, vcc ? vcc->flags : 0, entry);
364 if (!vcc || !test_bit(ATM_VF_READY, &vcc->flags)) {
379 dev->name, vcc->vpi, vcc->vci);
384 lec_send(vcc, skb2);
387 lec_send(vcc, skb);
389 if (!atm_may_send(vcc, 0)) {
390 struct lec_vcc_priv *vpriv = LEC_VCC_PRIV(vcc);
396 * vcc->pop() might have occurred in between, making
397 * the vcc usuable again. Since xmit is serialized,
401 if (atm_may_send(vcc, 0))
419 static int lec_atm_send(struct atm_vcc *vcc, struct sk_buff *skb)
422 struct net_device *dev = (struct net_device *)vcc->proto_data;
429 atomic_sub(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc);
545 static void lec_atm_close(struct atm_vcc *vcc)
548 struct net_device *dev = (struct net_device *)vcc->proto_data;
557 if (skb_peek(&sk_atm(vcc)->sk_receive_queue))
559 while ((skb = skb_dequeue(&sk_atm(vcc)->sk_receive_queue))) {
560 atm_return(vcc, skb->truesize);
662 static int lec_is_data_direct(struct atm_vcc *vcc)
664 return ((vcc->sap.blli[0].l3.tr9577.snap[4] == LEC_DATA_DIRECT_8023) ||
665 (vcc->sap.blli[0].l3.tr9577.snap[4] == LEC_DATA_DIRECT_8025));
668 static void lec_push(struct atm_vcc *vcc, struct sk_buff *skb)
671 struct net_device *dev = (struct net_device *)vcc->proto_data;
675 printk(KERN_DEBUG "%s: vcc vpi:%d vci:%d\n",
676 dev->name, vcc->vpi, vcc->vci);
680 lec_vcc_close(priv, vcc);
696 struct sock *sk = sk_atm(vcc);
705 atm_return(vcc, skb->truesize);
728 if (lec_is_data_direct(vcc)) {
740 if (entry && entry->vcc != vcc) {
754 lec_arp_check_empties(priv, vcc, skb);
769 static void lec_pop(struct atm_vcc *vcc, struct sk_buff *skb)
771 struct lec_vcc_priv *vpriv = LEC_VCC_PRIV(vcc);
779 vpriv->old_pop(vcc, skb);
781 if (vpriv->xoff && atm_may_send(vcc, 0)) {
788 static int lec_vcc_attach(struct atm_vcc *vcc, void __user *arg)
805 vpriv->old_pop = vcc->pop;
806 vcc->user_back = vpriv;
807 vcc->pop = lec_pop;
809 &ioc_data, vcc, vcc->push);
810 vcc->proto_data = dev_lec[ioc_data.dev_num];
811 vcc->push = lec_push;
815 static int lec_mcast_attach(struct atm_vcc *vcc, int arg)
819 vcc->proto_data = dev_lec[arg];
821 vcc);
825 static int lecd_attach(struct atm_vcc *vcc, int arg)
873 priv->lecd = vcc;
874 vcc->dev = &lecatm_dev;
875 vcc_insert_socket(sk_atm(vcc));
877 vcc->proto_data = dev_lec[i];
878 set_bit(ATM_VF_META, &vcc->flags);
879 set_bit(ATM_VF_READY, &vcc->flags);
927 if (entry->vcc)
928 seq_printf(seq, "%3d %3d ", entry->vcc->vpi, entry->vcc->vci);
1129 struct atm_vcc *vcc = ATM_SD(sock);
1145 err = lecd_attach(vcc, (int)arg);
1150 err = lec_mcast_attach(vcc, (int)arg);
1153 err = lec_vcc_attach(vcc, (void __user *)arg);
1369 if (entry->vcc) {
1370 struct atm_vcc *vcc = entry->vcc;
1371 struct lec_vcc_priv *vpriv = LEC_VCC_PRIV(vcc);
1372 struct net_device *dev = (struct net_device *)vcc->proto_data;
1374 vcc->pop = vpriv->old_pop;
1378 vcc->user_back = NULL;
1379 vcc->push = entry->old_push;
1380 vcc_release_async(vcc, -EPIPE);
1381 entry->vcc = NULL;
1489 rulla->vcc ? rulla->vcc->vpi : 0,
1490 rulla->vcc ? rulla->vcc->vci : 0,
1517 rulla->vcc ? rulla->vcc->vpi : 0,
1518 rulla->vcc ? rulla->vcc->vci : 0,
1542 rulla->vcc ? rulla->vcc->vpi : 0,
1543 rulla->vcc ? rulla->vcc->vci : 0,
1567 rulla->vcc ? rulla->vcc->vpi : 0,
1568 rulla->vcc ? rulla->vcc->vci : 0,
1703 /* Unknown/unused vcc expire, remove associated entry */
1714 to_remove->vcc ? to_remove->recv_vcc->vpi : 0,
1715 to_remove->vcc ? to_remove->recv_vcc->vci : 0);
1804 struct atm_vcc *vcc = entry->vcc;
1809 lec_send(vcc, skb);
1824 * Try to find vcc where mac_address is attached.
1858 found = entry->vcc;
1888 pr_debug("entry->status %d entry->vcc %p\n", entry->status,
1889 entry->vcc);
1984 tmp->vcc = entry->vcc;
2029 entry->vcc = tmp->vcc;
2056 struct atm_vcc *vcc,
2057 void (*old_push) (struct atm_vcc *vcc, struct sk_buff *skb))
2073 entry->recv_vcc = vcc;
2079 * Vcc which we don't want to make default vcc,
2098 entry->recv_vcc = vcc;
2127 entry->vcc ? entry->vcc->vci : 0,
2132 entry->vcc = vcc;
2162 pr_debug("After vcc was added\n");
2168 * from this vcc
2173 entry->vcc = vcc;
2182 pr_debug("After vcc was added\n");
2204 struct atm_vcc *vcc = entry->vcc;
2210 lec_send(vcc, skb);
2245 static int lec_mcast_make(struct lec_priv *priv, struct atm_vcc *vcc)
2259 vpriv->old_pop = vcc->pop;
2260 vcc->user_back = vpriv;
2261 vcc->pop = lec_pop;
2265 vcc->pop = vpriv->old_pop;
2270 memcpy(to_add->atm_addr, vcc->remote.sas_addr.prv, ATM_ESA_LEN);
2273 to_add->vcc = vcc;
2274 to_add->old_push = vcc->push;
2275 vcc->push = lec_push;
2276 priv->mcast_vcc = vcc;
2283 static void lec_vcc_close(struct lec_priv *priv, struct atm_vcc *vcc)
2290 pr_debug("LEC_ARP: lec_vcc_close vpi:%d vci:%d\n", vcc->vpi, vcc->vci);
2298 if (vcc == entry->vcc) {
2301 if (priv->mcast_vcc == vcc)
2309 if (entry->vcc == vcc) {
2319 if (entry->recv_vcc == vcc) {
2328 if (entry->recv_vcc == vcc) {
2342 struct atm_vcc *vcc, struct sk_buff *skb)
2361 if (vcc == entry->vcc) {