--- old/usr/src/uts/common/inet/ip/ip_tunables.c	sam. juil. 16 15:14:55 2016
+++ new/usr/src/uts/common/inet/ip/ip_tunables.c	sam. juil. 16 15:14:55 2016
@@ -497,102 +497,102 @@
 	/* tunable - 0 */
 	{ "_respond_to_address_mask_broadcast", MOD_PROTO_IP,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_FALSE}, {B_FALSE} },
+	    {.mpi_bval = B_FALSE}, {B_FALSE} },
 
 	{ "_respond_to_echo_broadcast", MOD_PROTO_IP,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE},  {B_TRUE} },
+	    {.mpi_bval = B_TRUE},  {B_TRUE} },
 
 	{ "_respond_to_echo_multicast", MOD_PROTO_IPV4,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE}, {B_TRUE} },
+	    {.mpi_bval = B_TRUE}, {B_TRUE} },
 
 	{ "_respond_to_timestamp", MOD_PROTO_IP,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_FALSE}, {B_FALSE} },
+	    {.mpi_bval = B_FALSE}, {B_FALSE} },
 
 	{ "_respond_to_timestamp_broadcast", MOD_PROTO_IP,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_FALSE}, {B_FALSE} },
+	    {.mpi_bval = B_FALSE}, {B_FALSE} },
 
 	{ "_send_redirects", MOD_PROTO_IPV4,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE}, {B_TRUE} },
+	    {.mpi_bval = B_TRUE}, {B_TRUE} },
 
 	{ "_forward_directed_broadcasts", MOD_PROTO_IP,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_FALSE}, {B_FALSE} },
+	    {.mpi_bval = B_FALSE}, {B_FALSE} },
 
 	{ "_mrtdebug", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 10, 0}, {0} },
+	    {{0, 10, 0}}, {0} },
 
 	{ "_ire_reclaim_fraction", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {1, 8, 3}, {3} },
+	    {{1, 8, 3}}, {3} },
 
 	{ "_nce_reclaim_fraction", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {1, 8, 3}, {3} },
+	    {{1, 8, 3}}, {3} },
 
 	/* tunable - 10 */
 	{ "_dce_reclaim_fraction", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {1, 8, 3}, {3} },
+	    {{1, 8, 3}}, {3} },
 
 	{ "ttl", MOD_PROTO_IPV4,
 	    mod_set_uint32, mod_get_uint32,
-	    {1, 255, 255}, {255} },
+	    {{1, 255, 255}}, {255} },
 
 	{ "_forward_src_routed", MOD_PROTO_IPV4,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_FALSE}, {B_FALSE} },
+	    {.mpi_bval = B_FALSE}, {B_FALSE} },
 
 	{ "_wroff_extra", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 256, 32}, {32} },
+	    {{0, 256, 32}}, {32} },
 
 	/* following tunable is in seconds - a deviant! */
 	{ "_pathmtu_interval", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {2, 999999999, 60*20}, {60*20} },
+	    {{2, 999999999, 60*20}}, {60*20} },
 
 	{ "_icmp_return_data_bytes", MOD_PROTO_IPV4,
 	    mod_set_uint32, mod_get_uint32,
-	    {8, 65536, 64}, {64} },
+	    {{8, 65536, 64}}, {64} },
 
 	{ "_path_mtu_discovery", MOD_PROTO_IP,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE}, {B_TRUE} },
+	    {.mpi_bval = B_TRUE}, {B_TRUE} },
 
 	{ "_pmtu_min", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {68, 65535, 576}, {576} },
+	    {{68, 65535, 576}}, {576} },
 
 	{ "_ignore_redirect", MOD_PROTO_IPV4,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_FALSE}, {B_FALSE} },
+	    {.mpi_bval = B_FALSE}, {B_FALSE} },
 
 	{ "_arp_icmp_error", MOD_PROTO_IP,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_FALSE}, {B_FALSE} },
