lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1430505018-496801-1-git-send-email-tom@herbertland.com>
Date:	Fri, 1 May 2015 11:30:11 -0700
From:	Tom Herbert <tom@...bertland.com>
To:	<davem@...emloft.net>, <netdev@...r.kernel.org>
Subject: [PATCH v2 net-next 0/7] net: Eliminate calls to flow_dissector and introduce flow_keys_digest

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.).

Version 2:

- Add keyval parameter to __flow_hash_from_keys which allows caller to
  set the initval for jhash
- Perturb always does flow dissection and creates hash based on
  input perturb value which acts as the keyval to __flow_hash_from_keys
- Added a _flow_keys_digest_data which is used in make_flow_keys_digest.
  This fills out the digest by populating individual fields instead
  of copying the whole structure.

Tom Herbert (7):
  net: Add skb_get_hash_perturb
  sched: Call skb_get_hash_perturb in sch_fq_codel
  sched: Call skb_get_hash_perturb in sch_hhf
  sched: Call skb_get_hash_perturb in sch_sfb
  sched: Call skb_get_hash_perturb in sch_sfq
  net: Add flow_keys digest
  sch_choke: Use flow_keys_digest

 include/linux/skbuff.h    |  2 ++
 include/net/flow_keys.h   | 16 ++++++++++++
 net/core/flow_dissector.c | 65 +++++++++++++++++++++++++++++++++++++++++------
 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       | 27 ++------------------
 8 files changed, 92 insertions(+), 86 deletions(-)

-- 
1.8.1

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