]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'mlxsw-refactor-parser'
authorDavid S. Miller <davem@davemloft.net>
Sun, 22 Aug 2021 20:39:56 +0000 (21:39 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 22 Aug 2021 20:39:56 +0000 (21:39 +0100)
commit6a0a20b6622dfdb04f34f07e4d6985d44b6a1f98
tree07ff613678fd44575c057c7d56a493713d9a5c9c
parent3f3418571e06f8a035f04c95d69b394229b03c1f
parent58ead615210fec69e6f8661c8a6bbf0cbeab84d1
Merge branch 'mlxsw-refactor-parser'

Ido Schimmel says:

====================
mlxsw: Refactor parsing configuration

The Spectrum ASIC has a configurable limit on how deep into the packet
it parses. By default, the limit is 96 bytes.

There are several cases where this parsing depth is not enough and there
is a need to increase it: Decapsulation of VxLAN packets and
timestamping of PTP packets.

Currently, parsing depth API is maintained as part of VxLAN module,
because the MPRS register which configures parsing depth also configures
UDP destination port number used for VxLAN encapsulation and
decapsulation.

However, in addition to two above mentioned users of this API, the
multipath hash code also needs to invoke it in order to correctly hash
based on inner fields of IPv6-in-IPv6 packets.

Upcoming support for IPv6-in-IPv6 tunneling will add another user, as
without increasing the parsing depth such packets cannot be properly
decapsulated.

Therefore, this patchset refactors the parsing configuration API and
moves it out of the VxLAN module to the main driver code.

Tested using existing selftests.

Patch set overview:

Patch #1 adds the new parsing configuration infrastructure.
Patch #2 converts existing users to the new infrastructure.
Patch #3 deletes the old infrastructure.
Patch #4 calls the new infrastructure from the multipath hash code.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>