Skip to content

Commit

Permalink
correct IFA_ROUTE management, (p2p interface deterination)
Browse files Browse the repository at this point in the history
  • Loading branch information
itojun committed Jul 22, 2001
1 parent c2ec370 commit 505b58c
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions netbsd/sys/netinet/in.c
Original file line number Diff line number Diff line change
Expand Up @@ -931,7 +931,7 @@ in_addprefix(target, flags)
struct in_addr prefix, mask, p;
int error;

if (rtinitflags(target))
if ((flags & RTF_HOST) != 0)
prefix = target->ia_dstaddr.sin_addr;
else
prefix = target->ia_addr.sin_addr;
Expand All @@ -943,7 +943,7 @@ in_addprefix(target, flags)
if (mask.s_addr != ia->ia_sockmask.sin_addr.s_addr)
continue;

if (rtinitflags(ia))
if (rtinitflags(ia) && ia->ia_dstaddr.sin_family == AF_INET)
p = ia->ia_dstaddr.sin_addr;
else
p = ia->ia_addr.sin_addr;
Expand Down Expand Up @@ -979,7 +979,7 @@ in_scrubprefix(target)
if ((target->ia_flags & IFA_ROUTE) == 0)
return 0;

if (rtinitflags(target))
if (rtinitflags(target) && target->ia_dstaddr.sin_family == AF_INET)
prefix = target->ia_dstaddr.sin_addr;
else
prefix = target->ia_addr.sin_addr;
Expand All @@ -991,7 +991,7 @@ in_scrubprefix(target)
if (mask.s_addr != ia->ia_sockmask.sin_addr.s_addr)
continue;

if (rtinitflags(target))
if (rtinitflags(ia) && ia->ia_dstaddr.sin_family == AF_INET)
p = ia->ia_dstaddr.sin_addr;
else
p = ia->ia_addr.sin_addr;
Expand Down

0 comments on commit 505b58c

Please sign in to comment.