From owner-FreeBSD-users-jp@jp.freebsd.org  Fri May 22 11:26:34 1998
Received: (from daemon@localhost)
	by jaz.jp.freebsd.org (8.8.8+3.0Wbeta13/8.7.3) id LAA18453;
	Fri, 22 May 1998 11:26:34 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from japan.j-link.or.jp (japan.j-link.or.jp [202.230.214.3])
	by jaz.jp.freebsd.org (8.8.8+3.0Wbeta13/8.7.3) with ESMTP id LAA18441
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 22 May 1998 11:26:31 +0900 (JST)
	(envelope-from ken@j-link.or.jp)
Received: from [202.230.214.51] (singapore.j-link.or.jp [202.230.214.51])
	by japan.j-link.or.jp (8.8.7+2.7Wbeta7/3.6Wb6-970921) with ESMTP id LAA28173;
	Fri, 22 May 1998 11:26:27 +0900 (JST)
Message-Id: <199805220226.LAA28173@japan.j-link.or.jp>
X-Sender: ken@pop.j-link.or.jp
X-Mailer: Macintosh Eudora Pro Version 3.1.1-Jr2
Mime-Version: 1.0
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit
Date: Fri, 22 May 1998 11:26:20 +0900
To: FreeBSD-users-jp@jp.freebsd.org
From: Kenichi Sasaki <ken@j-link.or.jp>
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=24]
X-Sequence: FreeBSD-users-jp 28560
Subject: [FreeBSD-users-jp 28560] Direct Broadcast patch
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org

J-LINK$B$N:4!9LZ$G$9!#(J
$B0JA0<ALd$7$F$$$?(J2.2$B7O$G(JDIRECT BROADCAST$B$rDL$9$h$&$K$9$k%Q%C%A$G$9!#(J
2.2.6-RELEASE$BMQ$G!"(Jsysctl$B$G@)8f$G$-$^$9!#!J:G=i$+$i%-!<%o!<%I$,$"$C$?!K(J
$B$"$H$OE,Ev$K(J/etc/rc.conf$B$H(J/etc/rc.network$B$r$$$8$l$P(JOK$B$G$9!#(J

*** ip_input.c.orig     Fri Feb 27 02:17:09 1998
--- ip_input.c  Mon May 18 12:45:05 1998
***************
*** 98,103 ****
--- 98,107 ----
  static int    ip_acceptsourceroute = 0;
  SYSCTL_INT(_net_inet_ip, IPCTL_ACCEPTSOURCEROUTE, accept_sourceroute,
        CTLFLAG_RW, &ip_acceptsourceroute, 0, "");
+
+ static int    directed_broadcast = 0;
+ SYSCTL_INT(_net_inet_ip, IPCTL_DIRECTEDBROADCAST, directed_broadcast,
+       CTLFLAG_RW, &directed_broadcast, 0, "");
  #ifdef DIAGNOSTIC
  static int    ipprintfs = 0;
  #endif
***************
*** 387,393 ****
                if (IA_SIN(ia)->sin_addr.s_addr == INADDR_ANY)
                        goto ours;
  #endif
!               if (ia->ia_ifp && ia->ia_ifp->if_flags & IFF_BROADCAST) {
                        if (satosin(&ia->ia_broadaddr)->sin_addr.s_addr ==
                            ip->ip_dst.s_addr)
                                goto ours;
--- 391,398 ----
                if (IA_SIN(ia)->sin_addr.s_addr == INADDR_ANY)
                        goto ours;
  #endif
!               if (ia->ia_ifp && ia->ia_ifp->if_flags & IFF_BROADCAST &&
!                  (directed_broadcast && ia->ia_ifp == m->m_pkthdr.rcvif)) {
                        if (satosin(&ia->ia_broadaddr)->sin_addr.s_addr ==
                            ip->ip_dst.s_addr)
                                goto ours;
***************
*** 1344,1350 ****
        }

        error = ip_output(m, (struct mbuf *)0, &ipforward_rt,
!                         IP_FORWARDING, 0);
        if (error)
                ipstat.ips_cantforward++;
        else {
--- 1349,1357 ----
        }

        error = ip_output(m, (struct mbuf *)0, &ipforward_rt,
!                       IP_FORWARDING |
!                               (directed_broadcast ? IP_ALLOWBROADCAST : 0),
!                                                                       0);
        if (error)
                ipstat.ips_cantforward++;
        else {

----------------------------------------------------------------------------
 $B!J3t!K%*%U%#%C%/%9!!(JJ-LINK$B;v6HIt(J   $B!!!!:4!9LZ(J $B7{0l(J

  TEL: 03-3252-7491             E-Mail: ken@j-link.or.jp         (office)
  FAX: 03-3252-7499                     kenich-s@red.an.egg.or.jp(personal)
----------------------------------------------------------------------------


