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 retrieving revision 1.72 retrieving revision 1.73 diff -u -p -r1.72 -r1.73 --- src/sys/netinet/udp_usrreq.c 2000/10/17 03:06:44 1.72 +++ src/sys/netinet/udp_usrreq.c 2000/12/04 11:23:04 1.73 @@ -1,4 +1,4 @@ -/* $NetBSD: udp_usrreq.c,v 1.72 2000/10/17 03:06:44 itojun Exp $ */ +/* $NetBSD: udp_usrreq.c,v 1.73 2000/12/04 11:23:04 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -554,7 +554,7 @@ udp4_realinput(src, dst, m, off) dst4 = &dst->sin_addr; dport = &dst->sin_port; - if (IN_MULTICAST(src4->s_addr) || + if (IN_MULTICAST(dst4->s_addr) || in_broadcast(*dst4, m->m_pkthdr.rcvif)) { struct inpcb *last; /* @@ -722,7 +722,7 @@ udp6_realinput(af, src, dst, m, off) src4 = (struct in_addr *)&src->sin6_addr.s6_addr32[12]; if (IN6_IS_ADDR_MULTICAST(dst6) - || (af == AF_INET && IN_MULTICAST(src4->s_addr))) { + || (af == AF_INET && IN_MULTICAST(dst4->s_addr))) { struct in6pcb *last; /* * Deliver a multicast or broadcast datagram to *all* sockets