summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2003-05-20 04:56:40 -0700
committerDavid S. Miller <davem@nuts.ninka.net>2003-05-20 04:56:40 -0700
commita6a1faca24996aaab9527353e6112919cd99ca73 (patch)
tree32cb7e8be328ba3f4bec924d4a5ffce9e3a7600f
parent12a7f674a5c1df7685c2e92e833bc9fc9a6ac795 (diff)
[NET]: Clean up the divert ifdef mess.
-rw-r--r--drivers/net/Space.c6
-rw-r--r--include/linux/divert.h17
-rw-r--r--net/core/dev.c15
-rw-r--r--net/socket.c4
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: