summaryrefslogtreecommitdiffstats
path: root/sys/netinet/ip_divert.c
diff options
context:
space:
mode:
authorjmg <jmg@FreeBSD.org>2004-09-05 02:34:12 +0000
committerjmg <jmg@FreeBSD.org>2004-09-05 02:34:12 +0000
commit8e8293b76576645a7323d6bce9cc4f8b1e544edd (patch)
tree41c4349d7abcca9eddfb8777895d58e45d58de0b /sys/netinet/ip_divert.c
parente291fa77140598041f22aa877b26c0844871d3ea (diff)
downloadFreeBSD-src-8e8293b76576645a7323d6bce9cc4f8b1e544edd.zip
FreeBSD-src-8e8293b76576645a7323d6bce9cc4f8b1e544edd.tar.gz
fix up socket/ip layer violation... don't assume/know that
SO_DONTROUTE == IP_ROUTETOIF and SO_BROADCAST == IP_ALLOWBROADCAST...
Diffstat (limited to 'sys/netinet/ip_divert.c')
-rw-r--r--sys/netinet/ip_divert.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c
index 106aa56..8f524bb 100644
--- a/sys/netinet/ip_divert.c
+++ b/sys/netinet/ip_divert.c
@@ -333,7 +333,8 @@ div_output(struct socket *so, struct mbuf *m,
#endif
error = ip_output(m,
inp->inp_options, NULL,
- (so->so_options & SO_DONTROUTE) |
+ ((so->so_options & SO_DONTROUTE) ?
+ IP_ROUTETOIF : 0) |
IP_ALLOWBROADCAST | IP_RAWOUTPUT,
inp->inp_moptions, NULL);
}
OpenPOWER on IntegriCloud