+	    {.mpi_bval = B_FALSE}, {B_FALSE} },
 
 	/* tunable - 20 */
 	{ "_broadcast_ttl", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {1, 254, 1}, {1} },
+	    {{1, 254, 1}}, {1} },
 
 	{ "_icmp_err_interval", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 99999, 100}, {100} },
+	    {{0, 99999, 100}}, {100} },
 
 	{ "_icmp_err_burst", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {1, 99999, 10}, {10} },
+	    {{1, 99999, 10}}, {10} },
 
 	{ "_reass_queue_bytes", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 999999999, 1000000}, {1000000} },
+	    {{0, 999999999, 1000000}}, {1000000} },
 
 	/*
 	 * See comments for ip_strict_src_multihoming for an explanation
@@ -600,57 +600,58 @@
 	 */
 	{ "_strict_dst_multihoming", MOD_PROTO_IPV4,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 1, 0}, {0} },
+	    {{0, 1, 0}}, {0} },
 
 	{ "_addrs_per_if", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {1, MAX_ADDRS_PER_IF, 256}, {256} },
+	    {{1, MAX_ADDRS_PER_IF, 256}}, {256} },
 
 	{ "_ipsec_override_persocket_policy", MOD_PROTO_IP,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_FALSE}, {B_FALSE} },
+	    {.mpi_bval = B_FALSE}, {B_FALSE} },
 
 	{ "_icmp_accept_clear_messages", MOD_PROTO_IP,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE}, {B_TRUE} },
+	    {.mpi_bval = B_TRUE}, {B_TRUE} },
 
 	{ "_igmp_accept_clear_messages", MOD_PROTO_IP,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE}, {B_TRUE} },
+	    {.mpi_bval = B_TRUE}, {B_TRUE} },
 
 	{ "_ndp_delay_first_probe_time", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {2, 999999999, ND_DELAY_FIRST_PROBE_TIME},
+	    {{2, 999999999, ND_DELAY_FIRST_PROBE_TIME}},
 	    {ND_DELAY_FIRST_PROBE_TIME} },
 
 	/* tunable - 30 */
 	{ "_ndp_max_unicast_solicit", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {1, 999999999, ND_MAX_UNICAST_SOLICIT}, {ND_MAX_UNICAST_SOLICIT} },
+	    {{1, 999999999, ND_MAX_UNICAST_SOLICIT}},
+	    {ND_MAX_UNICAST_SOLICIT} },
 
 	{ "hoplimit", MOD_PROTO_IPV6,
 	    mod_set_uint32, mod_get_uint32,
-	    {1, 255, IPV6_MAX_HOPS}, {IPV6_MAX_HOPS} },
+	    {{1, 255, IPV6_MAX_HOPS}}, {IPV6_MAX_HOPS} },
 
 	{ "_icmp_return_data_bytes", MOD_PROTO_IPV6,
 	    mod_set_uint32, mod_get_uint32,
-	    {8, IPV6_MIN_MTU, IPV6_MIN_MTU}, {IPV6_MIN_MTU} },
+	    {{8, IPV6_MIN_MTU, IPV6_MIN_MTU}}, {IPV6_MIN_MTU} },
 
 	{ "_forward_src_routed", MOD_PROTO_IPV6,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_FALSE}, {B_FALSE} },
+	    {.mpi_bval = B_FALSE}, {B_FALSE} },
 
 	{ "_respond_to_echo_multicast", MOD_PROTO_IPV6,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE}, {B_TRUE} },
+	    {.mpi_bval = B_TRUE}, {B_TRUE} },
 
 	{ "_send_redirects", MOD_PROTO_IPV6,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE}, {B_TRUE} },
+	    {.mpi_bval = B_TRUE}, {B_TRUE} },
 
 	{ "_ignore_redirect", MOD_PROTO_IPV6,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_FALSE}, {B_FALSE} },
