diff options
| -rw-r--r-- | lib/sockunion.c | 6 | ||||
| -rw-r--r-- | zebra/zebra_rib.c | 6 | 
2 files changed, 6 insertions, 6 deletions
diff --git a/lib/sockunion.c b/lib/sockunion.c index 4c2837b1..37dc3f90 100644 --- a/lib/sockunion.c +++ b/lib/sockunion.c @@ -370,7 +370,7 @@ sockunion_bind (int sock, union sockunion *su, unsigned short port,        su->sin.sin_len = size;  #endif /* HAVE_STRUCT_SOCKADDR_IN_SIN_LEN */        if (su_addr == NULL) -	su->sin.sin_addr.s_addr = htonl (INADDR_ANY); +	sockunion2ip (su) = htonl (INADDR_ANY);      }  #ifdef HAVE_IPV6    else if (su->sa.sa_family == AF_INET6) @@ -727,9 +727,9 @@ sockunion_cmp (union sockunion *su1, union sockunion *su2)    if (su1->sa.sa_family == AF_INET)      { -      if (ntohl (su1->sin.sin_addr.s_addr) == ntohl (su2->sin.sin_addr.s_addr)) +      if (ntohl (sockunion2ip (su1)) == ntohl (sockunion2ip (su2)))  	return 0; -      if (ntohl (su1->sin.sin_addr.s_addr) > ntohl (su2->sin.sin_addr.s_addr)) +      if (ntohl (sockunion2ip (su1)) > ntohl (sockunion2ip (su2)))  	return 1;        else  	return -1; diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index 154e8d55..50674ee8 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -678,8 +678,8 @@ rib_lookup_ipv4_route (struct prefix_ipv4 *p, union sockunion * qgate)      if (CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_FIB))      {        /* We are happy with either direct or recursive hexthop */ -      if (nexthop->gate.ipv4.s_addr == qgate->sin.sin_addr.s_addr || -          nexthop->rgate.ipv4.s_addr == qgate->sin.sin_addr.s_addr) +      if (nexthop->gate.ipv4.s_addr == sockunion2ip (qgate) || +          nexthop->rgate.ipv4.s_addr == sockunion2ip (qgate))          return ZEBRA_RIB_FOUND_EXACT;        else        { @@ -688,7 +688,7 @@ rib_lookup_ipv4_route (struct prefix_ipv4 *p, union sockunion * qgate)            char gate_buf[INET_ADDRSTRLEN], rgate_buf[INET_ADDRSTRLEN], qgate_buf[INET_ADDRSTRLEN];            inet_ntop (AF_INET, &nexthop->gate.ipv4.s_addr, gate_buf, INET_ADDRSTRLEN);            inet_ntop (AF_INET, &nexthop->rgate.ipv4.s_addr, rgate_buf, INET_ADDRSTRLEN); -          inet_ntop (AF_INET, &qgate->sin.sin_addr.s_addr, qgate_buf, INET_ADDRSTRLEN); +          inet_ntop (AF_INET, &sockunion2ip (qgate), qgate_buf, INET_ADDRSTRLEN);            zlog_debug ("%s: qgate == %s, gate == %s, rgate == %s", __func__, qgate_buf, gate_buf, rgate_buf);          }          return ZEBRA_RIB_FOUND_NOGATE;  | 
