Make use of IFP_TO_IA() in the multicast code path of ip_output()
instead of rolling our own copy. No functional change.
ok?
Index: netinet/ip_output.c
===================================================================
RCS file: /home/ncvs/src/sys/netinet/ip_output.c,v
retrieving revision 1.241
diff -u -p -r1.241 ip_output.c
--- netinet/ip_output.c 11 Jun 2013 18:15:53 -0000 1.241
+++ netinet/ip_output.c 19 Jun 2013 13:46:16 -0000
@@ -475,13 +475,9 @@ reroute:
* of outgoing interface.
*/
if (ip->ip_src.s_addr == INADDR_ANY) {
- struct in_ifaddr *ia;
-
- TAILQ_FOREACH(ia, &in_ifaddr, ia_list)
- if (ia->ia_ifp == ifp) {
- ip->ip_src = ia->ia_addr.sin_addr;
- break;
- }
+ IFP_TO_IA(ifp, ia);
+ if (ia != NULL)
+ ip->ip_src = ia->ia_addr.sin_addr;
}
IN_LOOKUP_MULTI(ip->ip_dst, ifp, inm);