+	    {.mpi_bval = B_FALSE}, {B_FALSE} },
 
 	/*
 	 * See comments for ip6_strict_src_multihoming for an explanation
@@ -658,57 +659,57 @@
 	 */
 	{ "_strict_dst_multihoming", MOD_PROTO_IPV6,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 1, 0}, {0} },
+	    {{0, 1, 0}}, {0} },
 
 	{ "_src_check", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 2, 2}, {2} },
+	    {{0, 2, 2}}, {2} },
 
 	{ "_ipsec_policy_log_interval", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 999999, 0}, {0} },
+	    {{0, 999999, 0}}, {0} },
 
 	/* tunable - 40 */
 	{ "_pim_accept_clear_messages", MOD_PROTO_IP,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE}, {B_TRUE} },
+	    {.mpi_bval = B_TRUE}, {B_TRUE} },
 
 	{ "_ndp_unsolicit_interval", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {1000, 20000, 2000}, {2000} },
+	    {{1000, 20000, 2000}}, {2000} },
 
 	{ "_ndp_unsolicit_count", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {1, 20, 3}, {3} },
+	    {{1, 20, 3}}, {3} },
 
 	{ "_ignore_home_address_opt", MOD_PROTO_IPV6,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE}, {B_TRUE} },
+	    {.mpi_bval = B_TRUE}, {B_TRUE} },
 
 	{ "_policy_mask", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 15, 0}, {0} },
+	    {{0, 15, 0}}, {0} },
 
 	{ "_ecmp_behavior", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 2, 2}, {2} },
+	    {{0, 2, 2}}, {2} },
 
 	{ "_multirt_ttl", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 255, 1}, {1} },
+	    {{0, 255, 1}}, {1} },
 
 	/* following tunable is in seconds - a deviant */
 	{ "_ire_badcnt_lifetime", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 3600, 60}, {60} },
+	    {{0, 3600, 60}}, {60} },
 
 	{ "_max_temp_idle", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 999999, 60*60*24}, {60*60*24} },
+	    {{0, 999999, 60*60*24}}, {60*60*24} },
 
 	{ "_max_temp_defend", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 1000, 1}, {1} },
+	    {{0, 1000, 1}}, {1} },
 
 	/* tunable - 50 */
 	/*
@@ -718,89 +719,89 @@
 	 */
 	{ "_max_defend", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 1000, 3}, {3} },
+	    {{0, 1000, 3}}, {3} },
 
 	{ "_defend_interval", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 999999, 30}, {30} },
+	    {{0, 999999, 30}}, {30} },
 
 	{ "_dup_recovery", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 3600000, 300000}, {300000} },
+	    {{0, 3600000, 300000}}, {300000} },
 
 	{ "_restrict_interzone_loopback", MOD_PROTO_IP,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE}, {B_TRUE} },
+	    {.mpi_bval = B_TRUE}, {B_TRUE} },
 
 	{ "_lso_outbound", MOD_PROTO_IP,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE}, {B_TRUE} },
+	    {.mpi_bval = B_TRUE}, {B_TRUE} },
 
 	{ "_igmp_max_version", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {IGMP_V1_ROUTER, IGMP_V3_ROUTER, IGMP_V3_ROUTER},
+	    {{IGMP_V1_ROUTER, IGMP_V3_ROUTER, IGMP_V3_ROUTER}},
 	    {IGMP_V3_ROUTER} },
 
 	{ "_mld_max_version", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {MLD_V1_ROUTER, MLD_V2_ROUTER, MLD_V2_ROUTER}, {MLD_V2_ROUTER} },
