X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fcore%2Fdv.c;h=29ee77f15932465115d64f7f5d01d395e69af6d6;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=05c76cb9c8fd72ee6e466f1420cebaaf6c6274b6;hpb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;p=linux-2.6.git diff --git a/net/core/dv.c b/net/core/dv.c index 05c76cb9c..29ee77f15 100644 --- a/net/core/dv.c +++ b/net/core/dv.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -52,26 +53,17 @@ int alloc_divert_blk(struct net_device *dev) { int alloc_size = (sizeof(struct divert_blk) + 3) & ~3; + dev->divert = NULL; if (dev->type == ARPHRD_ETHER) { - printk(KERN_DEBUG "divert: allocating divert_blk for %s\n", - dev->name); - - dev->divert = (struct divert_blk *) - kmalloc(alloc_size, GFP_KERNEL); + dev->divert = kzalloc(alloc_size, GFP_KERNEL); if (dev->divert == NULL) { - printk(KERN_DEBUG "divert: unable to allocate divert_blk for %s\n", + printk(KERN_INFO "divert: unable to allocate divert_blk for %s\n", dev->name); return -ENOMEM; - } else { - memset(dev->divert, 0, sizeof(struct divert_blk)); } dev_hold(dev); - } else { - printk(KERN_DEBUG "divert: not allocating divert_blk for non-ethernet device %s\n", - dev->name); - - dev->divert = NULL; } + return 0; } @@ -85,11 +77,6 @@ void free_divert_blk(struct net_device *dev) kfree(dev->divert); dev->divert=NULL; dev_put(dev); - printk(KERN_DEBUG "divert: freeing divert_blk for %s\n", - dev->name); - } else { - printk(KERN_DEBUG "divert: no divert_blk to free, %s not ethernet\n", - dev->name); } } @@ -192,8 +179,12 @@ out: /* * control function of the diverter */ +#if 0 #define DVDBG(a) \ printk(KERN_DEBUG "divert_ioctl() line %d %s\n", __LINE__, (a)) +#else +#define DVDBG(a) +#endif int divert_ioctl(unsigned int cmd, struct divert_cf __user *arg) { @@ -464,7 +455,7 @@ void divert_frame(struct sk_buff *skb) unsigned char *skb_data_end = skb->data + skb->len; /* Packet is already aimed at us, return */ - if (!memcmp(eth, skb->dev->dev_addr, ETH_ALEN)) + if (!compare_ether_addr(eth->h_dest, skb->dev->dev_addr)) return; /* proto is not IP, do nothing */