diff options
author | Michael Brown | 2014-05-23 14:36:35 +0200 |
---|---|---|
committer | Michael Brown | 2014-05-23 15:11:17 +0200 |
commit | 3a1adea0360e73c91ebed63b671303601a63b450 (patch) | |
tree | fde70eb18a8676b450feea050fd7e1f342d3f09f /src | |
parent | [ipv6] Do not set sin6_scope_id on source address (diff) | |
download | ipxe-3a1adea0360e73c91ebed63b671303601a63b450.tar.gz ipxe-3a1adea0360e73c91ebed63b671303601a63b450.tar.xz ipxe-3a1adea0360e73c91ebed63b671303601a63b450.zip |
[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')
-rw-r--r-- | src/net/ipv6.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/net/ipv6.c b/src/net/ipv6.c index f753751d..77124940 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 { |