Lines Matching defs:xnbp

90 xnbo_to_mac(xnb_t *xnbp, mblk_t *mp)
92 xnbo_t *xnbop = xnbp->xnb_flavour_data;
97 xnbp->xnb_stat_tx_too_early++;
103 xnbp->xnb_stat_mac_full++;
117 xnbo_cksum_from_peer(xnb_t *xnbp, mblk_t *mp, uint16_t flags)
119 xnbo_t *xnbop = xnbp->xnb_flavour_data;
137 mp = xnb_process_cksum_flags(xnbp, mp, capab);
148 xnbo_cksum_to_peer(xnb_t *xnbp, mblk_t *mp)
150 _NOTE(ARGUNUSED(xnbp));
198 xnb_t *xnbp = arg;
200 mp = xnb_copy_to_peer(xnbp, mp);
216 xnb_t *xnbp = arg;
217 xnbo_t *xnbop = xnbp->xnb_flavour_data;
246 if (bcmp(hdr_info.mhi_daddr, xnbp->xnb_mac_addr,
247 sizeof (xnbp->xnb_mac_addr)) == 0) {
257 xnbo_from_mac(xnbp, mrh, keep_head, B_FALSE);
264 xnbo_open_mac(xnb_t *xnbp, char *mac)
266 xnbo_t *xnbop = xnbp->xnb_flavour_data;
287 i_xnbo_close_mac(xnbp, B_TRUE);
294 i_xnbo_close_mac(xnbp, B_TRUE);
302 i_xnbo_close_mac(xnbp, B_TRUE);
320 i_xnbo_close_mac(xnbp, B_TRUE);
331 xnbp);
335 i_xnbo_close_mac(xnbp, B_TRUE);
340 rx_fn, xnbp, &xnbop->o_mphp, MAC_PROMISC_FLAGS_NO_TX_LOOP |
346 i_xnbo_close_mac(xnbp, B_TRUE);
353 err = mac_unicast_primary_set(xnbop->o_mh, xnbp->xnb_mac_addr);
356 bcopy(xnbp->xnb_mac_addr, ea.ether_addr_octet,
374 xnbo_close_mac(xnb_t *xnbp)
376 i_xnbo_close_mac(xnbp, B_FALSE);
380 i_xnbo_close_mac(xnb_t *xnbp, boolean_t locked)
382 xnbo_t *xnbop = xnbp->xnb_flavour_data;
385 ASSERT(!locked || MUTEX_HELD(&xnbp->xnb_state_lock));
394 mutex_enter(&xnbp->xnb_state_lock);
398 mutex_exit(&xnbp->xnb_state_lock);
405 (void *), xnbp,
443 xnbo_start_connect(xnb_t *xnbp)
445 xnbo_t *xnbop = xnbp->xnb_flavour_data;
447 return (xnbo_open_mac(xnbp, xnbop->o_link_name));
457 xnbo_peer_connected(xnb_t *xnbp)
461 xnbo_t *xnbop = xnbp->xnb_flavour_data;
463 oename = xvdi_get_oename(xnbp->xnb_devinfo);
478 xnbo_peer_disconnected(xnb_t *xnbp)
480 xnbo_close_mac(xnbp);
489 xnbo_hotplug_connected(xnb_t *xnbp)
492 xnbo_t *xnbop = xnbp->xnb_flavour_data;
495 xsname = xvdi_get_xsname(xnbp->xnb_devinfo);
522 xnbo_mcast_find(xnb_t *xnbp, ether_addr_t *addr, boolean_t remove)
524 xnbo_t *xnbop = xnbp->xnb_flavour_data;
527 ASSERT(MUTEX_HELD(&xnbp->xnb_state_lock));
556 (void *), xnbp,
569 xnbo_mcast_add(xnb_t *xnbp, ether_addr_t *addr)
571 xnbo_t *xnbop = xnbp->xnb_flavour_data;
576 mutex_enter(&xnbp->xnb_state_lock);
578 if (xnbo_mcast_find(xnbp, addr, B_FALSE)) {
586 (void *), xnbp,
598 mutex_exit(&xnbp->xnb_state_lock);
607 xnbo_mcast_del(xnb_t *xnbp, ether_addr_t *addr)
611 mutex_enter(&xnbp->xnb_state_lock);
612 r = xnbo_mcast_find(xnbp, addr, B_TRUE);
613 mutex_exit(&xnbp->xnb_state_lock);
651 xnb_t *xnbp = ddi_get_driver_private(dip);
652 xnbo_t *xnbop = xnbp->xnb_flavour_data;
663 mutex_enter(&xnbp->xnb_tx_lock);
664 mutex_enter(&xnbp->xnb_rx_lock);
666 if (!xnbp->xnb_detachable || xnbp->xnb_connected ||
667 (xnbp->xnb_tx_buf_count > 0)) {
668 mutex_exit(&xnbp->xnb_rx_lock);
669 mutex_exit(&xnbp->xnb_tx_lock);
674 mutex_exit(&xnbp->xnb_rx_lock);
675 mutex_exit(&xnbp->xnb_tx_lock);
677 xnbo_close_mac(xnbp);