+	    {{MLD_V1_ROUTER, MLD_V2_ROUTER, MLD_V2_ROUTER}}, {MLD_V2_ROUTER} },
 
 	{ "forwarding", MOD_PROTO_IPV4,
 	    ip_set_forwarding, ip_get_forwarding,
-	    {IP_FORWARD_NEVER}, {IP_FORWARD_NEVER} },
+	    {.mpi_bval = IP_FORWARD_NEVER}, {IP_FORWARD_NEVER} },
 
 	{ "forwarding", MOD_PROTO_IPV6,
 	    ip_set_forwarding, ip_get_forwarding,
-	    {IP_FORWARD_NEVER}, {IP_FORWARD_NEVER} },
+	    {.mpi_bval = IP_FORWARD_NEVER}, {IP_FORWARD_NEVER} },
 
 	{ "_reasm_timeout", MOD_PROTO_IPV4,
 	    mod_set_uint32, mod_get_uint32,
-	    {5, 255, IP_REASM_TIMEOUT},
+	    {{5, 255, IP_REASM_TIMEOUT}},
 	    {IP_REASM_TIMEOUT} },
 
 	/* tunable - 60 */
 	{ "_reasm_timeout", MOD_PROTO_IPV6,
 	    mod_set_uint32, mod_get_uint32,
-	    {5, 255, IPV6_REASM_TIMEOUT},
+	    {{5, 255, IPV6_REASM_TIMEOUT}},
 	    {IPV6_REASM_TIMEOUT} },
 
 	{ "_cgtp_filter", MOD_PROTO_IP,
 	    ip_set_cgtp_filter, mod_get_boolean,
-	    {B_FALSE}, {B_FALSE} },
+	    {.mpi_bval = B_FALSE}, {B_FALSE} },
 
 	/* delay before sending first probe: */
 	{ "_arp_probe_delay", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 20000, 1000}, {1000} },
+	    {{0, 20000, 1000}}, {1000} },
 
 	{ "_arp_fastprobe_delay", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 20000, 100}, {100} },
+	    {{0, 20000, 100}}, {100} },
 
 	/* interval at which DAD probes are sent: */
 	{ "_arp_probe_interval", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {10, 20000, 1500}, {1500} },
+	    {{10, 20000, 1500}}, {1500} },
 
 	{ "_arp_fastprobe_interval", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {10, 20000, 150}, {150} },
+	    {{10, 20000, 150}}, {150} },
 
 	{ "_arp_probe_count", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 20, 3}, {3} },
+	    {{0, 20, 3}}, {3} },
 
 	{ "_arp_fastprobe_count", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 20, 3}, {3} },
+	    {{0, 20, 3}}, {3} },
 
 	{ "_dad_announce_interval", MOD_PROTO_IPV4,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 3600000, 15000}, {15000} },
+	    {{0, 3600000, 15000}}, {15000} },
 
 	{ "_dad_announce_interval", MOD_PROTO_IPV6,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 3600000, 15000}, {15000} },
+	    {{0, 3600000, 15000}}, {15000} },
 
 	/* tunable - 70 */
 	/*
@@ -813,35 +814,35 @@
 	 */
 	{ "_arp_defend_interval", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 3600000, 300000}, {300000} },
+	    {{0, 3600000, 300000}}, {300000} },
 
 	{ "_arp_defend_rate", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 20000, 100}, {100} },
+	    {{0, 20000, 100}}, {100} },
 
 	{ "_ndp_defend_interval", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 3600000, 300000}, {300000} },
+	    {{0, 3600000, 300000}}, {300000} },
 
 	{ "_ndp_defend_rate", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {0, 20000, 100}, {100} },
+	    {{0, 20000, 100}}, {100} },
 
 	{ "_arp_defend_period", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {5, 86400, 3600}, {3600} },
+	    {{5, 86400, 3600}}, {3600} },
 
 	{ "_ndp_defend_period", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {5, 86400, 3600}, {3600} },
+	    {{5, 86400, 3600}}, {3600} },
 
 	{ "_icmp_return_pmtu", MOD_PROTO_IPV4,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE}, {B_TRUE} },
+	    {.mpi_bval = B_TRUE}, {B_TRUE} },
 
 	{ "_icmp_return_pmtu", MOD_PROTO_IPV6,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_TRUE}, {B_TRUE} },
