/illumos-gate/usr/src/uts/common/sys/ |
H A D | mac_flow_impl.h | 45 #define FLOW_REFHOLD(flent) { \ 46 DTRACE_PROBE1(flow_refhold, flow_entry_t *, (flent)); \ 47 mutex_enter(&(flent)->fe_lock); \ 48 (flent)->fe_refcnt++; \ 49 mutex_exit(&(flent)->fe_lock); \ 59 #define FLOW_TRY_REFHOLD(flent, err) { \ 60 DTRACE_PROBE1(flow_refhold, flow_entry_t *, (flent)); \ 62 mutex_enter(&(flent)->fe_lock); \ 63 if ((flent)->fe_flags & (FE_INCIPIENT | FE_QUIESCE | FE_CONDEMNED | \ 67 (flent) [all...] |
/illumos-gate/usr/src/uts/common/io/mac/ |
H A D | mac_flow.c | 216 flow_entry_t *flent = *flentp; local 225 if (flent == NULL) { 226 flent = kmem_cache_alloc(flow_cache, KM_SLEEP); 227 bzero(flent, sizeof (*flent)); 228 mutex_init(&flent->fe_lock, NULL, MUTEX_DEFAULT, NULL); 229 cv_init(&flent->fe_cv, NULL, CV_DEFAULT, NULL); 232 flent->fe_cb_fn = (flow_fn_t)mac_pkt_drop; 233 flent->fe_index = -1; 235 (void) strlcpy(flent 282 mac_flow_add(flow_tab_t *ft, flow_entry_t *flent) argument 367 mac_flow_rem_subflow(flow_entry_t *flent) argument 397 mac_flow_add_subflow(mac_client_handle_t mch, flow_entry_t *flent, boolean_t instantiate_flow) argument 470 mac_flow_remove(flow_tab_t *ft, flow_entry_t *flent, boolean_t temp) argument 519 flow_entry_t *flent; local 590 flow_entry_t *flent; local 632 mac_flow_destroy(flow_entry_t *flent) argument 658 mac_flow_modify_props(flow_entry_t *flent, mac_resource_props_t *mrp) argument 728 mac_flow_modify(flow_tab_t *ft, flow_entry_t *flent, mac_resource_props_t *mrp) argument 787 mac_flow_wait(flow_entry_t *flent, mac_flow_state_t event) argument 821 mac_flow_clean(flow_entry_t *flent) argument 832 mac_flow_cleanup(flow_entry_t *flent) argument 870 mac_flow_get_desc(flow_entry_t *flent, flow_desc_t *fd) argument 894 mac_flow_set_desc(flow_entry_t *flent, flow_desc_t *fd) argument 939 mac_flow_set_name(flow_entry_t *flent, const char *name) argument 963 mac_flow_get_client_cookie(flow_entry_t *flent) argument 1044 mac_flow_hash_add(flow_entry_t *flent) argument 1065 mac_flow_hash_remove(flow_entry_t *flent) argument 1085 flow_entry_t *flent; local 1108 mac_link_init_flows_cb(flow_entry_t *flent, void *arg) argument 1149 mac_link_release_flows_cb(flow_entry_t *flent, void *arg) argument 1212 flow_entry_t *flent = NULL; local 1377 flow_entry_t *flent; local 1440 flow_entry_t *flent; local 1511 mac_link_flowinfo_copy(mac_flowinfo_t *finfop, flow_entry_t *flent) argument 1521 mac_link_flow_walk_cb(flow_entry_t *flent, void *arg) argument 1578 flow_entry_t *flent; local 1626 flow_l2_match(flow_tab_t *ft, flow_entry_t *flent, flow_state_t *s) argument 1709 flow_ether_hash_fe(flow_tab_t *ft, flow_entry_t *flent) argument 1751 flow_l2_accept_fe(flow_tab_t *ft, flow_entry_t *flent) argument 1781 flow_l2_hash_fe(flow_tab_t *ft, flow_entry_t *flent) argument 1810 flow_generic_insert_fe(flow_tab_t *ft, flow_entry_t **headp, flow_entry_t *flent) argument 1828 flow_ip_dsfield_match(flow_tab_t *ft, flow_entry_t *flent, flow_state_t *s) argument 1859 flow_ip_v4_match(flow_tab_t *ft, flow_entry_t *flent, flow_state_t *s) argument 1877 flow_ip_v6_match(flow_tab_t *ft, flow_entry_t *flent, flow_state_t *s) argument 1894 flow_ip_proto_match(flow_tab_t *ft, flow_entry_t *flent, flow_state_t *s) argument 1991 flow_ip_proto_accept_fe(flow_tab_t *ft, flow_entry_t *flent) argument 2010 flow_ip_accept_fe(flow_tab_t *ft, flow_entry_t *flent) argument 2073 flow_ip_proto_hash_fe(flow_tab_t *ft, flow_entry_t *flent) argument 2081 flow_ip_hash_fe(flow_tab_t *ft, flow_entry_t *flent) argument 2180 flow_ip_insert_fe(flow_tab_t *ft, flow_entry_t **headp, flow_entry_t *flent) argument 2249 flow_transport_lport_match(flow_tab_t *ft, flow_entry_t *flent, flow_state_t *s) argument 2261 flow_transport_rport_match(flow_tab_t *ft, flow_entry_t *flent, flow_state_t *s) argument 2372 flow_transport_accept_fe(flow_tab_t *ft, flow_entry_t *flent) argument 2415 flow_transport_hash_fe(flow_tab_t *ft, flow_entry_t *flent) argument [all...] |
H A D | mac_client.c | 613 flow_entry_t *flent = mcip->mci_flent; local 620 mac_srs = (mac_soft_ring_set_t *)(flent->fe_tx_srs); 666 for (i = 0; i < flent->fe_rx_srs_cnt; i++) { 667 mac_srs = (mac_soft_ring_set_t *)flent->fe_rx_srs[i]; 676 for (i = 0; i < flent->fe_rx_srs_cnt; i++) { 677 mac_srs = (mac_soft_ring_set_t *)flent->fe_rx_srs[i]; 687 for (i = 0; i < flent->fe_rx_srs_cnt; i++) { 688 mac_srs = (mac_soft_ring_set_t *)flent->fe_rx_srs[i]; 780 i_mac_flow_vid(flow_entry_t *flent) argument 784 mac_flow_get_desc(flent, 847 flow_entry_t *flent = mcip->mci_flent; local 1315 flow_entry_t *flent = NULL; local 1488 flow_entry_t *flent; local 1633 flow_entry_t *flent = dmcip->mci_flent; local 1657 flow_entry_t *flent = mcip->mci_flent; local 1668 mac_update_subflow_priority_cb(flow_entry_t *flent, void *arg) argument 1694 flow_entry_t *flent = mcip->mci_flent; local 2023 flow_entry_t *flent = mcip->mci_flent; local 2117 mac_unicast_flow_create(mac_client_impl_t *mcip, uint8_t *mac_addr, uint16_t vid, boolean_t is_primary, boolean_t first_flow, flow_entry_t **flent, mac_resource_props_t *mrp) argument 2207 flow_entry_t *flent = arg; local 2274 flow_entry_t *flent; local 2850 mac_client_datapath_teardown(mac_client_handle_t mch, mac_unicast_impl_t *muip, flow_entry_t *flent) argument 2980 flow_entry_t *flent; local 3177 flow_entry_t *flent = mcip->mci_flent_list; local 3223 flow_entry_t *flent; local 3440 flow_entry_t *flent; local 3804 flow_entry_t *flent; local 3827 flow_entry_t *flent; local 4771 flow_entry_t *flent; local 4811 mac_client_add_to_flow_list(mac_client_impl_t *mcip, flow_entry_t *flent) argument 4841 mac_client_remove_flow_from_list(mac_client_impl_t *mcip, flow_entry_t *flent) argument 4880 flow_entry_t *flent; local 4915 flow_entry_t *flent; local 4944 flow_entry_t *flent = mcip->mci_flent; local [all...] |
H A D | mac_datapath_setup.c | 608 mac_compute_soft_ring_count(flow_entry_t *flent, int rx_srs_cnt, int maxcpus) argument 614 ASSERT(!(flent->fe_type & FLOW_USER)); 615 if (flent->fe_resource_props.mrp_mask & MRP_MAXBW && 619 bw = flent->fe_resource_props.mrp_maxbw; 627 flent->fe_nic_speed = mac_client_stat_get(flent->fe_mcip, 630 if (((flent->fe_nic_speed)/1000000) > 1000 && 673 * If the flent has multiple Rx SRSs, then each SRS need not 706 mac_tx_cpu_init(flow_entry_t *flent, mac_resource_props_t *mrp, argument 709 mac_soft_ring_set_t *tx_srs = flent 803 mac_flow_user_cpu_init(flow_entry_t *flent, mac_resource_props_t *mrp) argument 1070 mac_flow_cpu_init(flow_entry_t *flent, cpupart_t *cpupart) argument 1276 flow_entry_t *flent = mac_srs->srs_flent; local 1586 mac_srs_update_bwlimit(flow_entry_t *flent, mac_resource_props_t *mrp) argument 1636 flow_entry_t *flent = mcip->mci_flent; local 2009 mac_fanout_setup(mac_client_impl_t *mcip, flow_entry_t *flent, mac_resource_props_t *mrp, mac_direct_rx_t rx_func, void *x_arg1, mac_resource_handle_t x_arg2, cpupart_t *cpupart) argument 2097 mac_srs_create(mac_client_impl_t *mcip, flow_entry_t *flent, uint32_t srs_type, mac_direct_rx_t rx_func, void *x_arg1, mac_resource_handle_t x_arg2, mac_ring_t *ring) argument 2304 mac_find_fanout(flow_entry_t *flent, uint32_t link_type) argument 2372 mac_srs_group_setup(mac_client_impl_t *mcip, flow_entry_t *flent, uint32_t link_type) argument 2397 mac_rx_srs_group_setup(mac_client_impl_t *mcip, flow_entry_t *flent, uint32_t link_type) argument 2491 mac_tx_srs_group_setup(mac_client_impl_t *mcip, flow_entry_t *flent, uint32_t link_type) argument 2536 mac_rx_srs_group_teardown(flow_entry_t *flent, boolean_t hwonly) argument 2559 mac_tx_srs_group_teardown(mac_client_impl_t *mcip, flow_entry_t *flent, uint32_t link_type) argument 2855 mac_datapath_setup(mac_client_impl_t *mcip, flow_entry_t *flent, uint32_t link_type) argument 3089 mac_datapath_teardown(mac_client_impl_t *mcip, flow_entry_t *flent, uint32_t link_type) argument 3374 flow_entry_t *flent; local 3822 mac_tx_srs_setup(mac_client_impl_t *mcip, flow_entry_t *flent) argument 3937 flow_entry_t *flent = mcip->mci_flent; local [all...] |
H A D | mac_stat.c | 681 flow_entry_t *flent = handle; local 682 mac_client_impl_t *mcip = flent->fe_mcip; 802 i_mac_misc_stat_create(flow_entry_t *flent, const char *modname, argument 807 ksp = i_mac_stat_create(flent, modname, statname, 811 flent->fe_misc_stat_ksp = ksp; 1037 flow_entry_t *flent = mac_srs->srs_flent; local 1042 if ((flent->fe_type & FLOW_USER) != 0) 1058 i_mac_tx_swlane_stat_create(mac_srs, flent->fe_flow_name, 1067 flent->fe_flow_name, statname); 1072 flent 1078 mac_misc_stat_create(flow_entry_t *flent) argument 1095 flow_entry_t *flent = ringp->s_ring_mcip->mci_flent; local 1174 mac_misc_stat_delete(flow_entry_t *flent) argument 1239 flow_entry_t *flent = mcip->mci_flent; local [all...] |
H A D | mac.c | 1494 flow_entry_t *flent = mcip->mci_flent; local 1500 grp = flent->fe_rx_ring_group; 1502 grp = flent->fe_tx_ring_group; 1935 flow_entry_t *flent = srs->srs_flent; local 1938 ASSERT(MAC_PERIM_HELD((mac_handle_t)FLENT_TO_MIP(flent))); 1963 FLOW_MARK(flent, FE_QUIESCE); 1964 mac_flow_wait(flent, FLOW_DRIVER_UPCALL); 1983 flow_entry_t *flent = srs->srs_flent; local 1992 mutex_enter(&flent->fe_lock); 1993 for (i = 0; i < flent 2023 flow_entry_t *flent = srs->srs_flent; local 2067 mac_rx_classify_flow_quiesce(flow_entry_t *flent, void *arg) argument 2084 mac_rx_classify_flow_restart(flow_entry_t *flent, void *arg) argument 2098 flow_entry_t *flent = mcip->mci_flent; local 2198 mac_tx_flow_quiesce(flow_entry_t *flent, void *arg) argument 2211 mac_tx_flow_restart(flow_entry_t *flent, void *arg) argument 2428 flow_entry_t *flent = NULL; local 2500 mac_tx_flow_srs_wakeup(flow_entry_t *flent, void *arg) argument 4415 flow_entry_t *flent; local 5271 mac_write_flow_desc(flow_entry_t *flent, mac_client_impl_t *mcip) argument 5323 mac_write_flow_stats(flow_entry_t *flent) argument 5375 flow_entry_t *flent = mcip->mci_flent; local 5411 flow_entry_t *flent; local 5475 mac_log_flowinfo(flow_entry_t *flent, void *arg) argument 5826 mac_flow_update_priority(mac_client_impl_t *mcip, flow_entry_t *flent) argument 7153 mac_tx_dismantle_soft_rings(mac_group_t *fgrp, flow_entry_t *flent) argument 7193 flow_entry_t *flent = mcip->mci_flent; local 7912 flow_entry_t *flent = mcip->mci_flent; local 8007 flow_entry_t *flent = mcip->mci_flent; local [all...] |
H A D | mac_bcast.c | 149 flow_entry_t *flent; local 170 flent = dst_mcip->mci_flent; 171 if (flent == NULL || dst_mcip == src_mcip) { 193 FLOW_TRY_REFHOLD(flent, err); 210 FLOW_REFRELE(flent); 508 flow_entry_t *flent; local 606 flent = grp->mbg_flow_ent; 608 mac_flow_remove(mip->mi_flow_tab, flent, B_FALSE); 609 mac_flow_wait(flent, FLOW_DRIVER_UPCALL); 610 FLOW_FINAL_REFRELE(flent); [all...] |
H A D | mac_provider.c | 739 flow_entry_t *flent; local 744 flent = mip->mi_single_active_client->mci_flent_list; 745 FLOW_TRY_REFHOLD(flent, err); 748 (flent->fe_cb_fn)(flent->fe_cb_arg1, 749 flent->fe_cb_arg2, mp_chain, B_FALSE); 750 FLOW_REFRELE(flent); 994 flow_entry_t *flent; local 1003 flent = mcip->mci_flent; 1005 for (i = 0; i < flent [all...] |
H A D | mac_util.c | 829 flow_entry_t *flent = mcip->mci_flent; local 838 if (flent != NULL && flent->fe_rx_srs_cnt == 2) { 839 rx_srs = flent->fe_rx_srs[1]; 852 flow_entry_t *flent = mcip->mci_flent; local 862 if (mac_is_primary_client(mcip) && flent->fe_rx_srs_cnt == 2) { 863 rx_srs = flent->fe_rx_srs[1];
|
H A D | mac_sched.c | 3202 flow_entry_t *flent = NULL; local 3226 FLOW_INBOUND, &flent); 3228 if (mp == mp_chain || flent == prev_flent) { 3231 prev_flent = flent; 3232 flent = NULL; 3251 prev_flent = flent; 3252 flent = NULL; 4246 flow_entry_t *flent = NULL; local 4253 err = mac_flow_lookup(mip->mi_flow_tab, mp, FLOW_OUTBOUND, &flent); 4258 * This flent migh [all...] |
/illumos-gate/usr/src/cmd/mdb/common/modules/mac/ |
H A D | mac.c | 979 flow_entry_t flent; local 993 bzero(&flent, sizeof (flent)); 995 (void) mdb_vread(&flent, sizeof (flent), 1012 group.mrg_mh, ring.mr_srs, flent.fe_flow_name);
|