186 NULL, /* qi_qclose */
187 NULL, /* qi_qadmin */
188 &ipnet_minfo, /* qi_minfo */
189 };
190
191 static struct streamtab ipnet_info = {
192 &ipnet_rinit, &ipnet_winit
193 };
194
195 DDI_DEFINE_STREAM_OPS(ipnet_ops, nulldev, nulldev, ipnet_attach,
196 ipnet_detach, nodev, ipnet_devinfo, D_MP | D_MTPERMOD, &ipnet_info,
197 ddi_quiesce_not_supported);
198
199 static struct modldrv modldrv = {
200 &mod_driverops,
201 "STREAMS ipnet driver",
202 &ipnet_ops
203 };
204
205 static struct modlinkage modlinkage = {
206 MODREV_1, &modldrv, NULL
207 };
208
209 /*
210 * This structure contains the template data (names and type) that is
211 * copied, in bulk, into the new kstats structure created by net_kstat_create.
212 * No actual statistical information is stored in this instance of the
213 * ipnet_kstats_t structure.
214 */
215 static ipnet_kstats_t stats_template = {
216 { "duplicationFail", KSTAT_DATA_UINT64 },
217 { "dispatchOk", KSTAT_DATA_UINT64 },
218 { "dispatchFail", KSTAT_DATA_UINT64 },
219 { "dispatchHeaderDrop", KSTAT_DATA_UINT64 },
220 { "dispatchDupDrop", KSTAT_DATA_UINT64 },
221 { "dispatchDeliver", KSTAT_DATA_UINT64 },
222 { "acceptOk", KSTAT_DATA_UINT64 },
223 { "acceptFail", KSTAT_DATA_UINT64 }
224 };
225
226 /*
|
186 NULL, /* qi_qclose */
187 NULL, /* qi_qadmin */
188 &ipnet_minfo, /* qi_minfo */
189 };
190
191 static struct streamtab ipnet_info = {
192 &ipnet_rinit, &ipnet_winit
193 };
194
195 DDI_DEFINE_STREAM_OPS(ipnet_ops, nulldev, nulldev, ipnet_attach,
196 ipnet_detach, nodev, ipnet_devinfo, D_MP | D_MTPERMOD, &ipnet_info,
197 ddi_quiesce_not_supported);
198
199 static struct modldrv modldrv = {
200 &mod_driverops,
201 "STREAMS ipnet driver",
202 &ipnet_ops
203 };
204
205 static struct modlinkage modlinkage = {
206 MODREV_1, { &modldrv, NULL }
207 };
208
209 /*
210 * This structure contains the template data (names and type) that is
211 * copied, in bulk, into the new kstats structure created by net_kstat_create.
212 * No actual statistical information is stored in this instance of the
213 * ipnet_kstats_t structure.
214 */
215 static ipnet_kstats_t stats_template = {
216 { "duplicationFail", KSTAT_DATA_UINT64 },
217 { "dispatchOk", KSTAT_DATA_UINT64 },
218 { "dispatchFail", KSTAT_DATA_UINT64 },
219 { "dispatchHeaderDrop", KSTAT_DATA_UINT64 },
220 { "dispatchDupDrop", KSTAT_DATA_UINT64 },
221 { "dispatchDeliver", KSTAT_DATA_UINT64 },
222 { "acceptOk", KSTAT_DATA_UINT64 },
223 { "acceptFail", KSTAT_DATA_UINT64 }
224 };
225
226 /*
|