net: fix checksum API documentation

Message ID 20210916161040.346703-1-lance.richardson@broadcom.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series net: fix checksum API documentation |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/github-robot: build success github build: passed
ci/Intel-compilation success Compilation OK
ci/intel-Testing fail Testing issues
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS

Commit Message

Lance Richardson Sept. 16, 2021, 4:10 p.m. UTC
  Minor corrections and improvements to documentation
for checksum APIs.

Fixes: 6006818cfb26 ("net: new checksum functions")
Fixes: 45a08ef55e44 ("net: introduce functions to verify L4 checksums")
Cc: stable@dpdk.org
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
---
 lib/net/rte_ip.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
  

Comments

Morten Brørup Sept. 17, 2021, 10:57 a.m. UTC | #1
> From: Lance Richardson [mailto:lance.richardson@broadcom.com]
> Sent: Thursday, 16 September 2021 18.11
> 
> Minor corrections and improvements to documentation
> for checksum APIs.
> 
> Fixes: 6006818cfb26 ("net: new checksum functions")
> Fixes: 45a08ef55e44 ("net: introduce functions to verify L4 checksums")
> Cc: stable@dpdk.org
> Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
> ---
>  lib/net/rte_ip.h | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/lib/net/rte_ip.h b/lib/net/rte_ip.h
> index 05948b69b7..fd08ea31b2 100644
> --- a/lib/net/rte_ip.h
> +++ b/lib/net/rte_ip.h
> @@ -488,7 +488,7 @@ rte_ipv6_phdr_cksum(const struct rte_ipv6_hdr
> *ipv6_hdr, uint64_t ol_flags)
>  }
> 
>  /**
> - * @internal Calculate the non-complemented IPv4 L4 checksum
> + * @internal Calculate the non-complemented IPv6 L4 checksum
>   */
>  static inline uint16_t
>  __rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr *ipv6_hdr, const
> void *l4_hdr)
> @@ -509,15 +509,15 @@ __rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr
> *ipv6_hdr, const void *l4_hdr)
>  /**
>   * Process the IPv6 UDP or TCP checksum.
>   *
> - * The IPv4 header should not contains options. The layer 4 checksum
> - * must be set to 0 in the packet by the caller.
> + * The IPv6 header must not be followed by extension headers. The
> layer 4
> + * checksum must be set to 0 in the L4 header by the caller.
>   *
>   * @param ipv6_hdr
>   *   The pointer to the contiguous IPv6 header.
>   * @param l4_hdr
>   *   The pointer to the beginning of the L4 header.
>   * @return
> - *   The complemented checksum to set in the IP packet.
> + *   The complemented checksum to set in the L4 header.
>   */
>  static inline uint16_t
>  rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr *ipv6_hdr, const void
> *l4_hdr)
> --
> 2.25.1

Reviewed-by: Morten Brørup <mb@smartsharesystems.com>
  
Ferruh Yigit Sept. 21, 2021, 9:28 a.m. UTC | #2
On 9/17/2021 11:57 AM, Morten Brørup wrote:
>> From: Lance Richardson [mailto:lance.richardson@broadcom.com]
>> Sent: Thursday, 16 September 2021 18.11
>>
>> Minor corrections and improvements to documentation
>> for checksum APIs.
>>
>> Fixes: 6006818cfb26 ("net: new checksum functions")
>> Fixes: 45a08ef55e44 ("net: introduce functions to verify L4 checksums")
>> Cc: stable@dpdk.org
>> Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
>> ---
>>  lib/net/rte_ip.h | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/lib/net/rte_ip.h b/lib/net/rte_ip.h
>> index 05948b69b7..fd08ea31b2 100644
>> --- a/lib/net/rte_ip.h
>> +++ b/lib/net/rte_ip.h
>> @@ -488,7 +488,7 @@ rte_ipv6_phdr_cksum(const struct rte_ipv6_hdr
>> *ipv6_hdr, uint64_t ol_flags)
>>  }
>>
>>  /**
>> - * @internal Calculate the non-complemented IPv4 L4 checksum
>> + * @internal Calculate the non-complemented IPv6 L4 checksum
>>   */
>>  static inline uint16_t
>>  __rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr *ipv6_hdr, const
>> void *l4_hdr)
>> @@ -509,15 +509,15 @@ __rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr
>> *ipv6_hdr, const void *l4_hdr)
>>  /**
>>   * Process the IPv6 UDP or TCP checksum.
>>   *
>> - * The IPv4 header should not contains options. The layer 4 checksum
>> - * must be set to 0 in the packet by the caller.
>> + * The IPv6 header must not be followed by extension headers. The
>> layer 4
>> + * checksum must be set to 0 in the L4 header by the caller.
>>   *
>>   * @param ipv6_hdr
>>   *   The pointer to the contiguous IPv6 header.
>>   * @param l4_hdr
>>   *   The pointer to the beginning of the L4 header.
>>   * @return
>> - *   The complemented checksum to set in the IP packet.
>> + *   The complemented checksum to set in the L4 header.

Isn't this wrong for 'rte_ipv4_udptcp_cksum()' too? Since you are touching this,
can you fix that one too?

>>   */
>>  static inline uint16_t
>>  rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr *ipv6_hdr, const void
>> *l4_hdr)
>> --
>> 2.25.1
> 
> Reviewed-by: Morten Brørup <mb@smartsharesystems.com>
>
  
