/titanic_44/usr/src/uts/common/io/mac/ |
H A D | mac_flow.c | 216 flow_entry_t *flent = *flentp; in mac_flow_create() local 225 if (flent == NULL) { in mac_flow_create() 226 flent = kmem_cache_alloc(flow_cache, KM_SLEEP); in mac_flow_create() 227 bzero(flent, sizeof (*flent)); in mac_flow_create() 228 mutex_init(&flent->fe_lock, NULL, MUTEX_DEFAULT, NULL); in mac_flow_create() 229 cv_init(&flent->fe_cv, NULL, CV_DEFAULT, NULL); in mac_flow_create() 232 flent->fe_cb_fn = (flow_fn_t)mac_pkt_drop; in mac_flow_create() 233 flent->fe_index = -1; in mac_flow_create() 235 (void) strlcpy(flent->fe_flow_name, name, MAXFLOWNAMELEN); in mac_flow_create() 239 *flentp = flent; in mac_flow_create() [all …]
|
H A D | mac_datapath_setup.c | 609 mac_compute_soft_ring_count(flow_entry_t *flent, int rx_srs_cnt, int maxcpus) in mac_compute_soft_ring_count() argument 615 ASSERT(!(flent->fe_type & FLOW_USER)); in mac_compute_soft_ring_count() 616 if (flent->fe_resource_props.mrp_mask & MRP_MAXBW && in mac_compute_soft_ring_count() 620 bw = flent->fe_resource_props.mrp_maxbw; in mac_compute_soft_ring_count() 628 flent->fe_nic_speed = mac_client_stat_get(flent->fe_mcip, in mac_compute_soft_ring_count() 631 if (((flent->fe_nic_speed)/1000000) > 1000 && in mac_compute_soft_ring_count() 707 mac_tx_cpu_init(flow_entry_t *flent, mac_resource_props_t *mrp, in mac_tx_cpu_init() argument 710 mac_soft_ring_set_t *tx_srs = flent->fe_tx_srs; in mac_tx_cpu_init() 719 if (RETARGETABLE_CLIENT((mac_group_t *)flent->fe_tx_ring_group, in mac_tx_cpu_init() 720 flent->fe_mcip)) { in mac_tx_cpu_init() [all …]
|
H A D | mac_client.c | 614 flow_entry_t *flent = mcip->mci_flent; in mac_client_stat_get() local 621 mac_srs = (mac_soft_ring_set_t *)(flent->fe_tx_srs); in mac_client_stat_get() 667 for (i = 0; i < flent->fe_rx_srs_cnt; i++) { in mac_client_stat_get() 668 mac_srs = (mac_soft_ring_set_t *)flent->fe_rx_srs[i]; in mac_client_stat_get() 677 for (i = 0; i < flent->fe_rx_srs_cnt; i++) { in mac_client_stat_get() 678 mac_srs = (mac_soft_ring_set_t *)flent->fe_rx_srs[i]; in mac_client_stat_get() 688 for (i = 0; i < flent->fe_rx_srs_cnt; i++) { in mac_client_stat_get() 689 mac_srs = (mac_soft_ring_set_t *)flent->fe_rx_srs[i]; in mac_client_stat_get() 781 i_mac_flow_vid(flow_entry_t *flent) in i_mac_flow_vid() argument 785 mac_flow_get_desc(flent, &flow_desc); in i_mac_flow_vid() [all …]
|
H A D | mac_stat.c | 681 flow_entry_t *flent = handle; in i_mac_misc_stat_get() local 682 mac_client_impl_t *mcip = flent->fe_mcip; in i_mac_misc_stat_get() 802 i_mac_misc_stat_create(flow_entry_t *flent, const char *modname, in i_mac_misc_stat_create() argument 807 ksp = i_mac_stat_create(flent, modname, statname, in i_mac_misc_stat_create() 811 flent->fe_misc_stat_ksp = ksp; in i_mac_misc_stat_create() 1037 flow_entry_t *flent = mac_srs->srs_flent; in mac_srs_stat_create() local 1042 if ((flent->fe_type & FLOW_USER) != 0) in mac_srs_stat_create() 1058 i_mac_tx_swlane_stat_create(mac_srs, flent->fe_flow_name, in mac_srs_stat_create() 1067 flent->fe_flow_name, statname); in mac_srs_stat_create() 1072 flent->fe_flow_name, statname); in mac_srs_stat_create() [all …]
|
H A D | mac.c | 1491 flow_entry_t *flent = mcip->mci_flent; in mac_hwrings_get() local 1497 grp = flent->fe_rx_ring_group; in mac_hwrings_get() 1499 grp = flent->fe_tx_ring_group; in mac_hwrings_get() 1932 flow_entry_t *flent = srs->srs_flent; in mac_rx_srs_quiesce() local 1935 ASSERT(MAC_PERIM_HELD((mac_handle_t)FLENT_TO_MIP(flent))); in mac_rx_srs_quiesce() 1960 FLOW_MARK(flent, FE_QUIESCE); in mac_rx_srs_quiesce() 1961 mac_flow_wait(flent, FLOW_DRIVER_UPCALL); in mac_rx_srs_quiesce() 1980 flow_entry_t *flent = srs->srs_flent; in mac_rx_srs_remove() local 1989 mutex_enter(&flent->fe_lock); in mac_rx_srs_remove() 1990 for (i = 0; i < flent->fe_rx_srs_cnt; i++) { in mac_rx_srs_remove() [all …]
|
H A D | mac_bcast.c | 149 flow_entry_t *flent; in mac_bcast_send() local 170 flent = dst_mcip->mci_flent; in mac_bcast_send() 171 if (flent == NULL || dst_mcip == src_mcip) { in mac_bcast_send() 193 FLOW_TRY_REFHOLD(flent, err); in mac_bcast_send() 210 FLOW_REFRELE(flent); in mac_bcast_send() 508 flow_entry_t *flent; in mac_bcast_delete() local 606 flent = grp->mbg_flow_ent; in mac_bcast_delete() 608 mac_flow_remove(mip->mi_flow_tab, flent, B_FALSE); in mac_bcast_delete() 609 mac_flow_wait(flent, FLOW_DRIVER_UPCALL); in mac_bcast_delete() 610 FLOW_FINAL_REFRELE(flent); in mac_bcast_delete()
|
H A D | mac_provider.c | 752 flow_entry_t *flent; in mac_rx_common() local 757 flent = mip->mi_single_active_client->mci_flent_list; in mac_rx_common() 758 FLOW_TRY_REFHOLD(flent, err); in mac_rx_common() 761 (flent->fe_cb_fn)(flent->fe_cb_arg1, in mac_rx_common() 762 flent->fe_cb_arg2, mp_chain, B_FALSE); in mac_rx_common() 763 FLOW_REFRELE(flent); in mac_rx_common() 1007 flow_entry_t *flent; in mac_ring_intr_retarget() local 1016 flent = mcip->mci_flent; in mac_ring_intr_retarget() 1018 for (i = 0; i < flent->fe_rx_srs_cnt; i++) { in mac_ring_intr_retarget() 1019 mac_rx_srs = flent->fe_rx_srs[i]; in mac_ring_intr_retarget() [all …]
|
H A D | mac_util.c | 829 flow_entry_t *flent = mcip->mci_flent; in mac_client_set_intr_cpu() local 838 if (flent != NULL && flent->fe_rx_srs_cnt == 2) { in mac_client_set_intr_cpu() 839 rx_srs = flent->fe_rx_srs[1]; in mac_client_set_intr_cpu() 852 flow_entry_t *flent = mcip->mci_flent; in mac_client_intr_cpu() local 862 if (mac_is_primary_client(mcip) && flent->fe_rx_srs_cnt == 2) { in mac_client_intr_cpu() 863 rx_srs = flent->fe_rx_srs[1]; in mac_client_intr_cpu()
|
H A D | mac_sched.c | 3202 flow_entry_t *flent = NULL; in mac_rx_srs_subflow_process() local 3226 FLOW_INBOUND, &flent); in mac_rx_srs_subflow_process() 3228 if (mp == mp_chain || flent == prev_flent) { in mac_rx_srs_subflow_process() 3231 prev_flent = flent; in mac_rx_srs_subflow_process() 3232 flent = NULL; in mac_rx_srs_subflow_process() 3251 prev_flent = flent; in mac_rx_srs_subflow_process() 3252 flent = NULL; in mac_rx_srs_subflow_process() 4246 flow_entry_t *flent = NULL; in mac_tx_classify() local 4253 err = mac_flow_lookup(mip->mi_flow_tab, mp, FLOW_OUTBOUND, &flent); in mac_tx_classify() 4263 if ((mcip = flent->fe_mcip) != NULL && mcip->mci_flent != flent) { in mac_tx_classify() [all …]
|
/titanic_44/usr/src/uts/common/sys/ |
H A D | mac_flow_impl.h | 45 #define FLOW_REFHOLD(flent) { \ argument 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) { \ argument 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)->fe_refcnt++; \ [all …]
|
/titanic_44/usr/src/cmd/mdb/common/modules/mac/ |
H A D | mac.c | 959 flow_entry_t flent; in mac_ring_dcmd() local 973 bzero(&flent, sizeof (flent)); in mac_ring_dcmd() 975 (void) mdb_vread(&flent, sizeof (flent), in mac_ring_dcmd() 992 group.mrg_mh, ring.mr_srs, flent.fe_flow_name); in mac_ring_dcmd()
|