tcpdump mailing list archives

Re: tcpdump self-tests failed on ppc64


From: Guy Harris <guy () alum mit edu>
Date: Mon, 31 May 2010 20:29:20 -0700


On May 31, 2010, at 6:10 PM, Ondrej Moriš wrote:

there are some issues when running self-tests on ppc64, it seems to be related to little / big endian - packet 
checksums are "twisted":

Example (ikev2fourv.out.diff):

<     192.168.1.2.500 > 192.168.1.1.500: [bad udp cksum ee7a!] isakmp 2.0 msgid 00000000 cookie 
a88875a8198992a6->0000000000000000: parent_sa ikev2_init[I]:
---
    192.168.1.2.500 > 192.168.1.1.500: [bad udp cksum 7aee!] isakmp 2.0 msgid 00000000 cookie 
a88875a8198992a6->0000000000000000: parent_sa ikev2_init[I]:

This issue appears on ppc64 only (i.e. i386, x86_64 work fine).

"This issue appears on ppc64 only" and "i386, x86_64 work fine" mean different things; not only is there also ppc32, 
but there are other 32-bit and 64-bit architectures on which modern UN*Xes run and on which tcpdump should be able to 
work.

Is this a problem on ppc32?

If so, it's probably a byte-order issue - do you have any other big-endian architectures on which to test this (ARM, 
System/390, 32-bit MIPS, SPARCv7/v8, etc. - 32-bit big-endian; z/Architecture, 64-bit MIPS, SPARCv9 - 64-bit 
big-endian)?

If not, it might be a combination of byte-order *and* width; what happens on other 64-bit big-endian architectures?

Could this, possibly, lead to any problems? Is ppc64 architecture supported?

We don't really have an official list of supported architectures.  In any case, there's almost certainly nothing 
PowerPC-specific about this; it's either a big-endian vs. little-endian issue (as noted above, there are other 
big-endian architectures supported by, for example, Linux), a combination of that plus a 64-bit issue (as noted, there 
are other big-endian 64-bit architectures), a compiler issue (which isn't a case of *us* supporting the architecture), 
or a case of incorrect C code that happens to compile to machine code that does the right thing with some compilers on 
some architectures but not on others (again, not a case of us supporting or not supporting particular architectures, 
just a bug).


-
This is the tcpdump-workers list.
Visit https://cod.sandelman.ca/ to unsubscribe.


Current thread: