dld_str_t
proto_udqos_req(dld_str_t *dsp, mblk_t *mp)
proto_capability_req(dld_str_t *dsp, mblk_t *mp)
proto_notify_req(dld_str_t *dsp, mblk_t *mp)
proto_unitdata_req(dld_str_t *dsp, mblk_t *mp)
proto_passive_req(dld_str_t *dsp, mblk_t *mp)
proto_req(dld_str_t *dsp, mblk_t *mp)
dld_capab_perim(dld_str_t *dsp, void *data, uint_t flags)
dld_capab_direct(dld_str_t *dsp, void *data, uint_t flags)
dld_capab_poll_enable(dld_str_t *dsp, dld_capab_poll_t *poll)
proto_info_req(dld_str_t *dsp, mblk_t *mp)
dld_capab_poll_disable(dld_str_t *dsp, dld_capab_poll_t *poll)
dld_capab_poll(dld_str_t *dsp, void *data, uint_t flags)
dld_capab_lso(dld_str_t *dsp, void *data, uint_t flags)
dld_capab(dld_str_t *dsp, uint_t type, void *data, uint_t flags)
proto_capability_advertise(dld_str_t *dsp, mblk_t *mp)
dld_capabilities_disable(dld_str_t *dsp)
proto_attach_req(dld_str_t *dsp, mblk_t *mp)
proto_detach_req(dld_str_t *dsp, mblk_t *mp)
typedef void proto_reqfunc_t(dld_str_t *, mblk_t *);
proto_bind_req(dld_str_t *dsp, mblk_t *mp)
static void proto_capability_advertise(dld_str_t *, mblk_t *);
static int dld_capab_poll_disable(dld_str_t *, dld_capab_poll_t *);
proto_unbind_req(dld_str_t *dsp, mblk_t *mp)
proto_promiscon_req(dld_str_t *dsp, mblk_t *mp)
proto_promiscoff_req(dld_str_t *dsp, mblk_t *mp)
dld_proto(dld_str_t *dsp, mblk_t *mp)
proto_enabmulti_req(dld_str_t *dsp, mblk_t *mp)
proto_disabmulti_req(dld_str_t *dsp, mblk_t *mp)
proto_physaddr_req(dld_str_t *dsp, mblk_t *mp)
proto_setphysaddr_req(dld_str_t *dsp, mblk_t *mp)
dld_str_attach(dld_str_t *dsp, t_uscalar_t ppa)
dld_str_detach(dld_str_t *dsp)
dld_str_t *dsp = (dld_str_t *)arg;
dld_str_t *dsp = (dld_str_t *)arg;
dld_str_t *dsp = (dld_str_t *)arg;
str_notify_sdu_size(dld_str_t *dsp, uint_t max_sdu, uint_t multicast_sdu)
dld_str_t *dsp = (dld_str_t *)val;
dld_str_notify_ind(dld_str_t *dsp)
str_unitdata_ind(dld_str_t *dsp, mblk_t *mp, boolean_t strip_vlan)
str_notify_promisc_on_phys(dld_str_t *dsp)
str_notify_promisc_off_phys(dld_str_t *dsp)
str_notify_phys_addr(dld_str_t *dsp, uint_t addr_type, const uint8_t *addr)
str_notify_link_up(dld_str_t *dsp)
str_notify_link_down(dld_str_t *dsp)
str_notify_speed(dld_str_t *dsp, uint32_t speed)
str_notify_capab_reneg(dld_str_t *dsp)
str_notify_fastpath_flush(dld_str_t *dsp)
str_notify_allowed_ips(dld_str_t *dsp)
dld_str_t *dsp = (dld_str_t *)arg;
dld_str_t *dsp = arg;
dld_str_t *dsp;
dld_wput_nondata(dld_str_t *dsp, mblk_t *mp)
dld_ioc(dld_str_t *dsp, mblk_t *mp)
ioc_native(dld_str_t *dsp, mblk_t *mp)
ioc_margin(dld_str_t *dsp, mblk_t *mp)
ioc_raw(dld_str_t *dsp, mblk_t *mp)
ioc_fast(dld_str_t *dsp, mblk_t *mp)
ioc_lowlink(dld_str_t *dsp, mblk_t *mp)
ioc(dld_str_t *dsp, mblk_t *mp)
return (((dld_str_t *)(q->q_ptr))->ds_private);
dld_str_t *dsp;
dld_str_t *dsp = rq->q_ptr;
dld_str_t *dsp = (dld_str_t *)wq->q_ptr;
static mblk_t *str_unitdata_ind(dld_str_t *, mblk_t *, boolean_t);
static void str_notify_promisc_on_phys(dld_str_t *);
static void str_notify_promisc_off_phys(dld_str_t *);
static void str_notify_phys_addr(dld_str_t *, uint_t, const uint8_t *);
dld_str_t *dsp = wq->q_ptr;
static void str_notify_link_up(dld_str_t *);
static void str_notify_link_down(dld_str_t *);
static void str_notify_capab_reneg(dld_str_t *);
static void str_notify_speed(dld_str_t *, uint32_t);
static void ioc_native(dld_str_t *, mblk_t *);
static void ioc_margin(dld_str_t *, mblk_t *);
str_cachep = kmem_cache_create("dld_str_cache", sizeof (dld_str_t),
static void ioc_raw(dld_str_t *, mblk_t *);
static void ioc_fast(dld_str_t *, mblk_t *);
list_create(&dld_taskq_list, sizeof (dld_str_t),
offsetof(dld_str_t, ds_tqlist));
static void ioc_lowlink(dld_str_t *, mblk_t *);
static void ioc(dld_str_t *, mblk_t *);
static void dld_ioc(dld_str_t *, mblk_t *);
static void dld_wput_nondata(dld_str_t *, mblk_t *);
dld_str_t *
dld_str_t *dsp;
static void str_mdata_raw_put(dld_str_t *, mblk_t *);
dld_str_destroy(dld_str_t *dsp)
ASSERT(dsp == (dld_str_t *)val);
dld_str_t *dsp = buf;
bzero(buf, sizeof (dld_str_t));
dld_str_t *dsp = buf;
str_mdata_fastpath_put(dld_str_t *dsp, mblk_t *mp, uintptr_t f_hint,
str_mdata_raw_put(dld_str_t *dsp, mblk_t *mp)
dls_bind(dld_str_t *dsp, uint32_t sap)
dls_unbind(dld_str_t *dsp)
dls_promisc(dld_str_t *dsp, uint32_t new_flags)
dls_multicst_add(dld_str_t *dsp, const uint8_t *addr)
dls_multicst_remove(dld_str_t *dsp, const uint8_t *addr)
dls_open(dls_link_t *dlp, dls_dl_handle_t ddh, dld_str_t *dsp)
dls_header(dld_str_t *dsp, const uint8_t *addr, uint16_t sap, uint_t pri,
dls_rx_set(dld_str_t *dsp, dls_rx_t rx, void *arg)
dls_accept_common(dld_str_t *dsp, mac_header_info_t *mhip, dls_rx_t *ds_rx,
dls_accept(dld_str_t *dsp, mac_header_info_t *mhip, dls_rx_t *ds_rx,
dls_accept_promisc(dld_str_t *dsp, mac_header_info_t *mhip, dls_rx_t *ds_rx,
dls_active_set(dld_str_t *dsp)
dls_active_clear(dld_str_t *dsp, boolean_t all)
dls_close(dld_str_t *dsp)
dld_str_t *p;
dls_link_remove(dls_link_t *dlp, dld_str_t *dsp)
dld_str_t **pp;
dld_str_t *p;
dld_str_t *dsp;
dld_str_t *dsp;
dld_str_t *ndsp;
dld_str_t *dsp = arg;
dld_str_t *dsp = arg;
dls_link_add(dls_link_t *dlp, uint32_t sap, dld_str_t *dsp)
dld_str_t *ds_next; /* SL */
extern dld_str_t *dld_str_create(queue_t *, uint_t, major_t,
extern void dld_str_destroy(dld_str_t *);
extern int dld_str_attach(dld_str_t *, t_uscalar_t);
extern void dld_str_detach(dld_str_t *);
extern void dld_str_notify_ind(dld_str_t *);
extern mac_tx_cookie_t str_mdata_fastpath_put(dld_str_t *, mblk_t *,
extern int dld_flow_ctl_callb(dld_str_t *, uint64_t,
extern void dld_proto(dld_str_t *, mblk_t *);
extern void dld_proto_unitdata_req(dld_str_t *, mblk_t *);
extern void dld_capabilities_disable(dld_str_t *);
extern void proto_unitdata_req(dld_str_t *, mblk_t *);
extern int dls_multicst_add(dld_str_t *, const uint8_t *);
extern int dls_multicst_remove(dld_str_t *, const uint8_t *);
extern mblk_t *dls_header(dld_str_t *, const uint8_t *,
extern void dls_rx_set(dld_str_t *, dls_rx_t, void *);
extern dld_str_t *dls_rx_get(char *, flow_desc_t *, size_t *);
extern int dls_open(dls_link_t *, dls_dl_handle_t, dld_str_t *);
extern void dls_close(dld_str_t *);
extern int dls_bind(dld_str_t *, uint32_t);
extern void dls_unbind(dld_str_t *);
extern int dls_promisc(dld_str_t *, uint32_t);
extern boolean_t dls_accept(dld_str_t *, mac_header_info_t *,
extern boolean_t dls_accept_loopback(dld_str_t *, mac_header_info_t *,
extern boolean_t dls_accept_promisc(dld_str_t *, mac_header_info_t *,
extern int dls_active_set(dld_str_t *);
extern void dls_active_clear(dld_str_t *, boolean_t);
extern void dls_link_add(dls_link_t *, uint32_t, dld_str_t *);
extern void dls_link_remove(dls_link_t *, dld_str_t *);
extern void dls_create_str_kstats(dld_str_t *);