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: <20150504212603.2536.29877.stgit@ahduyck-vm-fedora22>
Date:	Mon, 04 May 2015 14:33:42 -0700
From:	Alexander Duyck <alexander.h.duyck@...hat.com>
To:	netdev@...r.kernel.org
Cc:	stephen@...workplumber.org, pshelar@...ira.com, davem@...emloft.net
Subject: [net-next PATCH 0/5] Add eth_proto_is_802_3 to provide improved
 means of checking Ethertype

This patch series implements and makes use of eth_proto_is_802_3().  The
idea behind the function is to provide an optimized means of testing to
determine if a given Ethertype value is a length or 802.3 protocol number.
The standard path for this was to use ntohs(proto) and then perform a
comparison.  This adds a slight cost as it usually requires either a 16b
rotate or byte swap which can cost 1 cycle or more depending on the
processor.

I had previously addressed this for eth_type_trans, however in doing so I had
overlooked checking with sparse and had introduced a couple sparse warnings.
The first patch in this series fixes those sparse warnings as well as does
some additional optimization for big endian systems.  In addition it pushes
the code out into a separate function which can then be used in the other
patches to reduce the instruction count/processing time in those functions
as well.

---

Alexander Duyck (5):
      etherdev: Fix sparse error, make test usable by other functions
      ebtables: Use eth_proto_is_802_3
      ipv4/ip_tunnel_core: Use eth_proto_is_802_3
      openvswitch: Use eth_proto_is_802_3
      vlan: Use eth_proto_is_802_3


 include/linux/etherdevice.h     |   18 ++++++++++++++++++
 include/linux/if_vlan.h         |    2 +-
 net/bridge/netfilter/ebtables.c |    2 +-
 net/ethernet/eth.c              |    2 +-
 net/ipv4/ip_tunnel_core.c       |    2 +-
 net/openvswitch/datapath.c      |    2 +-
 net/openvswitch/flow.c          |    4 ++--
 net/openvswitch/flow_netlink.c  |    2 +-
 8 files changed, 26 insertions(+), 8 deletions(-)

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