ipv6: use newly introduced __ipv6_addr_needs_scope_id and ipv6_iface_scope_id
authorHannes Frederic Sowa <hannes@stressinduktion.org>
Fri, 8 Mar 2013 02:07:19 +0000 (02:07 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Mar 2013 17:29:22 +0000 (12:29 -0500)
commit842df0739776fc9af7ac15968b44415a31ba9be4
tree68bf5467c9ac66494655795fa59b4fa58ef86dd9
parentb7ef213ef65256168df83ddfbb8131ed9adc10f9
ipv6: use newly introduced __ipv6_addr_needs_scope_id and ipv6_iface_scope_id

This patch requires multicast interface-scoped addresses to supply a
sin6_scope_id. Because the sin6_scope_id is now also correctly used
in case of interface-scoped multicast traffic this enables one to use
interface scoped addresses over interfaces which are not targeted by the
default multicast route (the route has to be put there manually, though).

getsockname() and getpeername() now return the correct sin6_scope_id in
case of interface-local mc addresses.

v2:
a) rebased ontop of patch 1/4 (now uses ipv6_addr_props)

v3:
a) reverted changes for ipv6_addr_props

v4:
a) unchanged

Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>dave
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/af_inet6.c
net/ipv6/datagram.c
net/ipv6/icmp.c
net/ipv6/inet6_connection_sock.c
net/ipv6/raw.c
net/ipv6/udp.c