From: Thomas Graf <tgraf@suug.ch>
To: Harvey Harrison <harvey.harrison@gmail.com>
Cc: David Miller <davem@davemloft.net>, netdev@vger.kernel.org
Subject: Re: [PATCH] net: em_cmp.c use unaligned access helpers
Date: Thu, 10 Jul 2008 13:13:57 +0200 [thread overview]
Message-ID: <20080710111357.GR20815@postel.suug.ch> (raw)
In-Reply-To: <1215223840.27271.7.camel@brick>
* Harvey Harrison <harvey.harrison@gmail.com> 2008-07-04 19:10
> On Mon, 2008-06-30 at 01:26 +0200, Thomas Graf wrote:
> > * Harvey Harrison <harvey.harrison@gmail.com> 2008-06-29 11:01
> > > OK, but be16/32_to_cpu is a no-op on be-arches, so there is a bug here on
> > > big-endian machines as they won't switch it back, your simplified patch
> > > is actually a bugfix in that case.
> >
> > I noticed that my change wouldn't be correct. The point is to allow
> > userspace to convert the filter values to big endian once, supply them
> > to the kernel and compare big endian values directly. The be16/32_to_cpu
> > convertion is available to support greater-than/lesser-than on little
> > endian architectures.
>
> Thomas, maybe I'm just being slow, put if it's always a be-value, why
> not the following:
>
> From: Harvey Harrison <harvey.harrison@gmail.com>
> Subject: [PATCH] net: em_cmp.c use unaligned access helper
>
> ptr pointers to a big endian value, instead of constructing a be
> value and conditionally byteswapping on little-endian arches, use
> the unaligned to access helpers return a cpu-endian value.
em_cmp is based on the u32 classifier which compares everything in
be, it is faster than swapping every value but only works for eq/ne
comparisons. Some people have just gotten used to work with be
when filtering on addresses and port numbers.
em_cmp additionally supports gt/lt operations which only work in
host byte order, therefore the flag TCP_EM_CMP_TRANS was added to
trigger this.
Enforcing host byte order in all cases would probably be simpler
but it can't be changed now as it would break scripts.
next prev parent reply other threads:[~2008-07-10 11:13 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-25 21:14 [PATCH] net: em_cmp.c use unaligned access helpers Harvey Harrison
2008-06-28 3:16 ` David Miller
2008-06-29 9:54 ` Thomas Graf
2008-06-29 9:55 ` Thomas Graf
2008-06-29 23:20 ` Harvey Harrison
2008-06-29 18:01 ` Harvey Harrison
2008-06-29 23:26 ` Thomas Graf
2008-07-05 2:10 ` Harvey Harrison
2008-07-10 11:13 ` Thomas Graf [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-09-18 0:00 Harvey Harrison
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=20080710111357.GR20815@postel.suug.ch \
--to=tgraf@suug.ch \
--cc=davem@davemloft.net \
--cc=harvey.harrison@gmail.com \
--cc=netdev@vger.kernel.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 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 NNTP newsgroup(s).