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: <20190327084422.4209-1-maxime.chevallier@bootlin.com>
Date:   Wed, 27 Mar 2019 09:44:04 +0100
From:   Maxime Chevallier <maxime.chevallier@...tlin.com>
To:     davem@...emloft.net
Cc:     Maxime Chevallier <maxime.chevallier@...tlin.com>,
        netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
        Antoine Tenart <antoine.tenart@...tlin.com>,
        thomas.petazzoni@...tlin.com, gregory.clement@...tlin.com,
        miquel.raynal@...tlin.com, nadavh@...vell.com, stefanc@...vell.com,
        ymarkman@...vell.com, mw@...ihalf.com,
        Russell King <linux@...linux.org.uk>,
        linux-arm-kernel@...ts.infradead.org
Subject: [PATCH net-next 00/18] net: mvpp2: Classifier updates and cleanups

Hi all,

In preparation for the future addition of classification offload
support, this series cleans-up the current code dealing with the
classification engines.

As of today, the classification code only deals with RSS, which is a
very narrow use-case when considering all of the classifier's features.

This lead to design and naming decisions that don't really stand when
considering using more classification features.

This series therefore includes quite a lot a renaming of functions and
macros, and tries to make the naming schemes more consistent and the
code more readable.

The debugfs interface that allows reading the various Parsing and
Classification engines has been cleaned-up and made more generic,
allowing to read the Flow Table and C2 engine hit counters on a
per-entry basis.

The Classifier itself has been made more robust by introducing the
lu_type field in classification lookups, that prevents false-positive
matches in the future. We also initialise the various engine in a more
extensive and less error-prone way by assining default values to all
entries in the C2 and Flow table.

This is a pretty big series considering it's mostly cleanup, but my goal
is to make the future series that will contain new big features easier
to review, focusing on the real logic.

Besides the debugfs interface, this series doesn't intend to introduce any
new features or change in behaviours.

Maxime Chevallier (18):
  net: mvpp2: Don't use an int to store netdev_features_t
  net: mvpp2: cls: Add missing MAC_DA field extraction
  net: mvpp2: cls: Start cls flow entries from beginning of table
  net: mvpp2: cls: use Lookup Type in classification engines
  net: mvpp2: cls: Rename MVPP2_N_FLOWS to MVPP2_N_PRS_FLOWS
  net: mvpp2: cls: Make the flow definitions const
  net: mvpp2: debugfs: Store debugfs entries data in mvpp2 struct
  net: mvpp2: debugfs: Allow reading the flow table from debugfs
  net: mvpp2: debugfs: Allow reading the C2 engine table from debugfs
  net: mvpp2: cls: Use iterators to go through the cls_table
  net: mvpp2: cls: Write C2 TCAM data last when writing a C2 entry
  net: mvpp2: cls: Move C2 read/write helpers around
  net: mvpp2: cls: Rename classifer per-port functions
  net: mvpp2: cls: Don't use the sequence attribute for classification
  net: mvpp2: cls: Rename the flow table macros
  net: mvpp2: cls: Invalidate all C2 entries except the ones we use
  net: mvpp2: cls: Initialize lookup priorities for all entries in the
    flow
  net: mvpp2: cls: Rework C2 engine macros

 drivers/net/ethernet/marvell/mvpp2/mvpp2.h    |  10 +
 .../net/ethernet/marvell/mvpp2/mvpp2_cls.c    | 212 ++++++++-------
 .../net/ethernet/marvell/mvpp2/mvpp2_cls.h    |  92 ++++---
 .../ethernet/marvell/mvpp2/mvpp2_debugfs.c    | 253 +++++++++++-------
 .../net/ethernet/marvell/mvpp2/mvpp2_main.c   |   8 +-
 5 files changed, 341 insertions(+), 234 deletions(-)

-- 
2.20.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