mbox series

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

Message ID 1619121731-17782-1-git-send-email-sharathv@codeaurora.org (mailing list archive)
Headers show
Series net: qualcomm: rmnet: Enable Mapv5 | expand

Message

Sharath Chandra Vurukala April 22, 2021, 8:02 p.m. UTC
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.

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

Comments

Alex Elder April 22, 2021, 8:14 p.m. UTC | #1
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.

Was this supposed to be version 5?

I already reviewed version 4.

Please post version 5.  I am going to ignore this series.

					-Alex

> 
>    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.
> 
>    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(-)
>
Subash Abhinov Kasiviswanathan April 22, 2021, 11:14 p.m. UTC | #2
On 2021-04-22 14:14, Alex Elder wrote:
> 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.
> 
> Was this supposed to be version 5?
> 
> I already reviewed version 4.
> 
> Please post version 5.  I am going to ignore this series.
> 
> 					-Alex
> 

What are you talking about?

Patchwork shows that Sharath has posted upto v3 so far.

https://patchwork.kernel.org/project/netdevbpf/list/?submitter=197703&state=%2A&archive=both
Alex Elder April 23, 2021, 12:54 a.m. UTC | #3
On 4/22/21 6:14 PM, subashab@codeaurora.org wrote:
> On 2021-04-22 14:14, Alex Elder wrote:
>> 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.
>>
>> Was this supposed to be version 5?
>>
>> I already reviewed version 4.
>>
>> Please post version 5.  I am going to ignore this series.
>>
>>                     -Alex
>>
> 
> What are you talking about?
> 
> Patchwork shows that Sharath has posted upto v3 so far.

Sorry about that.  Sharath posted a series version 4 last week, which
I reviewed.  I mistakenly thought he had posted it for upstream review
and didn't realize he sent it to me (and others) privately.

Still, I said he should tag the second patch "Acked-by:" me and
he did not, so I assumed it was a repost of the same code.

I'll review this after all.

					-Alex

> 
> https://patchwork.kernel.org/project/netdevbpf/list/?submitter=197703&state=%2A&archive=both 
>
Alex Elder April 23, 2021, 12:31 p.m. UTC | #4
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(-)
>