+	    {.mpi_bval = B_TRUE}, {B_TRUE} },
 
 	/*
 	 * publish count/interval values used to announce local addresses
@@ -849,11 +850,11 @@
 	 */
 	{ "_arp_publish_count", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {1, 20, 5}, {5} },
+	    {{1, 20, 5}}, {5} },
 
 	{ "_arp_publish_interval", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {1000, 20000, 2000}, {2000} },
+	    {{1000, 20000, 2000}}, {2000} },
 
 	/* tunable - 80 */
 	/*
@@ -897,27 +898,27 @@
 	 */
 	{ "_strict_src_multihoming", MOD_PROTO_IPV4,
 	    ip_set_src_multihoming, mod_get_uint32,
-	    {0, 2, 0}, {0} },
+	    {{0, 2, 0}}, {0} },
 
 	{ "_strict_src_multihoming", MOD_PROTO_IPV6,
 	    ip_set_src_multihoming, mod_get_uint32,
-	    {0, 2, 0}, {0} },
+	    {{0, 2, 0}}, {0} },
 
 #ifdef DEBUG
 	{ "_drop_inbound_icmpv6", MOD_PROTO_IPV6,
 	    mod_set_boolean, mod_get_boolean,
-	    {B_FALSE}, {B_FALSE} },
+	    {.mpi_bval = B_FALSE}, {B_FALSE} },
 #else
-	{ "", 0, NULL, NULL, {0}, {0} },
+	{ "", 0, NULL, NULL, {{0}}, {0} },
 #endif
 
 	{ "_dce_reclaim_threshold", MOD_PROTO_IP,
 	    mod_set_uint32, mod_get_uint32,
-	    {1, 100000, 32}, {32} },
+	    {{1, 100000, 32}}, {32} },
 
-	{ "mtu", MOD_PROTO_IPV4, NULL, ip_get_mtu, {0}, {0} },
+	{ "mtu", MOD_PROTO_IPV4, NULL, ip_get_mtu, {{0}}, {0} },
 
-	{ "mtu", MOD_PROTO_IPV6, NULL, ip_get_mtu, {0}, {0} },
+	{ "mtu", MOD_PROTO_IPV6, NULL, ip_get_mtu, {{0}}, {0} },
 
 	/*
 	 * The following entry is a placeholder for `ip_debug' global
@@ -926,17 +927,17 @@
 	 */
 	{ "_debug", MOD_PROTO_IP,
 	    ip_set_debug, ip_get_debug,
-	    {0, 20, 0}, {0} },
+	    {{0, 20, 0}}, {0} },
 
 	{ "hostmodel", MOD_PROTO_IPV4, ip_set_hostmodel, ip_get_hostmodel,
-	    {IP_WEAK_ES, IP_STRONG_ES, IP_WEAK_ES}, {IP_WEAK_ES} },
+	    {{IP_WEAK_ES, IP_STRONG_ES, IP_WEAK_ES}}, {IP_WEAK_ES} },
 
 	{ "hostmodel", MOD_PROTO_IPV6, ip_set_hostmodel, ip_get_hostmodel,
-	    {IP_WEAK_ES, IP_STRONG_ES, IP_WEAK_ES}, {IP_WEAK_ES} },
+	    {{IP_WEAK_ES, IP_STRONG_ES, IP_WEAK_ES}}, {IP_WEAK_ES} },
 
-	{ "?", MOD_PROTO_IP, NULL, mod_get_allprop, {0}, {0} },
+	{ "?", MOD_PROTO_IP, NULL, mod_get_allprop, {{0}}, {0} },
 
-	{ NULL, 0, NULL, NULL, {0}, {0} }
+	{ NULL, 0, NULL, NULL, {{0}}, {0} }
 };
 
 int ip_propinfo_count = A_CNT(ip_propinfo_tbl);
