summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2014-01-02 10:18:39 +0000
committerglebius <glebius@FreeBSD.org>2014-01-02 10:18:39 +0000
commitf3c61c87314a533dd77dadc43df7d66f61700368 (patch)
tree6b7960fcf73ae1f3fe7318f09e2bcefc6773d9ad /sys/netinet
parent4b9dcf4e758fb36bc823ff1c398cefe475eda2a6 (diff)
downloadFreeBSD-src-f3c61c87314a533dd77dadc43df7d66f61700368.zip
FreeBSD-src-f3c61c87314a533dd77dadc43df7d66f61700368.tar.gz
Fix regression from r249894. Now we pass "gw" as argument to if_output
method, thus for multicast case we need it to point at "dst". PR: 185395 Submitted by: ae
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/ip_output.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c
index cba9e6a..e3da758 100644
--- a/sys/netinet/ip_output.c
+++ b/sys/netinet/ip_output.c
@@ -333,6 +333,12 @@ again:
if (IN_MULTICAST(ntohl(ip->ip_dst.s_addr))) {
m->m_flags |= M_MCAST;
/*
+ * IP destination address is multicast. Make sure "gw"
+ * still points to the address in "ro". (It may have been
+ * changed to point to a gateway address, above.)
+ */
+ gw = dst;
+ /*
* See if the caller provided any multicast options
*/
if (imo != NULL) {
OpenPOWER on IntegriCloud