- @struct ifnet_init_eparams
- @discussion This structure is used to define various properties of
- the interface when calling ifnet_allocate_extended. A copy of
- these values will be stored in the ifnet and cannot be modified
- while the interface is attached.
- @field ver The current structure version (IFNET_INIT_CURRENT_VERSION)
- @field len The length of this structure.
- @field flags See above values for flags.
- @field uniqueid An identifier unique to this instance of the
- interface.
- @field uniqueid_len The length, in bytes, of the uniqueid.
- @field name The interface name (i.e. en).
- @field unit The interface unit number (en0's unit number is 0).
- @field family The interface family.
- @field type The interface type (see sys/if_types.h). Must be less
- than 256. For new types, use IFT_OTHER.
- @field sndq_maxlen The maximum size of the output queue; valid only
- if IFNET_INIT_LEGACY is not set.
- @field output The output function for the interface. Every packet the
- stack attempts to send through this interface will go out
- through this function.
- @field pre_enqueue The pre_enqueue function for the interface, valid
- only if IFNET_INIT_LEGACY is not set, and optional if it is set.
- @field start The start function for the interface, valid and required
- only if IFNET_INIT_LEGACY is not set.
- @field output_ctl The output control function for the interface, valid
- only if IFNET_INIT_LEGACY is not set.
- @field output_sched_model The IFNET_SCHED_MODEL value for the output
- queue, as defined in net/if.h
- @field output_target_qdelay The target queue delay is used for
- dynamically sizing the output queue, valid only if
- IFNET_INIT_LEGACY is not set.
- @field output_bw The effective output bandwidth (in bits per second.)
- @field output_bw_max The maximum theoretical output bandwidth
- (in bits per second.)
- @field output_lt The effective output latency (in nanosecond.)
- @field output_lt_max The maximum theoretical output latency
- (in nanosecond.)
- @field start_delay_qlen The maximum length of output queue for
- delaying start callback to the driver. This is an
- optimization for coalescing output packets.
- @field start_delay_timeout The timeout in microseconds to delay
- start callback. If start_delay_qlen number of packets are
- not in the output queue when the timer fires, the start
- callback will be invoked. Maximum allowed value is
- 20ms (in microseconds).
- @field input_poll The poll function for the interface, valid only if
- IFNET_INIT_LEGACY is not set and only if IFNET_INIT_INPUT_POLL
- is set.
- @field input_ctl The input control function for the interface, valid
- only if IFNET_INIT_LEGACY is not set and only if opportunistic
- input polling is enabled via IFNET_INIT_INPUT_POLL flag.
- @field rcvq_maxlen The size of the driver's receive ring or the total
- count of descriptors used in the receive path; valid only if
- IFNET_INIT_INPUT_POLL is set.
- @field input_bw The effective input bandwidth (in bits per second.)
- @field input_bw_max The maximum theoretical input bandwidth
- (in bits per second.)
- @field input_lt The effective input latency (in nanosecond.)
- @field input_lt_max The maximum theoretical input latency
- (in nanosecond.)
- @field demux The function used to determine the protocol family of an
- incoming packet.
- @field add_proto The function used to attach a protocol to this
- interface.
- @field del_proto The function used to remove a protocol from this
- interface.
- @field framer The function used to frame outbound packets, may be NULL.
- @field framer_extended The function used to frame outbound packets,
- in the newer form; may be NULL. If specified, it will override
- the value set via framer.
- @field softc Driver specific storage. This value can be retrieved from
- the ifnet using the ifnet_softc function.
- @field ioctl The function used to handle ioctls.
- @field set_bpf_tap The function used to set the bpf_tap function.
- @field detach The function called to let the driver know the interface
- has been detached.
- @field event The function to notify the interface of various interface
- specific kernel events.
- @field broadcast_addr The link-layer broadcast address for this
- interface.
- @field broadcast_len The length of the link-layer broadcast address.
- @field tx_headroom The amount of headroom space to be reserved in the
- packet being transmitted on the interface, specified in bytes.
- Must be a multiple of 8 bytes.
- @field tx_trailer The amount of trailer space to be reserved in the
- packet being transmitted on the interface, specified in bytes.
- @field rx_mit_ival mitigation interval for the rx mitigation logic,
- specified in microseconds.
-*/
+ * @struct ifnet_init_eparams
+ * @discussion This structure is used to define various properties of
+ * the interface when calling ifnet_allocate_extended. A copy of
+ * these values will be stored in the ifnet and cannot be modified
+ * while the interface is attached.
+ * @field ver The current structure version (IFNET_INIT_CURRENT_VERSION)
+ * @field len The length of this structure.
+ * @field flags See above values for flags.
+ * @field uniqueid An identifier unique to this instance of the
+ * interface.
+ * @field uniqueid_len The length, in bytes, of the uniqueid.
+ * @field name The interface name (i.e. en).
+ * @field unit The interface unit number (en0's unit number is 0).
+ * @field family The interface family.
+ * @field type The interface type (see sys/if_types.h). Must be less
+ * than 256. For new types, use IFT_OTHER.
+ * @field sndq_maxlen The maximum size of the output queue; valid only
+ * if IFNET_INIT_LEGACY is not set.
+ * @field output The output function for the interface. Every packet the
+ * stack attempts to send through this interface will go out
+ * through this function.
+ * @field pre_enqueue The pre_enqueue function for the interface, valid
+ * only if IFNET_INIT_LEGACY is not set, and optional if it is set.
+ * @field start The start function for the interface, valid and required
+ * only if IFNET_INIT_LEGACY is not set.
+ * @field output_ctl The output control function for the interface, valid
+ * only if IFNET_INIT_LEGACY is not set.
+ * @field output_sched_model The IFNET_SCHED_MODEL value for the output
+ * queue, as defined in net/if.h
+ * @field output_target_qdelay The target queue delay is used for
+ * dynamically sizing the output queue, valid only if
+ * IFNET_INIT_LEGACY is not set.
+ * @field output_bw The effective output bandwidth (in bits per second.)
+ * @field output_bw_max The maximum theoretical output bandwidth
+ * (in bits per second.)
+ * @field output_lt The effective output latency (in nanosecond.)
+ * @field output_lt_max The maximum theoretical output latency
+ * (in nanosecond.)
+ * @field start_delay_qlen The maximum length of output queue for
+ * delaying start callback to the driver. This is an
+ * optimization for coalescing output packets.
+ * @field start_delay_timeout The timeout in microseconds to delay
+ * start callback. If start_delay_qlen number of packets are
+ * not in the output queue when the timer fires, the start
+ * callback will be invoked. Maximum allowed value is
+ * 20ms (in microseconds).
+ * @field input_poll The poll function for the interface, valid only if
+ * IFNET_INIT_LEGACY is not set and only if IFNET_INIT_INPUT_POLL
+ * is set.
+ * @field input_ctl The input control function for the interface, valid
+ * only if IFNET_INIT_LEGACY is not set and only if opportunistic
+ * input polling is enabled via IFNET_INIT_INPUT_POLL flag.
+ * @field rcvq_maxlen The size of the driver's receive ring or the total
+ * count of descriptors used in the receive path; valid only if
+ * IFNET_INIT_INPUT_POLL is set.
+ * @field input_bw The effective input bandwidth (in bits per second.)
+ * @field input_bw_max The maximum theoretical input bandwidth
+ * (in bits per second.)
+ * @field input_lt The effective input latency (in nanosecond.)
+ * @field input_lt_max The maximum theoretical input latency
+ * (in nanosecond.)
+ * @field demux The function used to determine the protocol family of an
+ * incoming packet.
+ * @field add_proto The function used to attach a protocol to this
+ * interface.
+ * @field del_proto The function used to remove a protocol from this
+ * interface.
+ * @field framer The function used to frame outbound packets, may be NULL.
+ * @field framer_extended The function used to frame outbound packets,
+ * in the newer form; may be NULL. If specified, it will override
+ * the value set via framer.
+ * @field softc Driver specific storage. This value can be retrieved from
+ * the ifnet using the ifnet_softc function.
+ * @field ioctl The function used to handle ioctls.
+ * @field set_bpf_tap The function used to set the bpf_tap function.
+ * @field detach The function called to let the driver know the interface
+ * has been detached.
+ * @field event The function to notify the interface of various interface
+ * specific kernel events.
+ * @field broadcast_addr The link-layer broadcast address for this
+ * interface.
+ * @field broadcast_len The length of the link-layer broadcast address.
+ * @field tx_headroom The amount of headroom space to be reserved in the
+ * packet being transmitted on the interface, specified in bytes.
+ * Must be a multiple of 8 bytes.
+ * @field tx_trailer The amount of trailer space to be reserved in the
+ * packet being transmitted on the interface, specified in bytes.
+ * @field rx_mit_ival mitigation interval for the rx mitigation logic,
+ * specified in microseconds.
+ */