Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/netinet/udp_usrreq.c,v rcsdiff: /ftp/cvs/cvsroot/src/sys/netinet/udp_usrreq.c,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.126 retrieving revision 1.128 diff -u -p -r1.126 -r1.128 --- src/sys/netinet/udp_usrreq.c 2004/12/17 22:54:52 1.126 +++ src/sys/netinet/udp_usrreq.c 2004/12/19 06:42:24 1.128 @@ -1,4 +1,4 @@ -/* $NetBSD: udp_usrreq.c,v 1.126 2004/12/17 22:54:52 christos Exp $ */ +/* $NetBSD: udp_usrreq.c,v 1.128 2004/12/19 06:42:24 christos Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -61,7 +61,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: udp_usrreq.c,v 1.126 2004/12/17 22:54:52 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: udp_usrreq.c,v 1.128 2004/12/19 06:42:24 christos Exp $"); #include "opt_inet.h" #include "opt_ipsec.h" @@ -141,7 +141,7 @@ int udpcksum = 1; #else int udpcksum = 0; /* XXX */ #endif -int udp_do_loopback_cksum = 1; +int udp_do_loopback_cksum = 0; struct inpcbtable udbtable; struct udpstat udpstat; @@ -430,9 +430,8 @@ udp6_input(struct mbuf **mp, int *offp, * Checksum extended UDP header and data. Maybe skip checksum * on loopback interfaces. */ - if (__predict_true(!(m->m_pkthdr.rcvif->if_flags & - IFF_LOOPBACK) || - udp_do_loopback_cksum)) { + if (__predict_true((m->m_flags & M_LOOP) == 0 || + udp_do_loopback_cksum)) { if (uh->uh_sum == 0) { udp6stat.udp6s_nosum++; goto bad;