Lines Matching refs:flent

613 	flow_entry_t 		*flent = mcip->mci_flent;
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)
784 mac_flow_get_desc(flent, &flow_desc);
847 flow_entry_t *flent = mcip->mci_flent;
852 ASSERT(flent != NULL);
854 mac_flow_get_desc(flent, &flow_desc);
858 mac_flow_set_desc(flent, &flow_desc);
871 for (flent = mcip->mci_flent_list; flent != NULL;
872 flent = flent->fe_client_next) {
873 mac_flow_get_desc(flent, &flow_desc);
874 if (!(flent->fe_type & FLOW_PRIMARY_MAC ||
875 flent->fe_type & FLOW_VNIC_MAC))
879 mac_flow_set_desc(flent, &flow_desc);
1315 flow_entry_t *flent = NULL;
1429 FLOW_PRIMARY_MAC, &flent);
1432 mcip->mci_flent = flent;
1433 FLOW_MARK(flent, FE_MC_NO_DATAPATH);
1434 flent->fe_mcip = mcip;
1441 FLOW_REFHOLD(flent);
1488 flow_entry_t *flent;
1515 * Remove the flent associated with the MAC client
1517 flent = mcip->mci_flent;
1519 FLOW_FINAL_REFRELE(flent);
1633 flow_entry_t *flent = dmcip->mci_flent;
1636 ASSERT((flent->fe_type & FLOW_PRIMARY_MAC) == 0);
1657 flow_entry_t *flent = mcip->mci_flent;
1660 ASSERT((flent->fe_type & FLOW_PRIMARY_MAC) == 0);
1668 mac_update_subflow_priority_cb(flow_entry_t *flent, void *arg)
1670 mac_flow_update_priority(arg, flent);
1694 flow_entry_t *flent = mcip->mci_flent;
1709 group = flent->fe_rx_ring_group;
1711 mac_addr = flent->fe_flow_desc.fd_dst_mac;
1756 if ((flent->fe_type &
1867 group = flent->fe_tx_ring_group;
1900 if ((flent->fe_type &
1933 (flent->fe_type & FLOW_PRIMARY_MAC) == 0) {
2023 flow_entry_t *flent = mcip->mci_flent;
2102 mac_flow_modify(mip->mi_flow_tab, flent, mrp);
2119 flow_entry_t **flent, mac_resource_props_t *mrp)
2174 * flent with the MAC client's flow name.
2184 flent_flags, flent)) != 0)
2187 mac_misc_stat_create(*flent);
2188 FLOW_MARK(*flent, FE_INCIPIENT);
2189 (*flent)->fe_mcip = mcip;
2199 FLOW_REFHOLD(*flent);
2207 flow_entry_t *flent = arg;
2208 mac_client_impl_t *mcip = flent->fe_mcip;
2212 mac_flow_get_desc(flent, &flow_desc);
2274 flow_entry_t *flent;
2299 flent = (mcip->mci_nflents == 0) ? mcip->mci_flent : NULL;
2310 isprimary, B_TRUE, &flent, mrp)) != 0)
2320 if ((err = mac_datapath_setup(mcip, flent, SRST_LINK)) != 0)
2346 * the fdesc, everything will be used from in the 1st flent.
2355 isprimary, B_FALSE, &flent, NULL)) != 0) {
2358 if ((err = mac_flow_add(mip->mi_flow_tab, flent)) != 0) {
2359 FLOW_FINAL_REFRELE(flent);
2365 (void *)flent, B_TRUE);
2379 * First add the flent to the flow list of this mcip. Then set
2382 * flent.
2384 mac_client_add_to_flow_list(mcip, flent);
2405 if (flent->fe_rx_ring_group != NULL)
2406 mac_rx_group_unmark(flent->fe_rx_ring_group, MR_INCIPIENT);
2407 FLOW_UNMARK(flent, FE_INCIPIENT);
2408 FLOW_UNMARK(flent, FE_MC_NO_DATAPATH);
2851 flow_entry_t *flent)
2888 flent = mcip->mci_flent;
2889 mac_client_remove_flow_from_list(mcip, flent);
2912 mutex_enter(&flent->fe_lock);
2913 ASSERT(flent->fe_refcnt == 1 && flent->fe_mbg == NULL &&
2914 flent->fe_tx_srs == NULL && flent->fe_rx_srs_cnt == 0);
2915 flent->fe_flags = FE_MC_NO_DATAPATH;
2916 flow_stat_destroy(flent);
2917 mac_misc_stat_delete(flent);
2920 flent->fe_cb_fn = (flow_fn_t)mac_pkt_drop;
2921 flent->fe_cb_arg1 = NULL;
2922 flent->fe_cb_arg2 = NULL;
2924 flent->fe_index = -1;
2925 mutex_exit(&flent->fe_lock);
2980 flow_entry_t *flent;
3075 * addresses, so we will just remove the flent
3082 flent = mac_client_get_flow(mcip, muip);
3083 ASSERT(flent != NULL);
3090 if (flent == mcip->mci_flent)
3091 flent = mac_client_swap_mciflent(mcip);
3092 mac_client_remove_flow_from_list(mcip, flent);
3093 mac_flow_remove(mip->mi_flow_tab, flent, B_FALSE);
3094 mac_flow_wait(flent, FLOW_DRIVER_UPCALL);
3102 (void *)flent, B_FALSE);
3109 FLOW_FINAL_REFRELE(flent);
3122 mac_client_datapath_teardown(mch, muip, flent);
3177 flow_entry_t *flent = mcip->mci_flent_list;
3188 while (flent != NULL) {
3189 vid = i_mac_flow_vid(flent);
3195 prev_fe = flent;
3196 flent = flent->fe_client_next;
3203 if (flent != NULL && prev_fe != NULL) {
3204 flent = mcip->mci_flent_list;
3205 while (flent != prev_fe->fe_client_next) {
3206 vid = i_mac_flow_vid(flent);
3208 flent = flent->fe_client_next;
3223 flow_entry_t *flent;
3227 for (flent = mcip->mci_flent_list; flent != NULL;
3228 flent = flent->fe_client_next) {
3229 vid = i_mac_flow_vid(flent);
3440 flow_entry_t *flent;
3469 FLOW_OUTBOUND, &flent) == 0) {
3477 ASSERT(flent != NULL);
3480 flent = mcip->mci_flent;
3483 srs = flent->fe_tx_srs;
3549 FLOW_REFRELE(flent);
3804 flow_entry_t *flent;
3807 flent = mcip->mci_flent;
3808 ASSERT(flent != NULL);
3811 for (i = 0; i < flent->fe_rx_srs_cnt; i++) {
3812 mac_srs = (mac_soft_ring_set_t *)flent->fe_rx_srs[i];
3827 flow_entry_t *flent;
3830 flent = mcip->mci_flent;
3831 ASSERT(flent != NULL);
3834 for (i = 0; i < flent->fe_rx_srs_cnt; i++) {
3835 mac_srs = (mac_soft_ring_set_t *)flent->fe_rx_srs[i];
4771 flow_entry_t *flent;
4795 for (flent = mcip->mci_flent_list; flent != NULL;
4796 flent = flent->fe_client_next) {
4797 if (flent != mcip->mci_flent) {
4798 vid = i_mac_flow_vid(flent);
4800 mac_flow_set_name(flent, flowname);
4811 mac_client_add_to_flow_list(mac_client_impl_t *mcip, flow_entry_t *flent)
4823 flent->fe_client_next = mcip->mci_flent_list;
4824 mcip->mci_flent_list = flent;
4831 if (i_mac_flow_vid(flent) != VLAN_ID_NONE)
4841 mac_client_remove_flow_from_list(mac_client_impl_t *mcip, flow_entry_t *flent)
4854 while ((fe != NULL) && (fe != flent)) {
4868 if (i_mac_flow_vid(flent) != VLAN_ID_NONE)
4880 flow_entry_t *flent;
4893 for (flent = mcip->mci_flent_list; flent != NULL;
4894 flent = flent->fe_client_next) {
4895 mci_vid = i_mac_flow_vid(flent);
4915 flow_entry_t *flent;
4925 for (flent = mcip->mci_flent_list; flent != NULL;
4926 flent = flent->fe_client_next) {
4927 vid = i_mac_flow_vid(flent);
4929 return (flent);
4938 * the flow_desc_t in mci_flent with that of an existing flent and then
4939 * remove that flent instead of mci_flent.
4944 flow_entry_t *flent = mcip->mci_flent;
4945 flow_tab_t *ft = flent->fe_flow_tab;
4954 /* get the next flent following the primary flent */
4959 * Remove the flent from the flow table before updating the
4962 * to grab fe_lock. Access to fe_flow_desc of a flent not in the
4968 mac_flow_remove(ft, flent, B_TRUE);
4971 bcopy(&flent->fe_flow_desc, &fl_desc, sizeof (flow_desc_t));
4972 bcopy(flent->fe_flow_name, fl_name, MAXFLOWNAMELEN);
4975 mutex_enter(&flent->fe_lock);
4976 bcopy(&flent1->fe_flow_desc, &flent->fe_flow_desc,
4978 bcopy(&flent1->fe_flow_name, &flent->fe_flow_name, MAXFLOWNAMELEN);
4979 mutex_exit(&flent->fe_lock);
4988 err = mac_flow_add(ft, flent);