Morten Brørup Sept. 21, 2021, 10:11 a.m. UTC | #3
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ferruh Yigit
> Sent: Tuesday, 21 September 2021 11.28
> 
> On 9/17/2021 11:57 AM, Morten Brørup wrote:
> >> From: Lance Richardson [mailto:lance.richardson@broadcom.com]
> >> Sent: Thursday, 16 September 2021 18.11
> >>
> >> Minor corrections and improvements to documentation
> >> for checksum APIs.
> >>
> >> Fixes: 6006818cfb26 ("net: new checksum functions")
> >> Fixes: 45a08ef55e44 ("net: introduce functions to verify L4
> checksums")
> >> Cc: stable@dpdk.org
> >> Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
> >> ---
> >>  lib/net/rte_ip.h | 8 ++++----
> >>  1 file changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/lib/net/rte_ip.h b/lib/net/rte_ip.h
> >> index 05948b69b7..fd08ea31b2 100644
> >> --- a/lib/net/rte_ip.h
> >> +++ b/lib/net/rte_ip.h
> >> @@ -488,7 +488,7 @@ rte_ipv6_phdr_cksum(const struct rte_ipv6_hdr
> >> *ipv6_hdr, uint64_t ol_flags)
> >>  }
> >>
> >>  /**
> >> - * @internal Calculate the non-complemented IPv4 L4 checksum
> >> + * @internal Calculate the non-complemented IPv6 L4 checksum
> >>   */
> >>  static inline uint16_t
> >>  __rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr *ipv6_hdr, const
> >> void *l4_hdr)
> >> @@ -509,15 +509,15 @@ __rte_ipv6_udptcp_cksum(const struct
> rte_ipv6_hdr
> >> *ipv6_hdr, const void *l4_hdr)
> >>  /**
> >>   * Process the IPv6 UDP or TCP checksum.
> >>   *
> >> - * The IPv4 header should not contains options. The layer 4
> checksum
> >> - * must be set to 0 in the packet by the caller.
> >> + * The IPv6 header must not be followed by extension headers. The
> >> layer 4
> >> + * checksum must be set to 0 in the L4 header by the caller.
> >>   *
> >>   * @param ipv6_hdr
> >>   *   The pointer to the contiguous IPv6 header.
> >>   * @param l4_hdr
> >>   *   The pointer to the beginning of the L4 header.
> >>   * @return
> >> - *   The complemented checksum to set in the IP packet.
> >> + *   The complemented checksum to set in the L4 header.
> 
> Isn't this wrong for 'rte_ipv4_udptcp_cksum()' too? Since you are
> touching this,
> can you fix that one too?
> 

Ferruh, the description of the return value is technically correct; it mentions the IP packet, not the IP header.
So this change is a clarification only.

However, I agree that the same clarification would also benefit 'rte_ipv4_udptcp_cksum()'.

> >>   */
> >>  static inline uint16_t
> >>  rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr *ipv6_hdr, const
> void
> >> *l4_hdr)
> >> --
> >> 2.25.1
> >
> > Reviewed-by: Morten Brørup <mb@smartsharesystems.com>
> >
>
  
Lance Richardson Sept. 21, 2021, 2:50 p.m. UTC | #4
On Tue, Sep 21, 2021 at 6:11 AM Morten Brørup <mb@smartsharesystems.com> wrote:
> Ferruh, the description of the return value is technically correct; it mentions the IP packet, not the IP header.
> So this change is a clarification only.
>
> However, I agree that the same clarification would also benefit 'rte_ipv4_udptcp_cksum()'.
>
Sure, will fix in v2.

Also for rte_ipv4_udptcp_cksum(), a comment says "The IP and layer 4
checksum must be set to zero", but only the layer 4 checksum actually
needs to be set to zero. I'll fix that at the same time.

Thanks,
    Lance
  

Patch

diff --git a/lib/net/rte_ip.h b/lib/net/rte_ip.h
index 05948b69b7..fd08ea31b2 100644
--- a/lib/net/rte_ip.h
+++ b/lib/net/rte_ip.h
@@ -488,7 +488,7 @@  rte_ipv6_phdr_cksum(const struct rte_ipv6_hdr *ipv6_hdr, uint64_t ol_flags)
 }
 
 /**
- * @internal Calculate the non-complemented IPv4 L4 checksum
+ * @internal Calculate the non-complemented IPv6 L4 checksum
  */
 static inline uint16_t
 __rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr *ipv6_hdr, const void *l4_hdr)
@@ -509,15 +509,15 @@  __rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr *ipv6_hdr, const void *l4_hdr)
 /**
  * Process the IPv6 UDP or TCP checksum.
  *
- * The IPv4 header should not contains options. The layer 4 checksum
- * must be set to 0 in the packet by the caller.
+ * The IPv6 header must not be followed by extension headers. The layer 4
+ * checksum must be set to 0 in the L4 header by the caller.
  *
  * @param ipv6_hdr
  *   The pointer to the contiguous IPv6 header.
  * @param l4_hdr
  *   The pointer to the beginning of the L4 header.
  * @return
- *   The complemented checksum to set in the IP packet.
+ *   The complemented checksum to set in the L4 header.
  */
 static inline uint16_t
 rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr *ipv6_hdr, const void *l4_hdr)