Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Jun 2001 11:34:11 -0600
From:      Wes Peters <wes@softweyr.com>
To:        Igor Podlesny <poige@morning.ru>
Cc:        freebsd-hackers@FreeBSD.ORG, freebsd-isp@freebsd.org
Subject:   Re: Flight of the rat, living wreck.....
Message-ID:  <3B3E0D93.79738728@softweyr.com>
References:  <754836544.20010630185133@morning.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
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.  The "corresponding"
in the comment at the beginning of the macro is interpreted rather loosely.

-- 
            "Where am I, and what am I doing in this handbasket?"

Wes Peters                                                         Softweyr LLC
wes@softweyr.com                                           http://softweyr.com/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B3E0D93.79738728>