Lines Matching refs:einit

141 	struct ifnet_init_eparams einit;  in ifnet_allocate_common()  local
143 bzero(&einit, sizeof(einit)); in ifnet_allocate_common()
145 einit.ver = IFNET_INIT_CURRENT_VERSION; in ifnet_allocate_common()
146 einit.len = sizeof(einit); in ifnet_allocate_common()
147 einit.flags = IFNET_INIT_LEGACY | IFNET_INIT_NX_NOAUTO; in ifnet_allocate_common()
149 einit.flags |= IFNET_INIT_ALLOC_KPI; in ifnet_allocate_common()
151 einit.uniqueid = init->uniqueid; in ifnet_allocate_common()
152 einit.uniqueid_len = init->uniqueid_len; in ifnet_allocate_common()
153 einit.name = init->name; in ifnet_allocate_common()
154 einit.unit = init->unit; in ifnet_allocate_common()
155 einit.family = init->family; in ifnet_allocate_common()
156 einit.type = init->type; in ifnet_allocate_common()
157 einit.output = init->output; in ifnet_allocate_common()
158 einit.demux = init->demux; in ifnet_allocate_common()
159 einit.add_proto = init->add_proto; in ifnet_allocate_common()
160 einit.del_proto = init->del_proto; in ifnet_allocate_common()
161 einit.check_multi = init->check_multi; in ifnet_allocate_common()
162 einit.framer = init->framer; in ifnet_allocate_common()
163 einit.softc = init->softc; in ifnet_allocate_common()
164 einit.ioctl = init->ioctl; in ifnet_allocate_common()
165 einit.set_bpf_tap = init->set_bpf_tap; in ifnet_allocate_common()
166 einit.detach = init->detach; in ifnet_allocate_common()
167 einit.event = init->event; in ifnet_allocate_common()
168 einit.broadcast_addr = init->broadcast_addr; in ifnet_allocate_common()
169 einit.broadcast_len = init->broadcast_len; in ifnet_allocate_common()
171 return ifnet_allocate_extended(&einit, ifp); in ifnet_allocate_common()
211 struct ifnet_init_eparams einit; in ifnet_allocate_extended() local
216 einit = *einit0; in ifnet_allocate_extended()
218 if (einit.ver != IFNET_INIT_CURRENT_VERSION || in ifnet_allocate_extended()
219 einit.len < sizeof(einit)) { in ifnet_allocate_extended()
223 if (einit.family == 0 || einit.name == NULL || in ifnet_allocate_extended()
224 strlen(einit.name) >= IFNAMSIZ || in ifnet_allocate_extended()
225 (einit.type & 0xFFFFFF00) != 0 || einit.type == 0) { in ifnet_allocate_extended()
231 if ((einit.tx_headroom & 0x7) != 0) { in ifnet_allocate_extended()
234 if ((einit.flags & IFNET_INIT_SKYWALK_NATIVE) == 0) { in ifnet_allocate_extended()
239 if ((einit.flags & IFNET_INIT_IF_ADV) != 0) { in ifnet_allocate_extended()
245 if (einit.flags & IFNET_INIT_LEGACY) { in ifnet_allocate_extended()
247 if (einit.flags & IFNET_INIT_SKYWALK_NATIVE) { in ifnet_allocate_extended()
251 if (einit.output == NULL || in ifnet_allocate_extended()
252 (einit.flags & IFNET_INIT_INPUT_POLL)) { in ifnet_allocate_extended()
255 einit.pre_enqueue = NULL; in ifnet_allocate_extended()
256 einit.start = NULL; in ifnet_allocate_extended()
257 einit.output_ctl = NULL; in ifnet_allocate_extended()
258 einit.output_sched_model = IFNET_SCHED_MODEL_NORMAL; in ifnet_allocate_extended()
259 einit.input_poll = NULL; in ifnet_allocate_extended()
260 einit.input_ctl = NULL; in ifnet_allocate_extended()
269 if (einit.flags & IFNET_INIT_SKYWALK_NATIVE) { in ifnet_allocate_extended()
270 if (einit.start != NULL) { in ifnet_allocate_extended()
274 ostart = einit.start = ifp_if_start; in ifnet_allocate_extended()
276 ostart = einit.start; in ifnet_allocate_extended()
279 if (einit.start == NULL) { in ifnet_allocate_extended()
283 einit.output = NULL; in ifnet_allocate_extended()
284 if (einit.output_sched_model >= IFNET_SCHED_MODEL_MAX) { in ifnet_allocate_extended()
288 if (einit.flags & IFNET_INIT_INPUT_POLL) { in ifnet_allocate_extended()
289 if (einit.input_poll == NULL || einit.input_ctl == NULL) { in ifnet_allocate_extended()
293 einit.input_poll = NULL; in ifnet_allocate_extended()
294 einit.input_ctl = NULL; in ifnet_allocate_extended()
298 if (einit.type > UCHAR_MAX) { in ifnet_allocate_extended()
302 if (einit.unit > SHRT_MAX) { in ifnet_allocate_extended()
308 einit.name, einit.unit); in ifnet_allocate_extended()
310 if (einit.uniqueid == NULL) { in ifnet_allocate_extended()
311 einit.uniqueid_len = (uint32_t)strbuflen(if_xname); in ifnet_allocate_extended()
312 einit.uniqueid = if_xname; in ifnet_allocate_extended()
315 error = dlil_if_acquire(einit.family, einit.uniqueid, in ifnet_allocate_extended()
316 einit.uniqueid_len, in ifnet_allocate_extended()
328 const char *einit_name = __unsafe_forge_bidi_indexable(const char *, einit.name, IFNAMSIZ); in ifnet_allocate_extended()
330 ifp->if_type = (u_char)einit.type; in ifnet_allocate_extended()
331 ifp->if_family = einit.family; in ifnet_allocate_extended()
332 ifp->if_subfamily = einit.subfamily; in ifnet_allocate_extended()
333 ifp->if_unit = (short)einit.unit; in ifnet_allocate_extended()
334 ifp->if_output = einit.output; in ifnet_allocate_extended()
335 ifp->if_pre_enqueue = einit.pre_enqueue; in ifnet_allocate_extended()
336 ifp->if_start = einit.start; in ifnet_allocate_extended()
337 ifp->if_output_ctl = einit.output_ctl; in ifnet_allocate_extended()
338 ifp->if_output_sched_model = einit.output_sched_model; in ifnet_allocate_extended()
339 ifp->if_output_bw.eff_bw = einit.output_bw; in ifnet_allocate_extended()
340 ifp->if_output_bw.max_bw = einit.output_bw_max; in ifnet_allocate_extended()
341 ifp->if_output_lt.eff_lt = einit.output_lt; in ifnet_allocate_extended()
342 ifp->if_output_lt.max_lt = einit.output_lt_max; in ifnet_allocate_extended()
343 ifp->if_input_poll = einit.input_poll; in ifnet_allocate_extended()
344 ifp->if_input_ctl = einit.input_ctl; in ifnet_allocate_extended()
345 ifp->if_input_bw.eff_bw = einit.input_bw; in ifnet_allocate_extended()
346 ifp->if_input_bw.max_bw = einit.input_bw_max; in ifnet_allocate_extended()
347 ifp->if_input_lt.eff_lt = einit.input_lt; in ifnet_allocate_extended()
348 ifp->if_input_lt.max_lt = einit.input_lt_max; in ifnet_allocate_extended()
349 ifp->if_demux = einit.demux; in ifnet_allocate_extended()
350 ifp->if_add_proto = einit.add_proto; in ifnet_allocate_extended()
351 ifp->if_del_proto = einit.del_proto; in ifnet_allocate_extended()
352 ifp->if_check_multi = einit.check_multi; in ifnet_allocate_extended()
353 ifp->if_framer_legacy = einit.framer; in ifnet_allocate_extended()
354 ifp->if_framer = einit.framer_extended; in ifnet_allocate_extended()
355 ifp->if_softc = einit.softc; in ifnet_allocate_extended()
356 ifp->if_ioctl = einit.ioctl; in ifnet_allocate_extended()
357 ifp->if_set_bpf_tap = einit.set_bpf_tap; in ifnet_allocate_extended()
358 ifp->if_free = (einit.free != NULL) ? einit.free : ifnet_kpi_free; in ifnet_allocate_extended()
359 ifp->if_event = einit.event; in ifnet_allocate_extended()
360 ifp->if_detach = einit.detach; in ifnet_allocate_extended()
462 VERIFY(!(einit.flags & IFNET_INIT_LEGACY) || in ifnet_allocate_extended()
466 VERIFY(!(einit.flags & IFNET_INIT_INPUT_POLL) || in ifnet_allocate_extended()
469 ifnet_set_broadcast_addr(ifp, einit.broadcast_addr, in ifnet_allocate_extended()
470 einit.broadcast_len); in ifnet_allocate_extended()
478 if (einit.flags & IFNET_INIT_SKYWALK_NATIVE) { in ifnet_allocate_extended()
480 VERIFY(!(einit.flags & IFNET_INIT_LEGACY)); in ifnet_allocate_extended()
482 ifp->if_tx_headroom = einit.tx_headroom; in ifnet_allocate_extended()
483 ifp->if_tx_trailer = einit.tx_trailer; in ifnet_allocate_extended()
484 ifp->if_rx_mit_ival = einit.rx_mit_ival; in ifnet_allocate_extended()
499 einit.start_delay_qlen = sk_tx_delay_qlen; in ifnet_allocate_extended()
500 einit.start_delay_timeout = sk_tx_delay_timeout; in ifnet_allocate_extended()
510 einit.flags |= IFNET_INIT_NX_NOAUTO; in ifnet_allocate_extended()
516 if ((einit.flags & IFNET_INIT_NX_NOAUTO) != 0) { in ifnet_allocate_extended()
519 if ((einit.flags & IFNET_INIT_IF_ADV) != 0) { in ifnet_allocate_extended()
538 einit.output_target_qdelay * 1000 * 1000; in ifnet_allocate_extended()
539 IFCQ_MAXLEN(ifp->if_snd) = einit.sndq_maxlen; in ifnet_allocate_extended()
541 ifnet_enqueue_multi_setup(ifp, einit.start_delay_qlen, in ifnet_allocate_extended()
542 einit.start_delay_timeout); in ifnet_allocate_extended()
557 if ((einit.flags & IFNET_INIT_ALLOC_KPI) != 0) { in ifnet_allocate_extended()