Module Name: src Committed By: ozaki-r Date: Thu Feb 23 07:57:10 UTC 2017
Modified Files: src/sys/net: if.c if.h src/sys/netinet6: in6.c in6_ifattach.c in6_var.h mld6.c src/sys/netipsec: key.c src/usr.bin/netstat: if.c src/usr.sbin/ifmcstat: ifmcstat.c Log Message: Remove mkludge stuffs For unknown reasons, IPv6 multicast addresses are linked to a first IPv6 address assigned to an interface. Due to the design, when removing a first address having multicast addresses, we need to save them to somewhere and later restore them once a new IPv6 address is activated. mkludge stuffs support the operations. This change links multicast addresses to an interface directly and throws the kludge away. Note that as usual some obsolete member variables remain for kvm(3) users. And also sysctl net.inet6.multicast_kludge remains to avoid breaking old ifmcstat. TODO: currently ifnet has a list of in6_multi but obviously the list should be protocol independent. Provide a common structure (if_multi or something) to handle in6_multi and in_multi together as well as ifaddr does for in_ifaddr and in6_ifaddr. To generate a diff of this commit: cvs rdiff -u -r1.380 -r1.381 src/sys/net/if.c cvs rdiff -u -r1.234 -r1.235 src/sys/net/if.h cvs rdiff -u -r1.237 -r1.238 src/sys/netinet6/in6.c cvs rdiff -u -r1.111 -r1.112 src/sys/netinet6/in6_ifattach.c cvs rdiff -u -r1.92 -r1.93 src/sys/netinet6/in6_var.h cvs rdiff -u -r1.82 -r1.83 src/sys/netinet6/mld6.c cvs rdiff -u -r1.102 -r1.103 src/sys/netipsec/key.c cvs rdiff -u -r1.93 -r1.94 src/usr.bin/netstat/if.c cvs rdiff -u -r1.20 -r1.21 src/usr.sbin/ifmcstat/ifmcstat.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.