In this patch set we add skb_get_hash_perturb which gets the skbuff hash for a packet and perturbs it using a provided key and jhash1. This function is used in serveral qdiscs and eliminates many calls to flow_dissector and jhash3 to get a perturbed hash for a packet.
To handle the sch_choke issue (passes flow_keys in skbuff cb) we add flow_keys_digest which is a digest of a flow constructed from a flow_keys structure. This is the second version of these patches I posted a while ago, and is prerequisite work to increasing the size of the flow_keys structure and hashing over it (full IPv6 address, flow label, VLAN ID, etc.). Tom Herbert (7): net: Add skb_get_hash_perturb sched: Eliminate use of flow_keys in sch_fq_codel sched: Eliminate use of flow_keys in sch_hhf sched: Eliminate use of flow_keys in sch_sfb sched: Eliminate use of flow_keys in sch_sfq net: Add flow_keys digest sch_choke: Use flow_keys_digest include/linux/skbuff.h | 15 +++++++++++++++ include/net/flow_keys.h | 19 +++++++++++++++++++ net/sched/sch_choke.c | 14 ++++---------- net/sched/sch_fq_codel.c | 11 ++--------- net/sched/sch_hhf.c | 19 +------------------ net/sched/sch_sfb.c | 24 ++++++++---------------- net/sched/sch_sfq.c | 29 +++-------------------------- 7 files changed, 52 insertions(+), 79 deletions(-) -- 1.8.1 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html