From: Stefano Brivio <sbrivio@redhat.com>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: passt-dev@passt.top
Subject: Re: [PATCH 02/14] Add csum_icmp4() helper for calculating ICMPv4 checksums
Date: Tue, 18 Oct 2022 14:28:10 +0200 [thread overview]
Message-ID: <20221018142810.2e759da1@elisabeth> (raw)
In-Reply-To: <Y06Ws2paKTMZfyQq@yekko>
On Tue, 18 Oct 2022 23:06:11 +1100
David Gibson <david@gibson.dropbear.id.au> wrote:
> On Tue, Oct 18, 2022 at 05:01:51AM +0200, Stefano Brivio wrote:
> > On Mon, 17 Oct 2022 19:57:55 +1100
> > David Gibson <david@gibson.dropbear.id.au> wrote:
> >
> > > Although tap_ip_send() is currently the only place calculating ICMPv4
> > > checksums, create a helper function for symmetry with ICMPv6. For future
> > > flexibility it allows the ICMPv6 header and payload to be in separate
> > > buffers.
> > >
> > > Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
> > > ---
> > > checksum.c | 15 +++++++++++++++
> > > checksum.h | 2 ++
> > > tap.c | 4 +---
> > > 3 files changed, 18 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/checksum.c b/checksum.c
> > > index 0e207c8..c8b6b42 100644
> > > --- a/checksum.c
> > > +++ b/checksum.c
> > > @@ -52,6 +52,7 @@
> > > #include <stddef.h>
> > > #include <stdint.h>
> > >
> > > +#include <linux/icmp.h>
> > > #include <linux/icmpv6.h>
> > >
> > > /**
> > > @@ -107,6 +108,20 @@ uint16_t csum_unaligned(const void *buf, size_t len, uint32_t init)
> > > return (uint16_t)~csum_fold(sum_16b(buf, len) + init);
> > > }
> > >
> > > +/**
> > > + * csum_icmp4() - Calculate checksum for an ICMPv4 packet
> >
> > "Calculate and set"?
>
> Done.
>
> > By the way, there's no such thing as ICMPv4 --
> > it's ICMP.
>
> Technically, yes, but I kind of wanted to make it clear at a glance
> that these are IPv4 specific functions. I'd also like to avoid the
> implication that v4 is the "normal" sort. I've changed from "ICMPv4"
> to "ICMP" in the comments, but I've left the '4's in the various names
Ah, yes, sure, makes sense, as long as we don't refer to "ICMPv4" in
the comments I'm fine with it. :)
--
Stefano
next prev parent reply other threads:[~2022-10-18 12:28 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-17 8:57 [PATCH 00/14] Clean up checksum and header generation for inbound packets David Gibson
2022-10-17 8:57 ` [PATCH 01/14] Add csum_icmp6() helper for calculating ICMPv6 checksums David Gibson
2022-10-18 3:01 ` Stefano Brivio
2022-10-18 12:05 ` David Gibson
2022-10-17 8:57 ` [PATCH 02/14] Add csum_icmp4() helper for calculating ICMPv4 checksums David Gibson
2022-10-18 3:01 ` Stefano Brivio
2022-10-18 12:06 ` David Gibson
2022-10-18 12:28 ` Stefano Brivio [this message]
2022-10-17 8:57 ` [PATCH 03/14] Add csum_udp6() helper for calculating UDP over IPv6 checksums David Gibson
2022-10-18 3:02 ` Stefano Brivio
2022-10-18 12:06 ` David Gibson
2022-10-17 8:57 ` [PATCH 04/14] Add csum_udp4() helper for calculating UDP over IPv4 checksums David Gibson
2022-10-18 3:03 ` Stefano Brivio
2022-10-18 12:06 ` David Gibson
2022-10-17 8:57 ` [PATCH 05/14] Add csum_ip4_header() helper to calculate IPv4 header checksums David Gibson
2022-10-18 3:03 ` Stefano Brivio
2022-10-18 12:07 ` David Gibson
2022-10-17 8:57 ` [PATCH 06/14] Add helpers for normal inbound packet destination addresses David Gibson
2022-10-18 3:04 ` Stefano Brivio
2022-10-18 12:07 ` David Gibson
2022-10-17 8:58 ` [PATCH 07/14] Remove support for TCP packets from tap_ip_send() David Gibson
2022-10-17 8:58 ` [PATCH 08/14] tap: Remove unhelpeful vnet_pre optimization from tap_send() David Gibson
2022-10-18 3:05 ` Stefano Brivio
2022-10-18 12:07 ` David Gibson
2022-10-17 8:58 ` [PATCH 09/14] Split tap_ip_send() into IPv4 and IPv6 specific functions David Gibson
2022-10-18 3:06 ` Stefano Brivio
2022-10-18 12:07 ` David Gibson
2022-10-17 8:58 ` [PATCH 10/14] tap: Split tap_ip6_send() into UDP and ICMP variants David Gibson
2022-10-17 8:58 ` [PATCH 11/14] ndp: Remove unneeded eh_source parameter David Gibson
2022-10-17 8:58 ` [PATCH 12/14] ndp: Use tap_icmp6_send() helper David Gibson
2022-10-17 8:58 ` [PATCH 13/14] tap: Split tap_ip4_send() into UDP and ICMP variants David Gibson
2022-10-18 3:06 ` Stefano Brivio
2022-10-18 12:07 ` David Gibson
2022-10-18 12:27 ` Stefano Brivio
2022-10-18 23:54 ` David Gibson
2022-10-17 8:58 ` [PATCH 14/14] dhcp: Use tap_udp4_send() helper in dhcp() David Gibson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221018142810.2e759da1@elisabeth \
--to=sbrivio@redhat.com \
--cc=david@gibson.dropbear.id.au \
--cc=passt-dev@passt.top \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://passt.top/passt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).