aboutsummaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2014-05-23 13:36:35 +0100
committerMichael Brown <mcb30@ipxe.org>2014-05-23 14:11:17 +0100
commit3a1adea0360e73c91ebed63b671303601a63b450 (patch)
treefde70eb18a8676b450feea050fd7e1f342d3f09f /src/net
parent6c7146695de4c1f2f851e23edca8658868605a77 (diff)
downloadipxe-3a1adea0360e73c91ebed63b671303601a63b450.zip
ipxe-3a1adea0360e73c91ebed63b671303601a63b450.tar.gz
ipxe-3a1adea0360e73c91ebed63b671303601a63b450.tar.bz2
[ipv6] Include network device when transcribing multicast addresses
Destination multicast addresses require a sin6_scope_id, which should therefore be transcribed to a network device name by ipv6_sock_ntoa(). Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net')
-rw-r--r--src/net/ipv6.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/net/ipv6.c b/src/net/ipv6.c
index f753751..7712494 100644
--- a/src/net/ipv6.c
+++ b/src/net/ipv6.c
@@ -900,7 +900,7 @@ static const char * ipv6_sock_ntoa ( struct sockaddr *sa ) {
const char *netdev_name;
/* Identify network device, if applicable */
- if ( IN6_IS_ADDR_LINKLOCAL ( in ) ) {
+ if ( IN6_IS_ADDR_LINKLOCAL ( in ) || IN6_IS_ADDR_MULTICAST ( in ) ) {
netdev = find_netdev_by_index ( sin6->sin6_scope_id );
netdev_name = ( netdev ? netdev->name : "UNKNOWN" );
} else {