diff options
author | Angelos D. Keromytis <angelos@cvs.openbsd.org> | 2000-07-29 22:51:23 +0000 |
---|---|---|
committer | Angelos D. Keromytis <angelos@cvs.openbsd.org> | 2000-07-29 22:51:23 +0000 |
commit | eb2cd9b5c36dbba7b3fdba1e18d61132a9e1afcb (patch) | |
tree | 34c12e80275f9c3fb33deb02db5fff7fa53680fa /sys | |
parent | 7dc68bf1d153f7db83c0b8e716e8cd7efd73097a (diff) |
Don't set the source IP address if doing multicast; this is a quick
fix -- the logic has to be reworked to allow for
multicast-over-IPsec. Patch from gene@lucky.net.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netinet/ip_output.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 26456705de7..be360787aa3 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ip_output.c,v 1.78 2000/06/21 17:25:04 form Exp $ */ +/* $OpenBSD: ip_output.c,v 1.79 2000/07/29 22:51:22 angelos Exp $ */ /* $NetBSD: ip_output.c,v 1.28 1996/02/13 23:43:07 christos Exp $ */ /* @@ -258,7 +258,8 @@ ip_output(m0, va_alist) } /* Set the source IP address */ - ip->ip_src = ia->ia_addr.sin_addr; + if (!IN_MULTICAST(ip->ip_dst.s_addr)) + ip->ip_src = ia->ia_addr.sin_addr; } #ifdef IPSEC |