[PowerPC64LE] Use correct in_masks table on LE to fix checksumming
Due to a check that should have been an endian check being an #if 0, the wrong checksum mask table was being used on LE, which was causing extreme strangeness in DNS resolution -- *some* hosts would be resolvable, but most would not. This fixes DNS resolution. (I am committing some parts of the LE patchset ahead of time to reduce the amount of work I have to do while committing the main patchset.) Sponsored by: Tag1 Consulting, Inc.
This commit is contained in:
parent
1e936efbce
commit
9673f30503
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=365770
@ -42,6 +42,7 @@
|
|||||||
|
|
||||||
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
|
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
|
||||||
|
|
||||||
|
#include <sys/endian.h>
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#include <sys/mbuf.h>
|
#include <sys/mbuf.h>
|
||||||
#include <sys/systm.h>
|
#include <sys/systm.h>
|
||||||
@ -73,7 +74,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const u_int32_t in_masks[] = {
|
static const u_int32_t in_masks[] = {
|
||||||
#if 0
|
#if _BYTE_ORDER == _LITTLE_ENDIAN
|
||||||
/*0 bytes*/ /*1 byte*/ /*2 bytes*/ /*3 bytes*/
|
/*0 bytes*/ /*1 byte*/ /*2 bytes*/ /*3 bytes*/
|
||||||
0x00000000, 0x000000FF, 0x0000FFFF, 0x00FFFFFF, /* offset 0 */
|
0x00000000, 0x000000FF, 0x0000FFFF, 0x00FFFFFF, /* offset 0 */
|
||||||
0x00000000, 0x0000FF00, 0x00FFFF00, 0xFFFFFF00, /* offset 1 */
|
0x00000000, 0x0000FF00, 0x00FFFF00, 0xFFFFFF00, /* offset 1 */
|
||||||
|
Loading…
Reference in New Issue
Block a user