All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Martin Hundebøll" <martin@hundeboll.net>
To: b.a.t.m.a.n@lists.open-mesh.org
Subject: Re: [B.A.T.M.A.N.] [RFC] batman-adv: Add function to calculate crc32c for the skb payload
Date: Wed, 17 Oct 2012 18:11:56 +0200	[thread overview]
Message-ID: <507ED8CC.1060901@hundeboll.net> (raw)
In-Reply-To: <1350489584-10428-1-git-send-email-sven@narfation.org>

On 2012-10-17 17:59, Sven Eckelmann wrote:
> +__be32 batadv_crc32(const struct sk_buff *skb, u8 *payload_ptr)
> +{
> +	u32 crc = 0;
> +	struct sk_buff *iter;
> +	size_t skip_len, read_len;
> +	const skb_frag_t *f;
> +	int i;
> +
> +	skip_len = payload_ptr - skb->data;
> +	read_len = skb_headlen(skb) - skip_len;
> +	if (read_len)
> +		crc = crc32c(crc, payload_ptr, read_len);
> +
> +	for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
> +		f = &skb_shinfo(skb)->frags[i];
> +		crc = crc32c(crc, skb_frag_address(f), skb_frag_size(f));
> +	}
> +
> +	skb_walk_frags(skb, iter)
> +		crc = crc32c(crc, iter->data, skb_headlen(iter));
> +
> +	return htonl(crc);
> +}

I tested the crc'ing of non-linear skb buffers and can confirm that it 
works as expected, so:

Tested-by: Martin Hundebøll <martin@hundeboll.net>

... at least for batadv_crc32() :)

-- 
Kind Regards
Martin Hundebøll
Frederiks Allé 99, 1.th
8000 Aarhus C
Denmark

+45 61 65 54 61
martin@hundeboll.net

  reply	other threads:[~2012-10-17 16:11 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-17 15:59 [B.A.T.M.A.N.] [RFC] batman-adv: Add function to calculate crc32c for the skb payload Sven Eckelmann
2012-10-17 16:11 ` Martin Hundebøll [this message]
2012-10-17 17:18 ` [B.A.T.M.A.N.] [RFCv2] " Sven Eckelmann
2012-10-17 19:10   ` [B.A.T.M.A.N.] [RFCv3] " Sven Eckelmann
2012-10-17 19:57     ` Marek Lindner

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=507ED8CC.1060901@hundeboll.net \
    --to=martin@hundeboll.net \
    --cc=b.a.t.m.a.n@lists.open-mesh.org \
    /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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.