diff options
Diffstat (limited to 'net/atm/clip.c')
| -rw-r--r-- | net/atm/clip.c | 62 |
1 files changed, 27 insertions, 35 deletions
diff --git a/net/atm/clip.c b/net/atm/clip.c index ecf0f79b94ae..806ea98567c6 100644 --- a/net/atm/clip.c +++ b/net/atm/clip.c | |||
| @@ -40,14 +40,6 @@ | |||
| 40 | #include "resources.h" | 40 | #include "resources.h" |
| 41 | #include <net/atmclip.h> | 41 | #include <net/atmclip.h> |
| 42 | 42 | ||
| 43 | |||
| 44 | #if 0 | ||
| 45 | #define DPRINTK(format,args...) printk(format,##args) | ||
| 46 | #else | ||
| 47 | #define DPRINTK(format,args...) | ||
| 48 | #endif | ||
| 49 | |||
| 50 | |||
| 51 | static struct net_device *clip_devs; | 43 | static struct net_device *clip_devs; |
| 52 | static struct atm_vcc *atmarpd; | 44 | static struct atm_vcc *atmarpd; |
| 53 | static struct neigh_table clip_tbl; | 45 | static struct neigh_table clip_tbl; |
| @@ -59,7 +51,7 @@ static int to_atmarpd(enum atmarp_ctrl_type type, int itf, __be32 ip) | |||
| 59 | struct atmarp_ctrl *ctrl; | 51 | struct atmarp_ctrl *ctrl; |
| 60 | struct sk_buff *skb; | 52 | struct sk_buff *skb; |
| 61 | 53 | ||
| 62 | DPRINTK("to_atmarpd(%d)\n", type); | 54 | pr_debug("to_atmarpd(%d)\n", type); |
| 63 | if (!atmarpd) | 55 | if (!atmarpd) |
| 64 | return -EUNATCH; | 56 | return -EUNATCH; |
| 65 | skb = alloc_skb(sizeof(struct atmarp_ctrl),GFP_ATOMIC); | 57 | skb = alloc_skb(sizeof(struct atmarp_ctrl),GFP_ATOMIC); |
| @@ -79,7 +71,7 @@ static int to_atmarpd(enum atmarp_ctrl_type type, int itf, __be32 ip) | |||
| 79 | 71 | ||
| 80 | static void link_vcc(struct clip_vcc *clip_vcc, struct atmarp_entry *entry) | 72 | static void link_vcc(struct clip_vcc *clip_vcc, struct atmarp_entry *entry) |
| 81 | { | 73 | { |
| 82 | DPRINTK("link_vcc %p to entry %p (neigh %p)\n", clip_vcc, entry, | 74 | pr_debug("link_vcc %p to entry %p (neigh %p)\n", clip_vcc, entry, |
| 83 | entry->neigh); | 75 | entry->neigh); |
| 84 | clip_vcc->entry = entry; | 76 | clip_vcc->entry = entry; |
| 85 | clip_vcc->xoff = 0; /* @@@ may overrun buffer by one packet */ | 77 | clip_vcc->xoff = 0; /* @@@ may overrun buffer by one packet */ |
| @@ -134,7 +126,7 @@ static int neigh_check_cb(struct neighbour *n) | |||
| 134 | unsigned long exp = cv->last_use + cv->idle_timeout; | 126 | unsigned long exp = cv->last_use + cv->idle_timeout; |
| 135 | 127 | ||
| 136 | if (cv->idle_timeout && time_after(jiffies, exp)) { | 128 | if (cv->idle_timeout && time_after(jiffies, exp)) { |
| 137 | DPRINTK("releasing vcc %p->%p of entry %p\n", | 129 | pr_debug("releasing vcc %p->%p of entry %p\n", |
| 138 | cv, cv->vcc, entry); | 130 | cv, cv->vcc, entry); |
| 139 | vcc_release_async(cv->vcc, -ETIMEDOUT); | 131 | vcc_release_async(cv->vcc, -ETIMEDOUT); |
| 140 | } | 132 | } |
| @@ -146,7 +138,7 @@ static int neigh_check_cb(struct neighbour *n) | |||
| 146 | if (atomic_read(&n->refcnt) > 1) { | 138 | if (atomic_read(&n->refcnt) > 1) { |
| 147 | struct sk_buff *skb; | 139 | struct sk_buff *skb; |
| 148 | 140 | ||
| 149 | DPRINTK("destruction postponed with ref %d\n", | 141 | pr_debug("destruction postponed with ref %d\n", |
| 150 | atomic_read(&n->refcnt)); | 142 | atomic_read(&n->refcnt)); |
| 151 | 143 | ||
| 152 | while ((skb = skb_dequeue(&n->arp_queue)) != NULL) | 144 | while ((skb = skb_dequeue(&n->arp_queue)) != NULL) |
| @@ -155,7 +147,7 @@ static int neigh_check_cb(struct neighbour *n) | |||
| 155 | return 0; | 147 | return 0; |
| 156 | } | 148 | } |
| 157 | 149 | ||
| 158 | DPRINTK("expired neigh %p\n", n); | 150 | pr_debug("expired neigh %p\n", n); |
| 159 | return 1; | 151 | return 1; |
| 160 | } | 152 | } |
| 161 | 153 | ||
| @@ -171,14 +163,14 @@ static int clip_arp_rcv(struct sk_buff *skb) | |||
| 171 | { | 163 | { |
| 172 | struct atm_vcc *vcc; | 164 | struct atm_vcc *vcc; |
| 173 | 165 | ||
| 174 | DPRINTK("clip_arp_rcv\n"); | 166 | pr_debug("clip_arp_rcv\n"); |
| 175 | vcc = ATM_SKB(skb)->vcc; | 167 | vcc = ATM_SKB(skb)->vcc; |
| 176 | if (!vcc || !atm_charge(vcc, skb->truesize)) { | 168 | if (!vcc || !atm_charge(vcc, skb->truesize)) { |
| 177 | dev_kfree_skb_any(skb); | 169 | dev_kfree_skb_any(skb); |
| 178 | return 0; | 170 | return 0; |
| 179 | } | 171 | } |
| 180 | DPRINTK("pushing to %p\n", vcc); | 172 | pr_debug("pushing to %p\n", vcc); |
| 181 | DPRINTK("using %p\n", CLIP_VCC(vcc)->old_push); | 173 | pr_debug("using %p\n", CLIP_VCC(vcc)->old_push); |
| 182 | CLIP_VCC(vcc)->old_push(vcc, skb); | 174 | CLIP_VCC(vcc)->old_push(vcc, skb); |
| 183 | return 0; | 175 | return 0; |
| 184 | } | 176 | } |
| @@ -196,9 +188,9 @@ static void clip_push(struct atm_vcc *vcc, struct sk_buff *skb) | |||
| 196 | { | 188 | { |
| 197 | struct clip_vcc *clip_vcc = CLIP_VCC(vcc); | 189 | struct clip_vcc *clip_vcc = CLIP_VCC(vcc); |
| 198 | 190 | ||
| 199 | DPRINTK("clip push\n"); | 191 | pr_debug("clip push\n"); |
| 200 | if (!skb) { | 192 | if (!skb) { |
| 201 | DPRINTK("removing VCC %p\n", clip_vcc); | 193 | pr_debug("removing VCC %p\n", clip_vcc); |
| 202 | if (clip_vcc->entry) | 194 | if (clip_vcc->entry) |
| 203 | unlink_clip_vcc(clip_vcc); | 195 | unlink_clip_vcc(clip_vcc); |
| 204 | clip_vcc->old_push(vcc, NULL); /* pass on the bad news */ | 196 | clip_vcc->old_push(vcc, NULL); /* pass on the bad news */ |
| @@ -247,7 +239,7 @@ static void clip_pop(struct atm_vcc *vcc, struct sk_buff *skb) | |||
| 247 | int old; | 239 | int old; |
| 248 | unsigned long flags; | 240 | unsigned long flags; |
| 249 | 241 | ||
| 250 | DPRINTK("clip_pop(vcc %p)\n", vcc); | 242 | pr_debug("clip_pop(vcc %p)\n", vcc); |
| 251 | clip_vcc->old_pop(vcc, skb); | 243 | clip_vcc->old_pop(vcc, skb); |
| 252 | /* skb->dev == NULL in outbound ARP packets */ | 244 | /* skb->dev == NULL in outbound ARP packets */ |
| 253 | if (!dev) | 245 | if (!dev) |
| @@ -263,7 +255,7 @@ static void clip_pop(struct atm_vcc *vcc, struct sk_buff *skb) | |||
| 263 | 255 | ||
| 264 | static void clip_neigh_solicit(struct neighbour *neigh, struct sk_buff *skb) | 256 | static void clip_neigh_solicit(struct neighbour *neigh, struct sk_buff *skb) |
| 265 | { | 257 | { |
| 266 | DPRINTK("clip_neigh_solicit (neigh %p, skb %p)\n", neigh, skb); | 258 | pr_debug("clip_neigh_solicit (neigh %p, skb %p)\n", neigh, skb); |
| 267 | to_atmarpd(act_need, PRIV(neigh->dev)->number, NEIGH2ENTRY(neigh)->ip); | 259 | to_atmarpd(act_need, PRIV(neigh->dev)->number, NEIGH2ENTRY(neigh)->ip); |
| 268 | } | 260 | } |
| 269 | 261 | ||
| @@ -292,7 +284,7 @@ static int clip_constructor(struct neighbour *neigh) | |||
| 292 | struct in_device *in_dev; | 284 | struct in_device *in_dev; |
| 293 | struct neigh_parms *parms; | 285 | struct neigh_parms *parms; |
| 294 | 286 | ||
| 295 | DPRINTK("clip_constructor (neigh %p, entry %p)\n", neigh, entry); | 287 | pr_debug("clip_constructor (neigh %p, entry %p)\n", neigh, entry); |
| 296 | neigh->type = inet_addr_type(entry->ip); | 288 | neigh->type = inet_addr_type(entry->ip); |
| 297 | if (neigh->type != RTN_UNICAST) | 289 | if (neigh->type != RTN_UNICAST) |
| 298 | return -EINVAL; | 290 | return -EINVAL; |
| @@ -376,7 +368,7 @@ static int clip_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
| 376 | int old; | 368 | int old; |
| 377 | unsigned long flags; | 369 | unsigned long flags; |
| 378 | 370 | ||
| 379 | DPRINTK("clip_start_xmit (skb %p)\n", skb); | 371 | pr_debug("clip_start_xmit (skb %p)\n", skb); |
| 380 | if (!skb->dst) { | 372 | if (!skb->dst) { |
| 381 | printk(KERN_ERR "clip_start_xmit: skb->dst == NULL\n"); | 373 | printk(KERN_ERR "clip_start_xmit: skb->dst == NULL\n"); |
| 382 | dev_kfree_skb(skb); | 374 | dev_kfree_skb(skb); |
| @@ -412,9 +404,9 @@ static int clip_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
| 412 | } | 404 | } |
| 413 | return 0; | 405 | return 0; |
| 414 | } | 406 | } |
| 415 | DPRINTK("neigh %p, vccs %p\n", entry, entry->vccs); | 407 | pr_debug("neigh %p, vccs %p\n", entry, entry->vccs); |
| 416 | ATM_SKB(skb)->vcc = vcc = entry->vccs->vcc; | 408 | ATM_SKB(skb)->vcc = vcc = entry->vccs->vcc; |
| 417 | DPRINTK("using neighbour %p, vcc %p\n", skb->dst->neighbour, vcc); | 409 | pr_debug("using neighbour %p, vcc %p\n", skb->dst->neighbour, vcc); |
| 418 | if (entry->vccs->encap) { | 410 | if (entry->vccs->encap) { |
| 419 | void *here; | 411 | void *here; |
| 420 | 412 | ||
| @@ -425,7 +417,7 @@ static int clip_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
| 425 | atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc); | 417 | atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc); |
| 426 | ATM_SKB(skb)->atm_options = vcc->atm_options; | 418 | ATM_SKB(skb)->atm_options = vcc->atm_options; |
| 427 | entry->vccs->last_use = jiffies; | 419 | entry->vccs->last_use = jiffies; |
| 428 | DPRINTK("atm_skb(%p)->vcc(%p)->dev(%p)\n", skb, vcc, vcc->dev); | 420 | pr_debug("atm_skb(%p)->vcc(%p)->dev(%p)\n", skb, vcc, vcc->dev); |
| 429 | old = xchg(&entry->vccs->xoff, 1); /* assume XOFF ... */ | 421 | old = xchg(&entry->vccs->xoff, 1); /* assume XOFF ... */ |
| 430 | if (old) { | 422 | if (old) { |
| 431 | printk(KERN_WARNING "clip_start_xmit: XOFF->XOFF transition\n"); | 423 | printk(KERN_WARNING "clip_start_xmit: XOFF->XOFF transition\n"); |
| @@ -468,7 +460,7 @@ static int clip_mkip(struct atm_vcc *vcc, int timeout) | |||
| 468 | clip_vcc = kmalloc(sizeof(struct clip_vcc), GFP_KERNEL); | 460 | clip_vcc = kmalloc(sizeof(struct clip_vcc), GFP_KERNEL); |
| 469 | if (!clip_vcc) | 461 | if (!clip_vcc) |
| 470 | return -ENOMEM; | 462 | return -ENOMEM; |
| 471 | DPRINTK("mkip clip_vcc %p vcc %p\n", clip_vcc, vcc); | 463 | pr_debug("mkip clip_vcc %p vcc %p\n", clip_vcc, vcc); |
| 472 | clip_vcc->vcc = vcc; | 464 | clip_vcc->vcc = vcc; |
| 473 | vcc->user_back = clip_vcc; | 465 | vcc->user_back = clip_vcc; |
| 474 | set_bit(ATM_VF_IS_CLIP, &vcc->flags); | 466 | set_bit(ATM_VF_IS_CLIP, &vcc->flags); |
| @@ -538,7 +530,7 @@ static int clip_setentry(struct atm_vcc *vcc, __be32 ip) | |||
| 538 | printk(KERN_ERR "hiding hidden ATMARP entry\n"); | 530 | printk(KERN_ERR "hiding hidden ATMARP entry\n"); |
| 539 | return 0; | 531 | return 0; |
| 540 | } | 532 | } |
| 541 | DPRINTK("setentry: remove\n"); | 533 | pr_debug("setentry: remove\n"); |
| 542 | unlink_clip_vcc(clip_vcc); | 534 | unlink_clip_vcc(clip_vcc); |
| 543 | return 0; | 535 | return 0; |
| 544 | } | 536 | } |
| @@ -552,9 +544,9 @@ static int clip_setentry(struct atm_vcc *vcc, __be32 ip) | |||
| 552 | entry = NEIGH2ENTRY(neigh); | 544 | entry = NEIGH2ENTRY(neigh); |
| 553 | if (entry != clip_vcc->entry) { | 545 | if (entry != clip_vcc->entry) { |
| 554 | if (!clip_vcc->entry) | 546 | if (!clip_vcc->entry) |
| 555 | DPRINTK("setentry: add\n"); | 547 | pr_debug("setentry: add\n"); |
| 556 | else { | 548 | else { |
| 557 | DPRINTK("setentry: update\n"); | 549 | pr_debug("setentry: update\n"); |
| 558 | unlink_clip_vcc(clip_vcc); | 550 | unlink_clip_vcc(clip_vcc); |
| 559 | } | 551 | } |
| 560 | link_vcc(clip_vcc, entry); | 552 | link_vcc(clip_vcc, entry); |
| @@ -611,7 +603,7 @@ static int clip_create(int number) | |||
| 611 | } | 603 | } |
| 612 | clip_priv->next = clip_devs; | 604 | clip_priv->next = clip_devs; |
| 613 | clip_devs = dev; | 605 | clip_devs = dev; |
| 614 | DPRINTK("registered (net:%s)\n", dev->name); | 606 | pr_debug("registered (net:%s)\n", dev->name); |
| 615 | return number; | 607 | return number; |
| 616 | } | 608 | } |
| 617 | 609 | ||
| @@ -631,16 +623,16 @@ static int clip_device_event(struct notifier_block *this, unsigned long event, | |||
| 631 | 623 | ||
| 632 | switch (event) { | 624 | switch (event) { |
| 633 | case NETDEV_UP: | 625 | case NETDEV_UP: |
| 634 | DPRINTK("clip_device_event NETDEV_UP\n"); | 626 | pr_debug("clip_device_event NETDEV_UP\n"); |
| 635 | to_atmarpd(act_up, PRIV(dev)->number, 0); | 627 | to_atmarpd(act_up, PRIV(dev)->number, 0); |
| 636 | break; | 628 | break; |
| 637 | case NETDEV_GOING_DOWN: | 629 | case NETDEV_GOING_DOWN: |
| 638 | DPRINTK("clip_device_event NETDEV_DOWN\n"); | 630 | pr_debug("clip_device_event NETDEV_DOWN\n"); |
| 639 | to_atmarpd(act_down, PRIV(dev)->number, 0); | 631 | to_atmarpd(act_down, PRIV(dev)->number, 0); |
| 640 | break; | 632 | break; |
| 641 | case NETDEV_CHANGE: | 633 | case NETDEV_CHANGE: |
| 642 | case NETDEV_CHANGEMTU: | 634 | case NETDEV_CHANGEMTU: |
| 643 | DPRINTK("clip_device_event NETDEV_CHANGE*\n"); | 635 | pr_debug("clip_device_event NETDEV_CHANGE*\n"); |
| 644 | to_atmarpd(act_change, PRIV(dev)->number, 0); | 636 | to_atmarpd(act_change, PRIV(dev)->number, 0); |
| 645 | break; | 637 | break; |
| 646 | } | 638 | } |
| @@ -681,14 +673,14 @@ static struct notifier_block clip_inet_notifier = { | |||
| 681 | 673 | ||
| 682 | static void atmarpd_close(struct atm_vcc *vcc) | 674 | static void atmarpd_close(struct atm_vcc *vcc) |
| 683 | { | 675 | { |
| 684 | DPRINTK("atmarpd_close\n"); | 676 | pr_debug("atmarpd_close\n"); |
| 685 | 677 | ||
| 686 | rtnl_lock(); | 678 | rtnl_lock(); |
| 687 | atmarpd = NULL; | 679 | atmarpd = NULL; |
| 688 | skb_queue_purge(&sk_atm(vcc)->sk_receive_queue); | 680 | skb_queue_purge(&sk_atm(vcc)->sk_receive_queue); |
| 689 | rtnl_unlock(); | 681 | rtnl_unlock(); |
| 690 | 682 | ||
| 691 | DPRINTK("(done)\n"); | 683 | pr_debug("(done)\n"); |
| 692 | module_put(THIS_MODULE); | 684 | module_put(THIS_MODULE); |
| 693 | } | 685 | } |
| 694 | 686 | ||
