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/ip_input.c,v retrieving revision 1.84 retrieving revision 1.85 diff -u -p -r1.84 -r1.85 --- src/sys/netinet/ip_input.c 1999/04/07 05:34:32 1.84 +++ src/sys/netinet/ip_input.c 1999/05/03 21:14:47 1.85 @@ -1,4 +1,4 @@ -/* $NetBSD: ip_input.c,v 1.84 1999/04/07 05:34:32 proff Exp $ */ +/* $NetBSD: ip_input.c,v 1.85 1999/05/03 21:14:47 hwr Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -340,6 +340,15 @@ next: } ip = mtod(m, struct ip *); } + /* + * we drop packets that have a multicast address as source + * as wanted by rfc 1112 + */ + if (IN_MULTICAST(ip->ip_src.s_addr)) { + ipstat.ips_odropped++; + goto bad; + } + if (in_cksum(m, hlen) != 0) { ipstat.ips_badsum++; goto bad;