Re: [PATCH net-next v4 0/3] net: qualcomm: rmnet: Enable Mapv5

From: Alex Elder
Date: Fri Apr 23 2021 - 08:32:07 EST


On 4/22/21 3:02 PM, Sharath Chandra Vurukala wrote:
This series introduces the MAPv5 packet format.

Patch 0 documents the MAPv4/v5.
Patch 1 introduces the MAPv5 and the Inline checksum offload for RX/Ingress.
Patch 2 introduces the MAPv5 and the Inline checksum offload for TX/Egress.

A new checksum header format is used as part of MAPv5.For RX checksum offload,
the checksum is verified by the HW and the validity is marked in the checksum
header of MAPv5. For TX, the required metadata is filled up so hardware can
compute the checksum.

It turns out many of review comments from last week were
ignored without explanation. So I will repeat some of them
this time.

I see one thing that I think might be a bug in the third
patch, but maybe I'm mistaken, and you can explain why.

I tested the code you supplied me last week, and with a
bug fix applied I found they worked for:
IPA v3.5.1, IPv4 in loopback, checksum enabled and not
IPA v4.2, IPv6 using LTE, checksum enabled and not
Both of the above tested ICMP, UDP, and TCP. I will retest
with this series.

I did not test with IPA v4.5+, which is unfortunately
the main user of this new code. I will try to do so
with your updated code, and if all testing passes I'll
send a message with "Tested-by" for you to add to your
patches.

-Alex

v1->v2:
- Fixed the compilation errors, warnings reported by kernel test robot.
- Checksum header definition is expanded to support big, little endian
formats as mentioned by Jakub.

v2->v3:
- Fixed compilation errors reported by kernel bot for big endian flavor.

v3->v4:
- Made changes to use masks instead of C bit-fields as suggested by Jakub/Alex.

Sharath Chandra Vurukala (3):
docs: networking: Add documentation for MAPv5
net: ethernet: rmnet: Support for ingress MAPv5 checksum offload
net: ethernet: rmnet: Add support for MAPv5 egress packets

.../device_drivers/cellular/qualcomm/rmnet.rst | 126 +++++++++++++++--
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h | 4 +-
.../net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 29 ++--
drivers/net/ethernet/qualcomm/rmnet/rmnet_map.h | 11 +-
.../net/ethernet/qualcomm/rmnet/rmnet_map_data.c | 151 ++++++++++++++++++++-
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c | 3 +-
include/linux/if_rmnet.h | 27 +++-
include/uapi/linux/if_link.h | 2 +
8 files changed, 318 insertions(+), 35 deletions(-)