Lines Matching refs:xnbop

92 	xnbo_t *xnbop = xnbp->xnb_flavour_data;  in xnbo_to_mac()  local
96 if (!xnbop->o_running) { in xnbo_to_mac()
101 if (mac_tx(xnbop->o_mch, mp, 0, in xnbo_to_mac()
119 xnbo_t *xnbop = xnbp->xnb_flavour_data; in xnbo_cksum_from_peer() local
124 uint32_t capab = xnbop->o_hcksum_capab; in xnbo_cksum_from_peer()
217 xnbo_t *xnbop = xnbp->xnb_flavour_data; in xnbo_from_mac_filter() local
235 if (mac_header_info(xnbop->o_mh, mp, &hdr_info) != 0) { in xnbo_from_mac_filter()
266 xnbo_t *xnbop = xnbp->xnb_flavour_data; in xnbo_open_mac() local
274 if ((err = mac_open_by_linkname(mac, &xnbop->o_mh)) != 0) { in xnbo_open_mac()
279 ASSERT(xnbop->o_mh != NULL); in xnbo_open_mac()
281 mi = mac_info(xnbop->o_mh); in xnbo_open_mac()
298 mac_sdu_get(xnbop->o_mh, NULL, &max_sdu); in xnbo_open_mac()
315 if (mac_client_open(xnbop->o_mh, &xnbop->o_mch, NULL, in xnbo_open_mac()
324 if (xnbop->o_need_rx_filter) in xnbo_open_mac()
329 err = mac_unicast_add_set_rx(xnbop->o_mch, NULL, MAC_UNICAST_PRIMARY, in xnbo_open_mac()
330 &xnbop->o_mah, 0, &diag, xnbop->o_multicast_control ? rx_fn : NULL, in xnbo_open_mac()
338 if (!xnbop->o_multicast_control) { in xnbo_open_mac()
339 err = mac_promisc_add(xnbop->o_mch, MAC_CLIENT_PROMISC_ALL, in xnbo_open_mac()
340 rx_fn, xnbp, &xnbop->o_mphp, MAC_PROMISC_FLAGS_NO_TX_LOOP | in xnbo_open_mac()
349 xnbop->o_promiscuous = B_TRUE; in xnbo_open_mac()
352 if (xnbop->o_need_setphysaddr) { in xnbo_open_mac()
353 err = mac_unicast_primary_set(xnbop->o_mh, xnbp->xnb_mac_addr); in xnbo_open_mac()
364 if (!mac_capab_get(xnbop->o_mh, MAC_CAPAB_HCKSUM, in xnbo_open_mac()
365 &xnbop->o_hcksum_capab)) in xnbo_open_mac()
366 xnbop->o_hcksum_capab = 0; in xnbo_open_mac()
368 xnbop->o_running = B_TRUE; in xnbo_open_mac()
382 xnbo_t *xnbop = xnbp->xnb_flavour_data; in i_xnbo_close_mac() local
387 if (xnbop->o_mh == NULL) in i_xnbo_close_mac()
390 if (xnbop->o_running) in i_xnbo_close_mac()
391 xnbop->o_running = B_FALSE; in i_xnbo_close_mac()
395 loop = xnbop->o_mca; in i_xnbo_close_mac()
396 xnbop->o_mca = NULL; in i_xnbo_close_mac()
407 (void) mac_multicast_remove(xnbop->o_mch, loop->addr); in i_xnbo_close_mac()
412 if (xnbop->o_promiscuous) { in i_xnbo_close_mac()
413 if (xnbop->o_mphp != NULL) { in i_xnbo_close_mac()
414 mac_promisc_remove(xnbop->o_mphp); in i_xnbo_close_mac()
415 xnbop->o_mphp = NULL; in i_xnbo_close_mac()
417 xnbop->o_promiscuous = B_FALSE; in i_xnbo_close_mac()
419 if (xnbop->o_mch != NULL) in i_xnbo_close_mac()
420 mac_rx_clear(xnbop->o_mch); in i_xnbo_close_mac()
423 if (xnbop->o_mah != NULL) { in i_xnbo_close_mac()
424 (void) mac_unicast_remove(xnbop->o_mch, xnbop->o_mah); in i_xnbo_close_mac()
425 xnbop->o_mah = NULL; in i_xnbo_close_mac()
428 if (xnbop->o_mch != NULL) { in i_xnbo_close_mac()
429 mac_client_close(xnbop->o_mch, 0); in i_xnbo_close_mac()
430 xnbop->o_mch = NULL; in i_xnbo_close_mac()
433 mac_close(xnbop->o_mh); in i_xnbo_close_mac()
434 xnbop->o_mh = NULL; in i_xnbo_close_mac()
445 xnbo_t *xnbop = xnbp->xnb_flavour_data; in xnbo_start_connect() local
447 return (xnbo_open_mac(xnbp, xnbop->o_link_name)); in xnbo_start_connect()
461 xnbo_t *xnbop = xnbp->xnb_flavour_data; in xnbo_peer_connected() local
468 xnbop->o_multicast_control = (request > 0); in xnbo_peer_connected()
492 xnbo_t *xnbop = xnbp->xnb_flavour_data; in xnbo_hotplug_connected() local
498 "nic", "%s", xnbop->o_link_name) != 0) { in xnbo_hotplug_connected()
507 xnbop->o_need_rx_filter = (need > 0); in xnbo_hotplug_connected()
512 xnbop->o_need_setphysaddr = (need > 0); in xnbo_hotplug_connected()
524 xnbo_t *xnbop = xnbp->xnb_flavour_data; in xnbo_mcast_find() local
528 ASSERT(xnbop->o_promiscuous == B_FALSE); in xnbo_mcast_find()
532 this = xnbop->o_mca; in xnbo_mcast_find()
539 xnbop->o_mca = this->next; in xnbo_mcast_find()
558 mac_multicast_remove(xnbop->o_mch, del->addr); in xnbo_mcast_find()
571 xnbo_t *xnbop = xnbp->xnb_flavour_data; in xnbo_mcast_add() local
574 ASSERT(xnbop->o_promiscuous == B_FALSE); in xnbo_mcast_add()
580 } else if (mac_multicast_add(xnbop->o_mch, in xnbo_mcast_add()
592 mca->next = xnbop->o_mca; in xnbo_mcast_add()
593 xnbop->o_mca = mca; in xnbo_mcast_add()
627 xnbo_t *xnbop; in xnbo_attach() local
638 xnbop = kmem_zalloc(sizeof (*xnbop), KM_SLEEP); in xnbo_attach()
640 if (xnb_attach(dip, &flavour, xnbop) != DDI_SUCCESS) { in xnbo_attach()
641 kmem_free(xnbop, sizeof (*xnbop)); in xnbo_attach()
652 xnbo_t *xnbop = xnbp->xnb_flavour_data; in xnbo_detach() local
678 kmem_free(xnbop, sizeof (*xnbop)); in xnbo_detach()