Mercurial > illumos > illumos-gate
changeset 13098:1715b7145825
6975991 ipadm show-addr does not show tunnel destination address
author | Vasumathi Sundaram <Vasumathi.Sundaram@oracle.COM> |
---|---|
date | Thu, 12 Aug 2010 09:27:28 -0400 |
parents | d27330a7e466 |
children | baf8bd9f8381 |
files | usr/src/cmd/cmd-inet/usr.sbin/ipadm/ipadm.c usr/src/lib/libsocket/inet/getifaddrs.c |
diffstat | 2 files changed, 11 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/cmd/cmd-inet/usr.sbin/ipadm/ipadm.c Thu Aug 12 13:34:42 2010 +0530 +++ b/usr/src/cmd/cmd-inet/usr.sbin/ipadm/ipadm.c Thu Aug 12 09:27:28 2010 -0400 @@ -1763,20 +1763,18 @@ } break; } - /* - * For the non-persistent case, we need to show the - * currently configured addresses for source and - * destination. - */ - if (ifa->ifa_flags & IFF_POINTOPOINT) { - sockaddr2str( - (struct sockaddr_storage *)ifa->ifa_dstaddr, - dstbuf, sizeof (dstbuf)); - } } + /* + * For the non-persistent case, we need to show the + * currently configured addresses for source and + * destination. + */ sockaddr2str((struct sockaddr_storage *)ifa->ifa_addr, addrbuf, sizeof (addrbuf)); - if (dstbuf[0] != '\0') { + if (ifa->ifa_flags & IFF_POINTOPOINT) { + sockaddr2str( + (struct sockaddr_storage *)ifa->ifa_dstaddr, + dstbuf, sizeof (dstbuf)); (void) snprintf(buf, bufsize, "%s->%s", addrbuf, dstbuf); } else {
--- a/usr/src/lib/libsocket/inet/getifaddrs.c Thu Aug 12 13:34:42 2010 +0530 +++ b/usr/src/lib/libsocket/inet/getifaddrs.c Thu Aug 12 09:27:28 2010 -0400 @@ -183,7 +183,7 @@ sizeof (struct sockaddr_storage)); if (curr->ifa_dstaddr == NULL) goto fail; - (void) memcpy(curr->ifa_dstaddr, &lifrp->lifr_addr, + (void) memcpy(curr->ifa_dstaddr, &lifrl.lifr_addr, sizeof (struct sockaddr_storage)); } else if (curr->ifa_flags & IFF_BROADCAST) { if (ioctl(s, SIOCGLIFBRDADDR, (caddr_t)&lifrl) < 0) @@ -192,7 +192,7 @@ sizeof (struct sockaddr_storage)); if (curr->ifa_broadaddr == NULL) goto fail; - (void) memcpy(curr->ifa_broadaddr, &lifrp->lifr_addr, + (void) memcpy(curr->ifa_broadaddr, &lifrl.lifr_addr, sizeof (struct sockaddr_storage)); }