Print this page
3942 inject sanity into ipadm tcp buffer size properties
3943 _snd_lowat_fraction tcp tunable has no effect
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Peng Dai <peng.dai@delphix.com>
*** 18,27 ****
--- 18,28 ----
*
* CDDL HEADER END
*/
/*
* Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013 by Delphix. All rights reserved.
*/
/* Copyright (c) 1990 Mentat Inc. */
#include <sys/types.h>
#include <sys/stream.h>
*** 90,100 ****
* Plumbing notes:
* ICMP is always a device driver. For compatibility with mibopen() code
* it is possible to I_PUSH "icmp", but that results in pushing a passthrough
* dummy module.
*/
-
static void icmp_addr_req(queue_t *q, mblk_t *mp);
static void icmp_tpi_bind(queue_t *q, mblk_t *mp);
static void icmp_bind_proto(icmp_t *icmp);
static int icmp_build_hdr_template(conn_t *, const in6_addr_t *,
const in6_addr_t *, uint32_t);
--- 91,100 ----
*** 211,220 ****
--- 211,236 ----
T_CLTS, /* SERV_type. icmp supports connection-less. */
TS_UNBND, /* CURRENT_state. This is set from icmp_state. */
(XPG4_1|SENDZERO) /* PROVIDER_flag */
};
+ static int
+ icmp_set_buf_prop(netstack_t *stack, cred_t *cr, mod_prop_info_t *pinfo,
+ const char *ifname, const void *pval, uint_t flags)
+ {
+ return (mod_set_buf_prop(stack->netstack_icmp->is_propinfo_tbl,
+ stack, cr, pinfo, ifname, pval, flags));
+ }
+
+ static int
+ icmp_get_buf_prop(netstack_t *stack, mod_prop_info_t *pinfo, const char *ifname,
+ void *val, uint_t psize, uint_t flags)
+ {
+ return (mod_get_buf_prop(stack->netstack_icmp->is_propinfo_tbl, stack,
+ pinfo, ifname, val, psize, flags));
+ }
+
/*
* All of these are alterable, within the min/max values given, at run time.
*
* Note: All those tunables which do not start with "icmp_" are Committed and
* therefore are public. See PSARC 2010/080.
*** 236,260 ****
{ "_bsd_compat", MOD_PROTO_RAWIP,
mod_set_boolean, mod_get_boolean,
{B_TRUE}, {B_TRUE} },
! { "send_maxbuf", MOD_PROTO_RAWIP,
! mod_set_uint32, mod_get_uint32,
{4096, 65536, 8192}, {8192} },
{ "_xmit_lowat", MOD_PROTO_RAWIP,
mod_set_uint32, mod_get_uint32,
{0, 65536, 1024}, {1024} },
! { "recv_maxbuf", MOD_PROTO_RAWIP,
! mod_set_uint32, mod_get_uint32,
{4096, 65536, 8192}, {8192} },
! { "_max_buf", MOD_PROTO_RAWIP,
mod_set_uint32, mod_get_uint32,
! {65536, 1024*1024*1024, 256*1024}, {256 * 1024} },
{ "_pmtu_discovery", MOD_PROTO_RAWIP,
mod_set_boolean, mod_get_boolean,
{B_FALSE}, {B_FALSE} },
--- 252,276 ----
{ "_bsd_compat", MOD_PROTO_RAWIP,
mod_set_boolean, mod_get_boolean,
{B_TRUE}, {B_TRUE} },
! { "send_buf", MOD_PROTO_RAWIP,
! icmp_set_buf_prop, icmp_get_buf_prop,
{4096, 65536, 8192}, {8192} },
{ "_xmit_lowat", MOD_PROTO_RAWIP,
mod_set_uint32, mod_get_uint32,
{0, 65536, 1024}, {1024} },
! { "recv_buf", MOD_PROTO_RAWIP,
! icmp_set_buf_prop, icmp_get_buf_prop,
{4096, 65536, 8192}, {8192} },
! { "max_buf", MOD_PROTO_RAWIP,
mod_set_uint32, mod_get_uint32,
! {65536, ULP_MAX_BUF, 256*1024}, {256*1024} },
{ "_pmtu_discovery", MOD_PROTO_RAWIP,
mod_set_boolean, mod_get_boolean,
{B_FALSE}, {B_FALSE} },