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>

@@ -19,10 +19,11 @@
  * CDDL HEADER END
  */
 /*
  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1990 Mentat Inc.
+ * Copyright (c) 2013 by Delphix. All rights reserved.
  */
 
 #ifndef _INET_TUNABLES_H
 #define _INET_TUNABLES_H
 

@@ -86,14 +87,14 @@
 #ifdef  _KERNEL
 
 typedef struct mod_prop_info_s mod_prop_info_t;
 
 /* set/get property callback functions */
-typedef int     mod_prop_setf_t(void *, cred_t *, mod_prop_info_t *,
+typedef int     mod_prop_setf_t(netstack_t *, cred_t *, mod_prop_info_t *,
                     const char *, const void *, uint_t);
-typedef int     mod_prop_getf_t(void *, mod_prop_info_t *, const char *,
-                    void *val, uint_t, uint_t);
+typedef int     mod_prop_getf_t(netstack_t *, mod_prop_info_t *, const char *,
+                    void *, uint_t, uint_t);
 
 typedef struct mod_propval_uint32_s {
         uint32_t        mod_propval_umin;
         uint32_t        mod_propval_umax;
         uint32_t        mod_propval_ucur;

@@ -147,19 +148,27 @@
 
 /* extra privilege ports for upper layer protocols, tcp, sctp and udp */
 #define ULP_DEF_EPRIV_PORT1     2049
 #define ULP_DEF_EPRIV_PORT2     4045
 
+#define ULP_MAX_BUF     (1<<30) /* Largest possible send/receive buffer */
+
 /* generic function to set/get global module properties */
 extern mod_prop_setf_t  mod_set_boolean, mod_set_uint32,
                         mod_set_aligned, mod_set_extra_privports;
 
 extern mod_prop_getf_t  mod_get_boolean, mod_get_uint32,
                         mod_get_allprop, mod_get_extra_privports;
 
-extern int mod_uint32_value(const void *, mod_prop_info_t *, uint_t,
-    unsigned long *);
+extern int              mod_uint32_value(const void *, mod_prop_info_t *,
+    uint_t, unsigned long *);
+extern mod_prop_info_t  *mod_prop_lookup(mod_prop_info_t[], const char *,
+    uint_t);
+extern int              mod_set_buf_prop(mod_prop_info_t[], netstack_t *,
+    cred_t *cr, mod_prop_info_t *, const char *, const void *, uint_t);
+extern int              mod_get_buf_prop(mod_prop_info_t[], netstack_t *,
+    mod_prop_info_t *, const char *, void *, uint_t, uint_t);
 
 #endif  /* _KERNEL */
 
 /*
  * End-system model definitions that include the weak/strong end-system