From owner-freebsd-isp Sun Jul 1 2:19:20 2001 Delivered-To: freebsd-isp@freebsd.org Received: from roulen-gw.morning.ru (roulen-gw.morning.ru [195.161.98.242]) by hub.freebsd.org (Postfix) with ESMTP id 834FD37B403; Sun, 1 Jul 2001 02:19:13 -0700 (PDT) (envelope-from poige@morning.ru) Received: from NIC1 (seven.ld [192.168.11.7]) by roulen-gw.morning.ru (Postfix) with ESMTP id 988B0D8; Sun, 1 Jul 2001 17:19:12 +0800 (KRAST) Date: Sun, 1 Jul 2001 17:19:28 +0800 From: Igor Podlesny X-Mailer: The Bat! (v1.52 Beta/7) UNREG / CD5BF9353B3B7091 Organization: Morning Network X-Priority: 3 (Normal) Message-ID: <34931950.20010701171928@morning.ru> To: Wes Peters Cc: freebsd-hackers@FreeBSD.ORG, freebsd-isp@FreeBSD.ORG Subject: Re[2]: Flight of the rat, living wreck..... In-Reply-To: <3B3E0D93.79738728@softweyr.com> References: <754836544.20010630185133@morning.ru> <3B3E0D93.79738728@softweyr.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-isp@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org > Igor Podlesny wrote: >> > /* >> > * Macro for finding the interface (ifnet structure) corresponding to one >> > * of our IP addresses. >> > */ >> > #define INADDR_TO_IFP(addr, ifp) \ >> > /* struct in_addr addr; */ \ >> > /* struct ifnet *ifp; */ \ >> > { \ >> > register struct in_ifaddr *ia; \ >> > \ >> > for (ia = in_ifaddrhead.tqh_first; \ >> >> // so here we start looking through the queue >> >> > ia != NULL >> >> // sanity (I'd have written just (ia)) >> >> > && ((ia->ia_ifp->if_flags & IFF_POINTOPOINT)? \ >> >> // hm. special case if the interface is PTP >> >> > IA_DSTSIN(ia):IA_SIN(ia))->sin_addr.s_addr != (addr).s_addr; \ >> >> // so it is like: if it is PTP, then we using DST address in comparison >> // with addr.s_addr >> >> // it is the time I started to ask myself why it is so? why we're (ok, >> // they're) checking for remote ip-address if the head comment >> // says: >> // * Macro for finding the interface (ifnet structure) corresponding to one >> // * of our IP addresses. >> // ^^^ >> // ^^^ > With point-to-point connections, the address at the opposite end of the > connection is always used in the route table. When the interface is > created as a point-to-point interface, a route is automatically entered > from the local address to the opposite address. nothing to say agains this... but which relation to the ipfw problem you've found here? > The "corresponding" > in the comment at the beginning of the macro is interpreted rather loosely. What do you mean by that? :) p.s. The idea of my letter wasn't in incorrectly written on interpreted code comment header, but in IPFW's 'me' broken implementation. -- Igor mailto:poige@morning.ru To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-isp" in the body of the message