Lines Matching refs:clip_vcc

76 static void link_vcc(struct clip_vcc *clip_vcc, struct atmarp_entry *entry)
78 pr_debug("%p to entry %p (neigh %p)\n", clip_vcc, entry, entry->neigh);
79 clip_vcc->entry = entry;
80 clip_vcc->xoff = 0; /* @@@ may overrun buffer by one packet */
81 clip_vcc->next = entry->vccs;
82 entry->vccs = clip_vcc;
86 static void unlink_clip_vcc(struct clip_vcc *clip_vcc)
88 struct atmarp_entry *entry = clip_vcc->entry;
89 struct clip_vcc **walk;
92 pr_err("!clip_vcc->entry (clip_vcc %p)\n", clip_vcc);
98 if (*walk == clip_vcc) {
101 *walk = clip_vcc->next; /* atomic */
102 clip_vcc->entry = NULL;
103 if (clip_vcc->xoff)
115 pr_err("ATMARP: failed (entry %p, vcc 0x%p)\n", entry, clip_vcc);
124 struct clip_vcc *cv;
192 struct clip_vcc *clip_vcc = CLIP_VCC(vcc);
203 pr_debug("removing VCC %p\n", clip_vcc);
204 if (clip_vcc->entry)
205 unlink_clip_vcc(clip_vcc);
206 clip_vcc->old_push(vcc, NULL); /* pass on the bad news */
207 kfree(clip_vcc);
211 skb->dev = clip_vcc->entry ? clip_vcc->entry->neigh->dev : clip_devs;
212 /* clip_vcc->entry == NULL if we don't have an IP address yet */
219 if (!clip_vcc->encap ||
233 clip_vcc->last_use = jiffies;
247 struct clip_vcc *clip_vcc = CLIP_VCC(vcc);
253 clip_vcc->old_pop(vcc, skb);
259 old = xchg(&clip_vcc->xoff, 0);
417 struct clip_vcc *clip_vcc;
421 clip_vcc = kmalloc(sizeof(struct clip_vcc), GFP_KERNEL);
422 if (!clip_vcc)
424 pr_debug("%p vcc %p\n", clip_vcc, vcc);
425 clip_vcc->vcc = vcc;
426 vcc->user_back = clip_vcc;
428 clip_vcc->entry = NULL;
429 clip_vcc->xoff = 0;
430 clip_vcc->encap = 1;
431 clip_vcc->last_use = jiffies;
432 clip_vcc->idle_timeout = timeout * HZ;
433 clip_vcc->old_push = vcc->push;
434 clip_vcc->old_pop = vcc->pop;
449 struct clip_vcc *clip_vcc;
456 clip_vcc = CLIP_VCC(vcc);
458 if (!clip_vcc->entry) {
463 unlink_clip_vcc(clip_vcc);
474 if (entry != clip_vcc->entry) {
475 if (!clip_vcc->entry)
479 unlink_clip_vcc(clip_vcc);
481 link_vcc(clip_vcc, entry);
737 struct atmarp_entry *entry, struct clip_vcc *clip_vcc)
744 svc = ((clip_vcc == SEQ_NO_VCC_TOKEN) ||
745 (sk_atm(clip_vcc->vcc)->sk_family == AF_ATMSVC));
747 llc = ((clip_vcc == SEQ_NO_VCC_TOKEN) || clip_vcc->encap);
749 if (clip_vcc == SEQ_NO_VCC_TOKEN)
752 exp = clip_vcc->last_use;
765 if (clip_vcc == SEQ_NO_VCC_TOKEN) {
773 clip_vcc->vcc->dev->number,
774 clip_vcc->vcc->vpi, clip_vcc->vcc->vci);
776 svc_addr(seq, &clip_vcc->vcc->remote);
786 struct clip_vcc *vcc;
789 static struct clip_vcc *clip_seq_next_vcc(struct atmarp_entry *e,
790 struct clip_vcc *curr)
809 struct clip_vcc *vcc = state->vcc;
852 struct clip_vcc *vcc = state->vcc;