Print this page
More stats to SIOCIPFCFWCFG and add SIOCIPFCFWNEWSZ to affect ring-buffer size.

@@ -739,10 +739,13 @@
                                 goto attach_failed;
                 }
 
                 ipf_dev_info = dip;
 
+                if (ipf_cfw_ring_resize(IPF_CFW_RING_ALLOCATE) != 0)
+                        goto attach_failed;
+
                 ipfncb = net_instance_alloc(NETINFO_VERSION);
                 if (ipfncb == NULL)
                         goto attach_failed;
 
                 ipfncb->nin_name = "ipf";

@@ -766,10 +769,11 @@
         default:
                 break;
         }
 
 attach_failed:
+        (void) ipf_cfw_ring_resize(IPF_CFW_RING_DESTROY);
         ddi_remove_minor_node(dip, NULL);
         ddi_prop_remove_all(dip);
         ddi_soft_state_fini(&ipf_state);
         return (DDI_FAILURE);
 }

@@ -793,10 +797,11 @@
                  * Undo what we did in ipf_attach, freeing resources
                  * and removing things we installed.  The system
                  * framework guarantees we are not active with this devinfo
                  * node in any other entry points at this time.
                  */
+                (void) ipf_cfw_ring_resize(IPF_CFW_RING_DESTROY);
                 ddi_prop_remove_all(dip);
                 i = ddi_get_instance(dip);
                 ddi_remove_minor_node(dip, NULL);
                 if (i > 0) {
                         cmn_err(CE_CONT, "IP Filter: still attached (%d)\n", i);