summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-09-13 21:13:54 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-17 23:21:14 -0700
commit080f22c0dc544e498e57ad281a9de063fa839957 (patch)
treee97dbbcdec76f3e50c3957c2d850ceec8c3cd237
parentdc36251037ae4f69f2f764efd9b57136e3b9848d (diff)
[NET]: Mark frame diverter for future removal.
The code for frame diverter is unmaintained and has bitrotted. The number of users is very small and the code has lots of problems. If anyone is using it, they maybe exposing themselves to bad packet attacks. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--Documentation/feature-removal-schedule.txt13
-rw-r--r--net/Kconfig2
2 files changed, 14 insertions, 1 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index d1cd5f93e02..552507fe9a7 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -281,3 +281,16 @@ Why: The deferred output hooks are a layering violation causing unusual
Who: Patrick McHardy <kaber@trash.net>
---------------------------
+
+What: frame diverter
+When: November 2006
+Why: The frame diverter is included in most distribution kernels, but is
+ broken. It does not correctly handle many things:
+ - IPV6
+ - non-linear skb's
+ - network device RCU on removal
+ - input frames not correctly checked for protocol errors
+ It also adds allocation overhead even if not enabled.
+ It is not clear if anyone is still using it.
+Who: Stephen Hemminger <shemminger@osdl.org>
+
diff --git a/net/Kconfig b/net/Kconfig
index c6cec5aa548..4959a4e1e0f 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -177,7 +177,7 @@ source "net/lapb/Kconfig"
config NET_DIVERT
bool "Frame Diverter (EXPERIMENTAL)"
- depends on EXPERIMENTAL
+ depends on EXPERIMENTAL && BROKEN
---help---
The Frame Diverter allows you to divert packets from the
network, that are not aimed at the interface receiving it (in