ar71xx/image: migrate tl-wr841nd-v1.5 to new build step using squashfs+jffs2 instead...
[oweals/openwrt.git] / target / linux / generic / patches-4.0 / 643-bridge_remove_ipv6_dependency.patch
index 6fed2e1c7a4c9e4ebe4f9268e9c8ed9bf4f2963b..6842d977466ca7c6c6ae26ea6eb0ebaf94d9c4ff 100644 (file)
@@ -1,3 +1,16 @@
+From: Jonas Gorski <jonas.gorski+openwrt@gmail.com>
+Subject: [PATCH] bridge: remove IPv6 depependency of bridge in 2.6.38+
+
+Since 2.6.38 the bridge module has a dependency to IPv6 if IPv6 is
+enabled. Since the IPv6 module isn't exactly lightweight and bridge also
+only needs a single function from IPv6, it's rather easy to create a
+common "lib" module with a RCU pointer to the actual implementation, if
+the IPv6 module is loaded (although slightly hackish).
+
+The codepath seems to be only taken when using IPv6, so there should be
+no negative side effects when IPv6 isn't loaded. I did not measure how
+big the performance impact is.
+---
 --- a/include/net/addrconf.h
 +++ b/include/net/addrconf.h
 @@ -91,6 +91,12 @@ int ipv6_rcv_saddr_equal(const struct so
@@ -25,7 +38,7 @@
          Ethernet bridge, which means that the different Ethernet segments it
 --- a/net/ipv6/Makefile
 +++ b/net/ipv6/Makefile
-@@ -45,6 +45,7 @@ obj-y += addrconf_core.o exthdrs_core.o 
+@@ -45,6 +45,7 @@ obj-y += addrconf_core.o exthdrs_core.o
  obj-$(CONFIG_INET) += output_core.o protocol.o $(ipv6-offload)
  
  obj-$(subst m,y,$(CONFIG_IPV6)) += inet6_hashtables.o