diff --git a/sys/net/if_stf.c b/sys/net/if_stf.c index c95aaa54ec0e..bfd462a777f3 100644 --- a/sys/net/if_stf.c +++ b/sys/net/if_stf.c @@ -1,5 +1,5 @@ /* $FreeBSD$ */ -/* $KAME: if_stf.c,v 1.40 2000/06/20 19:44:42 itojun Exp $ */ +/* $KAME: if_stf.c,v 1.42 2000/08/15 07:24:23 itojun Exp $ */ /* * Copyright (C) 2000 WIDE Project. @@ -408,7 +408,7 @@ stf_checkaddr4(in, ifp) * reject packets with the following address: * 224.0.0.0/4 0.0.0.0/8 127.0.0.0/8 255.0.0.0/8 */ - if (IN_MULTICAST(in->s_addr)) + if (IN_MULTICAST(ntohl(in->s_addr))) return -1; switch ((ntohl(in->s_addr) & 0xff000000) >> 24) { case 0: case 127: case 255: diff --git a/sys/net/net_osdep.h b/sys/net/net_osdep.h index 47f52161f1e7..fc77022e27bf 100644 --- a/sys/net/net_osdep.h +++ b/sys/net/net_osdep.h @@ -1,5 +1,5 @@ /* $FreeBSD$ */ -/* $KAME: net_osdep.h,v 1.21 2000/07/02 23:34:38 itojun Exp $ */ +/* $KAME: net_osdep.h,v 1.22 2000/08/15 07:23:10 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -150,6 +150,10 @@ * FreeBSD4: opt_{inet,inet6,ipsec,ip6fw,altq}.h * NetBSD: opt_{inet,ipsec,altq}.h * others: does not use defopt + * + * - IN_MULTICAST/IN_CLASS[A-D] macro. + * OpenBSD and NetBSD: net endian (kernel) or host endian (userland) + * others: always host endian */ #ifndef __NET_NET_OSDEP_H_DEFINED_ diff --git a/sys/netinet/in_gif.c b/sys/netinet/in_gif.c index 2335873bbb38..bce267cde194 100644 --- a/sys/netinet/in_gif.c +++ b/sys/netinet/in_gif.c @@ -1,5 +1,5 @@ /* $FreeBSD$ */ -/* $KAME: in_gif.c,v 1.43 2000/06/20 19:45:00 itojun Exp $ */ +/* $KAME: in_gif.c,v 1.44 2000/08/15 07:24:24 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -347,7 +347,7 @@ gif_encapcheck4(m, off, proto, arg) return 0; /* martian filters on outer source - NOT done in ip_input! */ - if (IN_MULTICAST(ip.ip_src.s_addr)) + if (IN_MULTICAST(ntohl(ip.ip_src.s_addr))) return 0; switch ((ntohl(ip.ip_src.s_addr) & 0xff000000) >> 24) { case 0: case 127: case 255: