From: Dave Taht <dave.t...@bufferbloat.net> This is a backport of code to improve the quality of fq_codel hashing for 3.10 for some encapsulated protocols.
Not needed in 3.11 and later. --- .../686-flow_dissector-clean-up-IPIP-case.patch | 30 ++++++++++++++++++++ ...ow_dissector-add-support-for-IPPROTO_IPV6.patch | 30 ++++++++++++++++++++ ...88-net-flow_dissector-add-802.1ad-support.patch | 29 +++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 target/linux/generic/patches-3.10/686-flow_dissector-clean-up-IPIP-case.patch create mode 100644 target/linux/generic/patches-3.10/687-flow_dissector-add-support-for-IPPROTO_IPV6.patch create mode 100644 target/linux/generic/patches-3.10/688-net-flow_dissector-add-802.1ad-support.patch diff --git a/target/linux/generic/patches-3.10/686-flow_dissector-clean-up-IPIP-case.patch b/target/linux/generic/patches-3.10/686-flow_dissector-clean-up-IPIP-case.patch new file mode 100644 index 0000000..151c148 --- /dev/null +++ b/target/linux/generic/patches-3.10/686-flow_dissector-clean-up-IPIP-case.patch @@ -0,0 +1,30 @@ +From de03a7f8eddba389668e3c35d4a31d985d29778f Mon Sep 17 00:00:00 2001 +From: Tom Herbert <therb...@google.com> +Date: Mon, 29 Jul 2013 11:07:36 -0700 +Subject: [PATCH 3/5] flow_dissector: clean up IPIP case + +Explicitly set proto to ETH_P_IP and jump directly to ip processing. + +Signed-off-by: Tom Herbert <therb...@google.com> +Signed-off-by: David S. Miller <da...@davemloft.net> +--- + net/core/flow_dissector.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c +index 00ee068..3259446 100644 +--- a/net/core/flow_dissector.c ++++ b/net/core/flow_dissector.c +@@ -139,7 +139,8 @@ ipv6: + break; + } + case IPPROTO_IPIP: +- goto again; ++ proto = htons(ETH_P_IP); ++ goto ip; + default: + break; + } +-- +1.7.9.5 + diff --git a/target/linux/generic/patches-3.10/687-flow_dissector-add-support-for-IPPROTO_IPV6.patch b/target/linux/generic/patches-3.10/687-flow_dissector-add-support-for-IPPROTO_IPV6.patch new file mode 100644 index 0000000..2f8ab3e --- /dev/null +++ b/target/linux/generic/patches-3.10/687-flow_dissector-add-support-for-IPPROTO_IPV6.patch @@ -0,0 +1,30 @@ +From 9c60237cd842c337539b1d72582b8cc410aeb3a6 Mon Sep 17 00:00:00 2001 +From: Tom Herbert <therb...@google.com> +Date: Mon, 29 Jul 2013 11:07:42 -0700 +Subject: [PATCH 4/5] flow_dissector: add support for IPPROTO_IPV6 + +Support IPPROTO_IPV6 similar to IPPROTO_IPIP + +Signed-off-by: Tom Herbert <therb...@google.com> +Signed-off-by: David S. Miller <da...@davemloft.net> +--- + net/core/flow_dissector.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c +index 3259446..ade9ff1 100644 +--- a/net/core/flow_dissector.c ++++ b/net/core/flow_dissector.c +@@ -141,6 +141,9 @@ ipv6: + case IPPROTO_IPIP: + proto = htons(ETH_P_IP); + goto ip; ++ case IPPROTO_IPV6: ++ proto = htons(ETH_P_IPV6); ++ goto ipv6; + default: + break; + } +-- +1.7.9.5 + diff --git a/target/linux/generic/patches-3.10/688-net-flow_dissector-add-802.1ad-support.patch b/target/linux/generic/patches-3.10/688-net-flow_dissector-add-802.1ad-support.patch new file mode 100644 index 0000000..49d9e1b --- /dev/null +++ b/target/linux/generic/patches-3.10/688-net-flow_dissector-add-802.1ad-support.patch @@ -0,0 +1,29 @@ +From 017879b546ee5f85d13f90236a251d56605c9e86 Mon Sep 17 00:00:00 2001 +From: Eric Dumazet <eduma...@google.com> +Date: Tue, 6 Aug 2013 04:35:06 -0700 +Subject: [PATCH 5/5] net: flow_dissector: add 802.1ad support + +Same behavior than 802.1q : finds the encapsulated protocol and +skip 32bit header. + +Signed-off-by: Eric Dumazet <eduma...@google.com> +Signed-off-by: David S. Miller <da...@davemloft.net> +--- + net/core/flow_dissector.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c +index ade9ff1..159737c 100644 +--- a/net/core/flow_dissector.c ++++ b/net/core/flow_dissector.c +@@ -65,6 +65,7 @@ ipv6: + nhoff += sizeof(struct ipv6hdr); + break; + } ++ case __constant_htons(ETH_P_8021AD): + case __constant_htons(ETH_P_8021Q): { + const struct vlan_hdr *vlan; + struct vlan_hdr _vlan; +-- +1.7.9.5 + -- 1.7.9.5 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel