diff options
3 files changed, 39 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.18/643-bridge_remove_ipv6_dependency.patch b/target/linux/generic/patches-3.18/643-bridge_remove_ipv6_dependency.patch index 3f0dcd3ae2..25f49c0c19 100644 --- a/target/linux/generic/patches-3.18/643-bridge_remove_ipv6_dependency.patch +++ b/target/linux/generic/patches-3.18/643-bridge_remove_ipv6_dependency.patch @@ -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 @@ -88,6 +88,12 @@ int ipv6_rcv_saddr_equal(const struct so diff --git a/target/linux/generic/patches-4.0/643-bridge_remove_ipv6_dependency.patch b/target/linux/generic/patches-4.0/643-bridge_remove_ipv6_dependency.patch index 50e4fe4b10..6842d97746 100644 --- a/target/linux/generic/patches-4.0/643-bridge_remove_ipv6_dependency.patch +++ b/target/linux/generic/patches-4.0/643-bridge_remove_ipv6_dependency.patch @@ -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 diff --git a/target/linux/generic/patches-4.1/643-bridge_remove_ipv6_dependency.patch b/target/linux/generic/patches-4.1/643-bridge_remove_ipv6_dependency.patch index 001d2c6258..b18f33e962 100644 --- a/target/linux/generic/patches-4.1/643-bridge_remove_ipv6_dependency.patch +++ b/target/linux/generic/patches-4.1/643-bridge_remove_ipv6_dependency.patch @@ -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 |