summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhrs <hrs@FreeBSD.org>2011-09-20 00:29:17 +0000
committerhrs <hrs@FreeBSD.org>2011-09-20 00:29:17 +0000
commit45d40bbb1a24f35e44c8a87d03c42a268da5531a (patch)
treea2d411bfd5d44f3cc0c73c1f47b393ce93e19bd2
parentb58f76ef372ff96464c9636f74384df68dae97cc (diff)
downloadFreeBSD-src-45d40bbb1a24f35e44c8a87d03c42a268da5531a.zip
FreeBSD-src-45d40bbb1a24f35e44c8a87d03c42a268da5531a.tar.gz
Copy ip6po_minmtu and ip6po_prefer_tempaddr in ip6_copypktopts(). This fixes
inconsistency when options are specified by both setsockopt() and ancillary data types. PR: kern/158307 Approved by: re (bz)
-rw-r--r--sys/netinet6/ip6_output.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c
index 8516124..e4d5172 100644
--- a/sys/netinet6/ip6_output.c
+++ b/sys/netinet6/ip6_output.c
@@ -2367,6 +2367,8 @@ copypktopts(struct ip6_pktopts *dst, struct ip6_pktopts *src, int canwait)
dst->ip6po_hlim = src->ip6po_hlim;
dst->ip6po_tclass = src->ip6po_tclass;
dst->ip6po_flags = src->ip6po_flags;
+ dst->ip6po_minmtu = src->ip6po_minmtu;
+ dst->ip6po_prefer_tempaddr = src->ip6po_prefer_tempaddr;
if (src->ip6po_pktinfo) {
dst->ip6po_pktinfo = malloc(sizeof(*dst->ip6po_pktinfo),
M_IP6OPT, canwait);
OpenPOWER on IntegriCloud