diff options
| author | Christoph Hellwig <hch@lst.de> | 2003-05-20 04:56:40 -0700 |
|---|---|---|
| committer | David S. Miller <davem@nuts.ninka.net> | 2003-05-20 04:56:40 -0700 |
| commit | a6a1faca24996aaab9527353e6112919cd99ca73 (patch) | |
| tree | 32cb7e8be328ba3f4bec924d4a5ffce9e3a7600f | |
| parent | 12a7f674a5c1df7685c2e92e833bc9fc9a6ac795 (diff) | |
[NET]: Clean up the divert ifdef mess.
| -rw-r--r-- | drivers/net/Space.c | 6 | ||||
| -rw-r--r-- | include/linux/divert.h | 17 | ||||
| -rw-r--r-- | net/core/dev.c | 15 | ||||
| -rw-r--r-- | net/socket.c | 4 |
4 files changed, 15 insertions, 27 deletions
diff --git a/drivers/net/Space.c b/drivers/net/Space.c index b09a14ceae14..16b90c0ee242 100644 --- a/drivers/net/Space.c +++ b/drivers/net/Space.c @@ -131,26 +131,20 @@ static int __init probe_list(struct net_device *dev, struct devprobe *plist) { struct devprobe *p = plist; unsigned long base_addr = dev->base_addr; -#ifdef CONFIG_NET_DIVERT int ret; -#endif /* CONFIG_NET_DIVERT */ while (p->probe != NULL) { if (base_addr && p->probe(dev) == 0) { /* probe given addr */ -#ifdef CONFIG_NET_DIVERT ret = alloc_divert_blk(dev); if (ret) return ret; -#endif /* CONFIG_NET_DIVERT */ return 0; } else if (p->status == 0) { /* has autoprobe failed yet? */ p->status = p->probe(dev); /* no, try autoprobe */ if (p->status == 0) { -#ifdef CONFIG_NET_DIVERT ret = alloc_divert_blk(dev); if (ret) return ret; -#endif /* CONFIG_NET_DIVERT */ return 0; } } diff --git a/include/linux/divert.h b/include/linux/divert.h index 66e56ec15b66..38497a643657 100644 --- a/include/linux/divert.h +++ b/include/linux/divert.h @@ -107,11 +107,24 @@ struct divert_cf /* diverter functions */ #include <linux/skbuff.h> + +#ifdef CONFIG_NET_DIVERT int alloc_divert_blk(struct net_device *); void free_divert_blk(struct net_device *); int divert_ioctl(unsigned int cmd, struct divert_cf *arg); void divert_frame(struct sk_buff *skb); - +static inline void handle_diverter(struct sk_buff *skb) +{ + /* if diversion is supported on device, then divert */ + if (skb->dev->divert && skb->dev->divert->divert) + divert_frame(skb); +} + +#else +# define alloc_divert_blk(dev) (0) +# define free_divert_blk(dev) do {} while (0) +# define divert_ioctl(cmd, arg) (-ENOPKG) +# define handle_diverter(skb) do {} while (0) +#endif #endif - #endif /* _LINUX_DIVERT_H */ diff --git a/net/core/dev.c b/net/core/dev.c index db0273ba4a3a..ccbd5700dcb8 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1465,15 +1465,6 @@ static __inline__ int handle_bridge(struct sk_buff *skb, #endif -static inline void handle_diverter(struct sk_buff *skb) -{ -#ifdef CONFIG_NET_DIVERT - /* if diversion is supported on device, then divert */ - if (skb->dev->divert && skb->dev->divert->divert) - divert_frame(skb); -#endif -} - static inline int __handle_bridge(struct sk_buff *skb, struct packet_type **pt_prev, int *ret) { @@ -2568,11 +2559,9 @@ int register_netdevice(struct net_device *dev) dev->fastpath_lock = RW_LOCK_UNLOCKED; #endif -#ifdef CONFIG_NET_DIVERT ret = alloc_divert_blk(dev); if (ret) goto out; -#endif /* CONFIG_NET_DIVERT */ dev->iflink = -1; @@ -2638,9 +2627,7 @@ int register_netdevice(struct net_device *dev) out: return ret; out_err: -#ifdef CONFIG_NET_DIVERT free_divert_blk(dev); -#endif goto out; } @@ -2845,9 +2832,7 @@ int unregister_netdevice(struct net_device *dev) /* Notifier chain MUST detach us from master device. */ BUG_TRAP(!dev->master); -#ifdef CONFIG_NET_DIVERT free_divert_blk(dev); -#endif kobject_unregister(&dev->kobj); diff --git a/net/socket.c b/net/socket.c index 2f65bf513848..ba8e4fb345ab 100644 --- a/net/socket.c +++ b/net/socket.c @@ -821,11 +821,7 @@ static int sock_ioctl(struct inode *inode, struct file *file, unsigned int cmd, case SIOCGIFDIVERT: case SIOCSIFDIVERT: /* Convert this to call through a hook */ -#ifdef CONFIG_NET_DIVERT err = divert_ioctl(cmd, (struct divert_cf *)arg); -#else - err = -ENOPKG; -#endif /* CONFIG_NET_DIVERT */ break; case SIOCADDDLCI: case SIOCDELDLCI: |
