Lines Matching refs:vf

181 	struct ice_vf *vf;  in ice_vc_vf_broadcast()  local
185 ice_for_each_vf(pf, bkt, vf) { in ice_vc_vf_broadcast()
187 if (!test_bit(ICE_VF_STATE_INIT, vf->vf_states) && in ice_vc_vf_broadcast()
188 !test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) in ice_vc_vf_broadcast()
194 ice_aq_send_msg_to_vf(hw, vf->vf_id, v_opcode, v_retval, msg, in ice_vc_vf_broadcast()
208 ice_set_pfe_link(struct ice_vf *vf, struct virtchnl_pf_event *pfe, in ice_set_pfe_link() argument
211 if (vf->driver_caps & VIRTCHNL_VF_CAP_ADV_LINK_SPEED) { in ice_set_pfe_link()
231 void ice_vc_notify_vf_link_state(struct ice_vf *vf) in ice_vc_notify_vf_link_state() argument
234 struct ice_hw *hw = &vf->pf->hw; in ice_vc_notify_vf_link_state()
239 if (ice_is_vf_link_up(vf)) in ice_vc_notify_vf_link_state()
240 ice_set_pfe_link(vf, &pfe, in ice_vc_notify_vf_link_state()
243 ice_set_pfe_link(vf, &pfe, ICE_AQ_LINK_SPEED_UNKNOWN, false); in ice_vc_notify_vf_link_state()
245 ice_aq_send_msg_to_vf(hw, vf->vf_id, VIRTCHNL_OP_EVENT, in ice_vc_notify_vf_link_state()
256 struct ice_vf *vf; in ice_vc_notify_link_state() local
260 ice_for_each_vf(pf, bkt, vf) in ice_vc_notify_link_state()
261 ice_vc_notify_vf_link_state(vf); in ice_vc_notify_link_state()
295 ice_vc_send_msg_to_vf(struct ice_vf *vf, u32 v_opcode, in ice_vc_send_msg_to_vf() argument
302 pf = vf->pf; in ice_vc_send_msg_to_vf()
305 aq_ret = ice_aq_send_msg_to_vf(&pf->hw, vf->vf_id, v_opcode, v_retval, in ice_vc_send_msg_to_vf()
309 vf->vf_id, aq_ret, in ice_vc_send_msg_to_vf()
324 static int ice_vc_get_ver_msg(struct ice_vf *vf, u8 *msg) in ice_vc_get_ver_msg() argument
330 vf->vf_ver = *(struct virtchnl_version_info *)msg; in ice_vc_get_ver_msg()
332 if (VF_IS_V10(&vf->vf_ver)) in ice_vc_get_ver_msg()
335 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_VERSION, in ice_vc_get_ver_msg()
349 static u16 ice_vc_get_max_frame_size(struct ice_vf *vf) in ice_vc_get_max_frame_size() argument
351 struct ice_port_info *pi = ice_vf_get_port_info(vf); in ice_vc_get_max_frame_size()
356 if (ice_vf_is_port_vlan_ena(vf)) in ice_vc_get_max_frame_size()
369 static int ice_vc_get_vf_res_msg(struct ice_vf *vf, u8 *msg) in ice_vc_get_vf_res_msg() argument
373 struct ice_hw *hw = &vf->pf->hw; in ice_vc_get_vf_res_msg()
378 if (ice_check_vf_init(vf)) { in ice_vc_get_vf_res_msg()
391 if (VF_IS_V11(&vf->vf_ver)) in ice_vc_get_vf_res_msg()
392 vf->driver_caps = *(u32 *)msg; in ice_vc_get_vf_res_msg()
394 vf->driver_caps = VIRTCHNL_VF_OFFLOAD_L2 | in ice_vc_get_vf_res_msg()
399 vsi = ice_get_vf_vsi(vf); in ice_vc_get_vf_res_msg()
405 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_VLAN_V2) { in ice_vc_get_vf_res_msg()
408 } else if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_VLAN) { in ice_vc_get_vf_res_msg()
415 if (ice_is_dvm_ena(hw) && ice_vf_is_port_vlan_ena(vf)) { in ice_vc_get_vf_res_msg()
418 !ice_vf_is_port_vlan_ena(vf)) { in ice_vc_get_vf_res_msg()
433 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_RSS_PF) { in ice_vc_get_vf_res_msg()
436 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_RSS_AQ) in ice_vc_get_vf_res_msg()
442 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_FDIR_PF) in ice_vc_get_vf_res_msg()
445 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_RSS_PCTYPE_V2) in ice_vc_get_vf_res_msg()
448 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_ENCAP) in ice_vc_get_vf_res_msg()
451 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_ENCAP_CSUM) in ice_vc_get_vf_res_msg()
454 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_RX_POLLING) in ice_vc_get_vf_res_msg()
457 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) in ice_vc_get_vf_res_msg()
460 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_REQ_QUEUES) in ice_vc_get_vf_res_msg()
463 if (vf->driver_caps & VIRTCHNL_VF_CAP_ADV_LINK_SPEED) in ice_vc_get_vf_res_msg()
466 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_ADV_RSS_PF) in ice_vc_get_vf_res_msg()
469 if (vf->driver_caps & VIRTCHNL_VF_OFFLOAD_USO) in ice_vc_get_vf_res_msg()
475 vfres->max_vectors = vf->pf->vfs.num_msix_per; in ice_vc_get_vf_res_msg()
478 vfres->max_mtu = ice_vc_get_max_frame_size(vf); in ice_vc_get_vf_res_msg()
480 vfres->vsi_res[0].vsi_id = vf->lan_vsi_num; in ice_vc_get_vf_res_msg()
484 vf->hw_lan_addr.addr); in ice_vc_get_vf_res_msg()
487 vf->driver_caps = vfres->vf_cap_flags; in ice_vc_get_vf_res_msg()
489 ice_vc_set_caps_allowlist(vf); in ice_vc_get_vf_res_msg()
490 ice_vc_set_working_allowlist(vf); in ice_vc_get_vf_res_msg()
492 set_bit(ICE_VF_STATE_ACTIVE, vf->vf_states); in ice_vc_get_vf_res_msg()
496 ret = ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_GET_VF_RESOURCES, v_ret, in ice_vc_get_vf_res_msg()
511 static void ice_vc_reset_vf_msg(struct ice_vf *vf) in ice_vc_reset_vf_msg() argument
513 if (test_bit(ICE_VF_STATE_INIT, vf->vf_states)) in ice_vc_reset_vf_msg()
514 ice_reset_vf(vf, 0); in ice_vc_reset_vf_msg()
524 bool ice_vc_isvalid_vsi_id(struct ice_vf *vf, u16 vsi_id) in ice_vc_isvalid_vsi_id() argument
526 struct ice_pf *pf = vf->pf; in ice_vc_isvalid_vsi_id()
531 return (vsi && (vsi->vf == vf)); in ice_vc_isvalid_vsi_id()
542 static bool ice_vc_isvalid_q_id(struct ice_vf *vf, u16 vsi_id, u8 qid) in ice_vc_isvalid_q_id() argument
544 struct ice_vsi *vsi = ice_find_vsi(vf->pf, vsi_id); in ice_vc_isvalid_q_id()
574 ice_vc_validate_pattern(struct ice_vf *vf, struct virtchnl_proto_hdrs *proto) in ice_vc_validate_pattern() argument
655 return ice_hw_ptype_ena(&vf->pf->hw, ptype); in ice_vc_validate_pattern()
743 static int ice_vc_handle_rss_cfg(struct ice_vf *vf, u8 *msg, bool add) in ice_vc_handle_rss_cfg() argument
748 struct device *dev = ice_pf_to_dev(vf->pf); in ice_vc_handle_rss_cfg()
749 struct ice_hw *hw = &vf->pf->hw; in ice_vc_handle_rss_cfg()
752 if (!test_bit(ICE_FLAG_RSS_ENA, vf->pf->flags)) { in ice_vc_handle_rss_cfg()
754 vf->vf_id); in ice_vc_handle_rss_cfg()
759 if (!ice_vf_adv_rss_offload_ena(vf->driver_caps)) { in ice_vc_handle_rss_cfg()
761 vf->vf_id); in ice_vc_handle_rss_cfg()
766 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_handle_rss_cfg()
775 vf->vf_id); in ice_vc_handle_rss_cfg()
780 vsi = ice_get_vf_vsi(vf); in ice_vc_handle_rss_cfg()
786 if (!ice_vc_validate_pattern(vf, &rss_cfg->proto_hdrs)) { in ice_vc_handle_rss_cfg()
860 vf->vf_id, status); in ice_vc_handle_rss_cfg()
866 return ice_vc_send_msg_to_vf(vf, v_opcode, v_ret, NULL, 0); in ice_vc_handle_rss_cfg()
876 static int ice_vc_config_rss_key(struct ice_vf *vf, u8 *msg) in ice_vc_config_rss_key() argument
883 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_config_rss_key()
888 if (!ice_vc_isvalid_vsi_id(vf, vrk->vsi_id)) { in ice_vc_config_rss_key()
898 if (!test_bit(ICE_FLAG_RSS_ENA, vf->pf->flags)) { in ice_vc_config_rss_key()
903 vsi = ice_get_vf_vsi(vf); in ice_vc_config_rss_key()
912 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_RSS_KEY, v_ret, in ice_vc_config_rss_key()
923 static int ice_vc_config_rss_lut(struct ice_vf *vf, u8 *msg) in ice_vc_config_rss_lut() argument
929 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_config_rss_lut()
934 if (!ice_vc_isvalid_vsi_id(vf, vrl->vsi_id)) { in ice_vc_config_rss_lut()
944 if (!test_bit(ICE_FLAG_RSS_ENA, vf->pf->flags)) { in ice_vc_config_rss_lut()
949 vsi = ice_get_vf_vsi(vf); in ice_vc_config_rss_lut()
958 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_RSS_LUT, v_ret, in ice_vc_config_rss_lut()
969 static int ice_vc_cfg_promiscuous_mode_msg(struct ice_vf *vf, u8 *msg) in ice_vc_cfg_promiscuous_mode_msg() argument
977 struct ice_pf *pf = vf->pf; in ice_vc_cfg_promiscuous_mode_msg()
982 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_cfg_promiscuous_mode_msg()
987 if (!ice_vc_isvalid_vsi_id(vf, info->vsi_id)) { in ice_vc_cfg_promiscuous_mode_msg()
992 vsi = ice_get_vf_vsi(vf); in ice_vc_cfg_promiscuous_mode_msg()
999 if (!ice_is_vf_trusted(vf)) { in ice_vc_cfg_promiscuous_mode_msg()
1001 vf->vf_id); in ice_vc_cfg_promiscuous_mode_msg()
1042 set_dflt_vsi ? "en" : "dis", vf->vf_id, ret); in ice_vc_cfg_promiscuous_mode_msg()
1049 if (ice_vf_is_port_vlan_ena(vf) || in ice_vc_cfg_promiscuous_mode_msg()
1059 ucast_err = ice_vf_set_vsi_promisc(vf, vsi, ucast_m); in ice_vc_cfg_promiscuous_mode_msg()
1061 ucast_err = ice_vf_clear_vsi_promisc(vf, vsi, ucast_m); in ice_vc_cfg_promiscuous_mode_msg()
1064 mcast_err = ice_vf_set_vsi_promisc(vf, vsi, mcast_m); in ice_vc_cfg_promiscuous_mode_msg()
1066 mcast_err = ice_vf_clear_vsi_promisc(vf, vsi, mcast_m); in ice_vc_cfg_promiscuous_mode_msg()
1074 !test_and_set_bit(ICE_VF_STATE_MC_PROMISC, vf->vf_states)) in ice_vc_cfg_promiscuous_mode_msg()
1076 vf->vf_id); in ice_vc_cfg_promiscuous_mode_msg()
1079 vf->vf_states)) in ice_vc_cfg_promiscuous_mode_msg()
1081 vf->vf_id); in ice_vc_cfg_promiscuous_mode_msg()
1086 !test_and_set_bit(ICE_VF_STATE_UC_PROMISC, vf->vf_states)) in ice_vc_cfg_promiscuous_mode_msg()
1088 vf->vf_id); in ice_vc_cfg_promiscuous_mode_msg()
1091 vf->vf_states)) in ice_vc_cfg_promiscuous_mode_msg()
1093 vf->vf_id); in ice_vc_cfg_promiscuous_mode_msg()
1097 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE, in ice_vc_cfg_promiscuous_mode_msg()
1108 static int ice_vc_get_stats_msg(struct ice_vf *vf, u8 *msg) in ice_vc_get_stats_msg() argument
1116 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_get_stats_msg()
1121 if (!ice_vc_isvalid_vsi_id(vf, vqs->vsi_id)) { in ice_vc_get_stats_msg()
1126 vsi = ice_get_vf_vsi(vf); in ice_vc_get_stats_msg()
1138 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_GET_STATS, v_ret, in ice_vc_get_stats_msg()
1211 static int ice_vc_ena_qs_msg(struct ice_vf *vf, u8 *msg) in ice_vc_ena_qs_msg() argument
1220 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_ena_qs_msg()
1225 if (!ice_vc_isvalid_vsi_id(vf, vqs->vsi_id)) { in ice_vc_ena_qs_msg()
1235 vsi = ice_get_vf_vsi(vf); in ice_vc_ena_qs_msg()
1247 if (!ice_vc_isvalid_q_id(vf, vqs->vsi_id, vf_q_id)) { in ice_vc_ena_qs_msg()
1253 if (test_bit(vf_q_id, vf->rxq_ena)) in ice_vc_ena_qs_msg()
1264 set_bit(vf_q_id, vf->rxq_ena); in ice_vc_ena_qs_msg()
1269 if (!ice_vc_isvalid_q_id(vf, vqs->vsi_id, vf_q_id)) { in ice_vc_ena_qs_msg()
1275 if (test_bit(vf_q_id, vf->txq_ena)) in ice_vc_ena_qs_msg()
1279 set_bit(vf_q_id, vf->txq_ena); in ice_vc_ena_qs_msg()
1284 set_bit(ICE_VF_STATE_QS_ENA, vf->vf_states); in ice_vc_ena_qs_msg()
1288 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ENABLE_QUEUES, v_ret, in ice_vc_ena_qs_msg()
1303 ice_vf_vsi_dis_single_txq(struct ice_vf *vf, struct ice_vsi *vsi, u16 q_id) in ice_vf_vsi_dis_single_txq() argument
1309 if (!test_bit(q_id, vf->txq_ena)) in ice_vf_vsi_dis_single_txq()
1319 err = ice_vsi_stop_tx_ring(vsi, ICE_NO_RESET, vf->vf_id, ring, &txq_meta); in ice_vf_vsi_dis_single_txq()
1327 clear_bit(q_id, vf->txq_ena); in ice_vf_vsi_dis_single_txq()
1339 static int ice_vc_dis_qs_msg(struct ice_vf *vf, u8 *msg) in ice_vc_dis_qs_msg() argument
1348 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states) && in ice_vc_dis_qs_msg()
1349 !test_bit(ICE_VF_STATE_QS_ENA, vf->vf_states)) { in ice_vc_dis_qs_msg()
1354 if (!ice_vc_isvalid_vsi_id(vf, vqs->vsi_id)) { in ice_vc_dis_qs_msg()
1364 vsi = ice_get_vf_vsi(vf); in ice_vc_dis_qs_msg()
1374 if (!ice_vc_isvalid_q_id(vf, vqs->vsi_id, vf_q_id)) { in ice_vc_dis_qs_msg()
1379 if (ice_vf_vsi_dis_single_txq(vf, vsi, vf_q_id)) { in ice_vc_dis_qs_msg()
1389 bitmap_equal(&q_map, vf->rxq_ena, ICE_MAX_RSS_QS_PER_VF)) { in ice_vc_dis_qs_msg()
1397 bitmap_zero(vf->rxq_ena, ICE_MAX_RSS_QS_PER_VF); in ice_vc_dis_qs_msg()
1400 if (!ice_vc_isvalid_q_id(vf, vqs->vsi_id, vf_q_id)) { in ice_vc_dis_qs_msg()
1406 if (!test_bit(vf_q_id, vf->rxq_ena)) in ice_vc_dis_qs_msg()
1418 clear_bit(vf_q_id, vf->rxq_ena); in ice_vc_dis_qs_msg()
1423 if (v_ret == VIRTCHNL_STATUS_SUCCESS && ice_vf_has_no_qs_ena(vf)) in ice_vc_dis_qs_msg()
1424 clear_bit(ICE_VF_STATE_QS_ENA, vf->vf_states); in ice_vc_dis_qs_msg()
1428 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DISABLE_QUEUES, v_ret, in ice_vc_dis_qs_msg()
1442 ice_cfg_interrupt(struct ice_vf *vf, struct ice_vsi *vsi, u16 vector_id, in ice_cfg_interrupt() argument
1456 if (!ice_vc_isvalid_q_id(vf, vsi->vsi_num, vsi_q_id)) in ice_cfg_interrupt()
1470 if (!ice_vc_isvalid_q_id(vf, vsi->vsi_num, vsi_q_id)) in ice_cfg_interrupt()
1490 static int ice_vc_cfg_irq_map_msg(struct ice_vf *vf, u8 *msg) in ice_vc_cfg_irq_map_msg() argument
1496 struct ice_pf *pf = vf->pf; in ice_vc_cfg_irq_map_msg()
1507 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states) || in ice_vc_cfg_irq_map_msg()
1514 vsi = ice_get_vf_vsi(vf); in ice_vc_cfg_irq_map_msg()
1531 !ice_vc_isvalid_vsi_id(vf, vsi_id) || in ice_vc_cfg_irq_map_msg()
1552 ice_cfg_interrupt(vf, vsi, vector_id, map, q_vector); in ice_vc_cfg_irq_map_msg()
1559 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_IRQ_MAP, v_ret, in ice_vc_cfg_irq_map_msg()
1570 static int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg) in ice_vc_cfg_qs_msg() argument
1575 struct ice_pf *pf = vf->pf; in ice_vc_cfg_qs_msg()
1579 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) in ice_vc_cfg_qs_msg()
1582 if (!ice_vc_isvalid_vsi_id(vf, qci->vsi_id)) in ice_vc_cfg_qs_msg()
1585 vsi = ice_get_vf_vsi(vf); in ice_vc_cfg_qs_msg()
1592 vf->vf_id, min_t(u16, vsi->alloc_txq, vsi->alloc_rxq)); in ice_vc_cfg_qs_msg()
1604 !ice_vc_isvalid_q_id(vf, qci->vsi_id, qpi->txq.queue_id)) { in ice_vc_cfg_qs_msg()
1623 if (ice_vf_vsi_dis_single_txq(vf, vsi, q_idx)) in ice_vc_cfg_qs_msg()
1629 vf->vf_id, i); in ice_vc_cfg_qs_msg()
1636 u16 max_frame_size = ice_vc_get_max_frame_size(vf); in ice_vc_cfg_qs_msg()
1656 if (ice_vf_is_port_vlan_ena(vf)) in ice_vc_cfg_qs_msg()
1661 vf->vf_id, i); in ice_vc_cfg_qs_msg()
1668 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_VSI_QUEUES, in ice_vc_cfg_qs_msg()
1675 vf->vf_id, i); in ice_vc_cfg_qs_msg()
1676 if (ice_vf_vsi_dis_single_txq(vf, vsi, i)) in ice_vc_cfg_qs_msg()
1678 vf->vf_id, i); in ice_vc_cfg_qs_msg()
1682 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_VSI_QUEUES, in ice_vc_cfg_qs_msg()
1692 static bool ice_can_vf_change_mac(struct ice_vf *vf) in ice_can_vf_change_mac() argument
1698 if (vf->pf_set_mac && !ice_is_vf_trusted(vf)) in ice_can_vf_change_mac()
1747 ice_vfhw_mac_add(struct ice_vf *vf, struct virtchnl_ether_addr *vc_ether_addr) in ice_vfhw_mac_add() argument
1759 is_zero_ether_addr(vf->hw_lan_addr.addr)) || in ice_vfhw_mac_add()
1761 ether_addr_copy(vf->dev_lan_addr.addr, mac_addr); in ice_vfhw_mac_add()
1762 ether_addr_copy(vf->hw_lan_addr.addr, mac_addr); in ice_vfhw_mac_add()
1772 ether_addr_copy(vf->legacy_last_added_umac.addr, in ice_vfhw_mac_add()
1774 vf->legacy_last_added_umac.time_modified = jiffies; in ice_vfhw_mac_add()
1785 ice_vc_add_mac_addr(struct ice_vf *vf, struct ice_vsi *vsi, in ice_vc_add_mac_addr() argument
1788 struct device *dev = ice_pf_to_dev(vf->pf); in ice_vc_add_mac_addr()
1793 if (ether_addr_equal(mac_addr, vf->dev_lan_addr.addr)) in ice_vc_add_mac_addr()
1796 if (is_unicast_ether_addr(mac_addr) && !ice_can_vf_change_mac(vf)) { in ice_vc_add_mac_addr()
1804 vf->vf_id); in ice_vc_add_mac_addr()
1810 mac_addr, vf->vf_id, ret); in ice_vc_add_mac_addr()
1813 vf->num_mac++; in ice_vc_add_mac_addr()
1816 ice_vfhw_mac_add(vf, vc_ether_addr); in ice_vc_add_mac_addr()
1841 ice_update_legacy_cached_mac(struct ice_vf *vf, in ice_update_legacy_cached_mac() argument
1845 ice_is_legacy_umac_expired(&vf->legacy_last_added_umac)) in ice_update_legacy_cached_mac()
1848 ether_addr_copy(vf->dev_lan_addr.addr, vf->legacy_last_added_umac.addr); in ice_update_legacy_cached_mac()
1849 ether_addr_copy(vf->hw_lan_addr.addr, vf->legacy_last_added_umac.addr); in ice_update_legacy_cached_mac()
1858 ice_vfhw_mac_del(struct ice_vf *vf, struct virtchnl_ether_addr *vc_ether_addr) in ice_vfhw_mac_del() argument
1863 !ether_addr_equal(vf->dev_lan_addr.addr, mac_addr)) in ice_vfhw_mac_del()
1871 eth_zero_addr(vf->dev_lan_addr.addr); in ice_vfhw_mac_del()
1873 ice_update_legacy_cached_mac(vf, vc_ether_addr); in ice_vfhw_mac_del()
1883 ice_vc_del_mac_addr(struct ice_vf *vf, struct ice_vsi *vsi, in ice_vc_del_mac_addr() argument
1886 struct device *dev = ice_pf_to_dev(vf->pf); in ice_vc_del_mac_addr()
1890 if (!ice_can_vf_change_mac(vf) && in ice_vc_del_mac_addr()
1891 ether_addr_equal(vf->dev_lan_addr.addr, mac_addr)) in ice_vc_del_mac_addr()
1897 vf->vf_id); in ice_vc_del_mac_addr()
1901 mac_addr, vf->vf_id, status); in ice_vc_del_mac_addr()
1905 ice_vfhw_mac_del(vf, vc_ether_addr); in ice_vc_del_mac_addr()
1907 vf->num_mac--; in ice_vc_del_mac_addr()
1921 ice_vc_handle_mac_addr_msg(struct ice_vf *vf, u8 *msg, bool set) in ice_vc_handle_mac_addr_msg() argument
1924 (struct ice_vf *vf, struct ice_vsi *vsi, in ice_vc_handle_mac_addr_msg()
1929 struct ice_pf *pf = vf->pf; in ice_vc_handle_mac_addr_msg()
1942 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states) || in ice_vc_handle_mac_addr_msg()
1943 !ice_vc_isvalid_vsi_id(vf, al->vsi_id)) { in ice_vc_handle_mac_addr_msg()
1952 if (set && !ice_is_vf_trusted(vf) && in ice_vc_handle_mac_addr_msg()
1953 (vf->num_mac + al->num_elements) > ICE_MAX_MACADDR_PER_VF) { in ice_vc_handle_mac_addr_msg()
1955 vf->vf_id); in ice_vc_handle_mac_addr_msg()
1960 vsi = ice_get_vf_vsi(vf); in ice_vc_handle_mac_addr_msg()
1974 result = ice_vc_cfg_mac(vf, vsi, &al->list[i]); in ice_vc_handle_mac_addr_msg()
1985 return ice_vc_send_msg_to_vf(vf, vc_op, v_ret, NULL, 0); in ice_vc_handle_mac_addr_msg()
1995 static int ice_vc_add_mac_addr_msg(struct ice_vf *vf, u8 *msg) in ice_vc_add_mac_addr_msg() argument
1997 return ice_vc_handle_mac_addr_msg(vf, msg, true); in ice_vc_add_mac_addr_msg()
2007 static int ice_vc_del_mac_addr_msg(struct ice_vf *vf, u8 *msg) in ice_vc_del_mac_addr_msg() argument
2009 return ice_vc_handle_mac_addr_msg(vf, msg, false); in ice_vc_del_mac_addr_msg()
2022 static int ice_vc_request_qs_msg(struct ice_vf *vf, u8 *msg) in ice_vc_request_qs_msg() argument
2028 struct ice_pf *pf = vf->pf; in ice_vc_request_qs_msg()
2035 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_request_qs_msg()
2040 cur_queues = vf->num_vf_qs; in ice_vc_request_qs_msg()
2046 vf->vf_id); in ice_vc_request_qs_msg()
2049 vf->vf_id, ICE_MAX_RSS_QS_PER_VF); in ice_vc_request_qs_msg()
2054 vf->vf_id, req_queues - cur_queues, tx_rx_queue_left); in ice_vc_request_qs_msg()
2059 vf->num_req_qs = req_queues; in ice_vc_request_qs_msg()
2060 ice_reset_vf(vf, ICE_VF_RESET_NOTIFY); in ice_vc_request_qs_msg()
2062 vf->vf_id, req_queues); in ice_vc_request_qs_msg()
2068 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_REQUEST_QUEUES, in ice_vc_request_qs_msg()
2087 static bool ice_is_vlan_promisc_allowed(struct ice_vf *vf) in ice_is_vlan_promisc_allowed() argument
2089 if ((test_bit(ICE_VF_STATE_UC_PROMISC, vf->vf_states) || in ice_is_vlan_promisc_allowed()
2090 test_bit(ICE_VF_STATE_MC_PROMISC, vf->vf_states)) && in ice_is_vlan_promisc_allowed()
2091 test_bit(ICE_FLAG_VF_TRUE_PROMISC_ENA, vf->pf->flags)) in ice_is_vlan_promisc_allowed()
2150 static bool ice_vf_has_max_vlans(struct ice_vf *vf, struct ice_vsi *vsi) in ice_vf_has_max_vlans() argument
2152 if (ice_is_vf_trusted(vf)) in ice_vf_has_max_vlans()
2168 static int ice_vc_process_vlan_msg(struct ice_vf *vf, u8 *msg, bool add_v) in ice_vc_process_vlan_msg() argument
2173 struct ice_pf *pf = vf->pf; in ice_vc_process_vlan_msg()
2181 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_process_vlan_msg()
2186 if (!ice_vf_vlan_offload_ena(vf->driver_caps)) { in ice_vc_process_vlan_msg()
2191 if (!ice_vc_isvalid_vsi_id(vf, vfl->vsi_id)) { in ice_vc_process_vlan_msg()
2205 vsi = ice_get_vf_vsi(vf); in ice_vc_process_vlan_msg()
2211 if (add_v && ice_vf_has_max_vlans(vf, vsi)) { in ice_vc_process_vlan_msg()
2213 vf->vf_id); in ice_vc_process_vlan_msg()
2223 if (ice_vf_is_port_vlan_ena(vf) && !ice_is_dvm_ena(&pf->hw)) { in ice_vc_process_vlan_msg()
2232 vlan_promisc = ice_is_vlan_promisc_allowed(vf) && in ice_vc_process_vlan_msg()
2234 !ice_vf_is_port_vlan_ena(vf); in ice_vc_process_vlan_msg()
2241 if (ice_vf_has_max_vlans(vf, vsi)) { in ice_vc_process_vlan_msg()
2243 vf->vf_id); in ice_vc_process_vlan_msg()
2267 if (vf->spoofchk) { in ice_vc_process_vlan_msg()
2334 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ADD_VLAN, v_ret, in ice_vc_process_vlan_msg()
2337 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DEL_VLAN, v_ret, in ice_vc_process_vlan_msg()
2348 static int ice_vc_add_vlan_msg(struct ice_vf *vf, u8 *msg) in ice_vc_add_vlan_msg() argument
2350 return ice_vc_process_vlan_msg(vf, msg, true); in ice_vc_add_vlan_msg()
2360 static int ice_vc_remove_vlan_msg(struct ice_vf *vf, u8 *msg) in ice_vc_remove_vlan_msg() argument
2362 return ice_vc_process_vlan_msg(vf, msg, false); in ice_vc_remove_vlan_msg()
2371 static int ice_vc_ena_vlan_stripping(struct ice_vf *vf) in ice_vc_ena_vlan_stripping() argument
2376 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_ena_vlan_stripping()
2381 if (!ice_vf_vlan_offload_ena(vf->driver_caps)) { in ice_vc_ena_vlan_stripping()
2386 vsi = ice_get_vf_vsi(vf); in ice_vc_ena_vlan_stripping()
2396 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ENABLE_VLAN_STRIPPING, in ice_vc_ena_vlan_stripping()
2406 static int ice_vc_dis_vlan_stripping(struct ice_vf *vf) in ice_vc_dis_vlan_stripping() argument
2411 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_dis_vlan_stripping()
2416 if (!ice_vf_vlan_offload_ena(vf->driver_caps)) { in ice_vc_dis_vlan_stripping()
2421 vsi = ice_get_vf_vsi(vf); in ice_vc_dis_vlan_stripping()
2431 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DISABLE_VLAN_STRIPPING, in ice_vc_dis_vlan_stripping()
2442 static int ice_vf_init_vlan_stripping(struct ice_vf *vf) in ice_vf_init_vlan_stripping() argument
2444 struct ice_vsi *vsi = ice_get_vf_vsi(vf); in ice_vf_init_vlan_stripping()
2452 if (ice_vf_is_port_vlan_ena(vf) && !ice_is_dvm_ena(&vsi->back->hw)) in ice_vf_init_vlan_stripping()
2455 if (ice_vf_vlan_offload_ena(vf->driver_caps)) in ice_vf_init_vlan_stripping()
2461 static u16 ice_vc_get_max_vlan_fltrs(struct ice_vf *vf) in ice_vc_get_max_vlan_fltrs() argument
2463 if (vf->trusted) in ice_vc_get_max_vlan_fltrs()
2476 static bool ice_vf_outer_vlan_not_allowed(struct ice_vf *vf) in ice_vf_outer_vlan_not_allowed() argument
2478 if (ice_vf_is_port_vlan_ena(vf)) in ice_vf_outer_vlan_not_allowed()
2495 ice_vc_set_dvm_caps(struct ice_vf *vf, struct virtchnl_vlan_caps *caps) in ice_vc_set_dvm_caps() argument
2499 if (ice_vf_outer_vlan_not_allowed(vf)) { in ice_vc_set_dvm_caps()
2561 caps->filtering.max_filters = ice_vc_get_max_vlan_fltrs(vf); in ice_vc_set_dvm_caps()
2576 ice_vc_set_svm_caps(struct ice_vf *vf, struct virtchnl_vlan_caps *caps) in ice_vc_set_svm_caps() argument
2580 if (ice_vf_is_port_vlan_ena(vf)) { in ice_vc_set_svm_caps()
2617 caps->filtering.max_filters = ice_vc_get_max_vlan_fltrs(vf); in ice_vc_set_svm_caps()
2631 static int ice_vc_get_offload_vlan_v2_caps(struct ice_vf *vf) in ice_vc_get_offload_vlan_v2_caps() argument
2637 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_get_offload_vlan_v2_caps()
2649 if (ice_is_dvm_ena(&vf->pf->hw)) in ice_vc_get_offload_vlan_v2_caps()
2650 ice_vc_set_dvm_caps(vf, caps); in ice_vc_get_offload_vlan_v2_caps()
2652 ice_vc_set_svm_caps(vf, caps); in ice_vc_get_offload_vlan_v2_caps()
2655 memcpy(&vf->vlan_v2_caps, caps, sizeof(*caps)); in ice_vc_get_offload_vlan_v2_caps()
2658 err = ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_GET_OFFLOAD_VLAN_V2_CAPS, in ice_vc_get_offload_vlan_v2_caps()
2805 ice_vc_del_vlans(struct ice_vf *vf, struct ice_vsi *vsi, in ice_vc_del_vlans() argument
2808 bool vlan_promisc = ice_is_vlan_promisc_allowed(vf); in ice_vc_del_vlans()
2872 static int ice_vc_remove_vlan_v2_msg(struct ice_vf *vf, u8 *msg) in ice_vc_remove_vlan_v2_msg() argument
2879 if (!ice_vc_validate_vlan_filter_list(&vf->vlan_v2_caps.filtering, in ice_vc_remove_vlan_v2_msg()
2885 if (!ice_vc_isvalid_vsi_id(vf, vfl->vport_id)) { in ice_vc_remove_vlan_v2_msg()
2890 vsi = ice_get_vf_vsi(vf); in ice_vc_remove_vlan_v2_msg()
2896 if (ice_vc_del_vlans(vf, vsi, vfl)) in ice_vc_remove_vlan_v2_msg()
2900 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DEL_VLAN_V2, v_ret, NULL, in ice_vc_remove_vlan_v2_msg()
2911 ice_vc_add_vlans(struct ice_vf *vf, struct ice_vsi *vsi, in ice_vc_add_vlans() argument
2914 bool vlan_promisc = ice_is_vlan_promisc_allowed(vf); in ice_vc_add_vlans()
2939 if (vf->spoofchk && vlan.vid && ice_is_dvm_ena(&vsi->back->hw)) { in ice_vc_add_vlans()
2967 if (vf->spoofchk && vlan.vid) { in ice_vc_add_vlans()
3008 static int ice_vc_add_vlan_v2_msg(struct ice_vf *vf, u8 *msg) in ice_vc_add_vlan_v2_msg() argument
3015 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_add_vlan_v2_msg()
3020 if (!ice_vc_isvalid_vsi_id(vf, vfl->vport_id)) { in ice_vc_add_vlan_v2_msg()
3025 vsi = ice_get_vf_vsi(vf); in ice_vc_add_vlan_v2_msg()
3032 &vf->vlan_v2_caps.filtering, in ice_vc_add_vlan_v2_msg()
3038 if (ice_vc_add_vlans(vf, vsi, vfl)) in ice_vc_add_vlan_v2_msg()
3042 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ADD_VLAN_V2, v_ret, NULL, in ice_vc_add_vlan_v2_msg()
3201 static int ice_vc_ena_vlan_stripping_v2_msg(struct ice_vf *vf, u8 *msg) in ice_vc_ena_vlan_stripping_v2_msg() argument
3210 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_ena_vlan_stripping_v2_msg()
3215 if (!ice_vc_isvalid_vsi_id(vf, strip_msg->vport_id)) { in ice_vc_ena_vlan_stripping_v2_msg()
3220 vsi = ice_get_vf_vsi(vf); in ice_vc_ena_vlan_stripping_v2_msg()
3226 stripping_support = &vf->vlan_v2_caps.offloads.stripping_support; in ice_vc_ena_vlan_stripping_v2_msg()
3264 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ENABLE_VLAN_STRIPPING_V2, in ice_vc_ena_vlan_stripping_v2_msg()
3275 static int ice_vc_dis_vlan_stripping_v2_msg(struct ice_vf *vf, u8 *msg) in ice_vc_dis_vlan_stripping_v2_msg() argument
3284 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_dis_vlan_stripping_v2_msg()
3289 if (!ice_vc_isvalid_vsi_id(vf, strip_msg->vport_id)) { in ice_vc_dis_vlan_stripping_v2_msg()
3294 vsi = ice_get_vf_vsi(vf); in ice_vc_dis_vlan_stripping_v2_msg()
3300 stripping_support = &vf->vlan_v2_caps.offloads.stripping_support; in ice_vc_dis_vlan_stripping_v2_msg()
3334 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DISABLE_VLAN_STRIPPING_V2, in ice_vc_dis_vlan_stripping_v2_msg()
3345 static int ice_vc_ena_vlan_insertion_v2_msg(struct ice_vf *vf, u8 *msg) in ice_vc_ena_vlan_insertion_v2_msg() argument
3354 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_ena_vlan_insertion_v2_msg()
3359 if (!ice_vc_isvalid_vsi_id(vf, insertion_msg->vport_id)) { in ice_vc_ena_vlan_insertion_v2_msg()
3364 vsi = ice_get_vf_vsi(vf); in ice_vc_ena_vlan_insertion_v2_msg()
3370 insertion_support = &vf->vlan_v2_caps.offloads.insertion_support; in ice_vc_ena_vlan_insertion_v2_msg()
3393 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ENABLE_VLAN_INSERTION_V2, in ice_vc_ena_vlan_insertion_v2_msg()
3404 static int ice_vc_dis_vlan_insertion_v2_msg(struct ice_vf *vf, u8 *msg) in ice_vc_dis_vlan_insertion_v2_msg() argument
3413 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) { in ice_vc_dis_vlan_insertion_v2_msg()
3418 if (!ice_vc_isvalid_vsi_id(vf, insertion_msg->vport_id)) { in ice_vc_dis_vlan_insertion_v2_msg()
3423 vsi = ice_get_vf_vsi(vf); in ice_vc_dis_vlan_insertion_v2_msg()
3429 insertion_support = &vf->vlan_v2_caps.offloads.insertion_support; in ice_vc_dis_vlan_insertion_v2_msg()
3448 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DISABLE_VLAN_INSERTION_V2, in ice_vc_dis_vlan_insertion_v2_msg()
3487 void ice_virtchnl_set_dflt_ops(struct ice_vf *vf) in ice_virtchnl_set_dflt_ops() argument
3489 vf->virtchnl_ops = &ice_virtchnl_dflt_ops; in ice_virtchnl_set_dflt_ops()
3501 static int ice_vc_repr_add_mac(struct ice_vf *vf, u8 *msg) in ice_vc_repr_add_mac() argument
3510 if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states) || in ice_vc_repr_add_mac()
3511 !ice_vc_isvalid_vsi_id(vf, al->vsi_id)) { in ice_vc_repr_add_mac()
3516 pf = vf->pf; in ice_vc_repr_add_mac()
3518 vsi = ice_get_vf_vsi(vf); in ice_vc_repr_add_mac()
3529 ether_addr_equal(mac_addr, vf->hw_lan_addr.addr)) in ice_vc_repr_add_mac()
3532 if (vf->pf_set_mac) { in ice_vc_repr_add_mac()
3538 result = ice_eswitch_add_vf_mac_rule(pf, vf, mac_addr); in ice_vc_repr_add_mac()
3541 mac_addr, vf->vf_id, result); in ice_vc_repr_add_mac()
3545 ice_vfhw_mac_add(vf, &al->list[i]); in ice_vc_repr_add_mac()
3546 vf->num_mac++; in ice_vc_repr_add_mac()
3551 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ADD_ETH_ADDR, in ice_vc_repr_add_mac()
3564 ice_vc_repr_del_mac(struct ice_vf __always_unused *vf, u8 __always_unused *msg) in ice_vc_repr_del_mac() argument
3569 ice_update_legacy_cached_mac(vf, &al->list[0]); in ice_vc_repr_del_mac()
3571 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DEL_ETH_ADDR, in ice_vc_repr_del_mac()
3575 static int ice_vc_repr_add_vlan(struct ice_vf *vf, u8 __always_unused *msg) in ice_vc_repr_add_vlan() argument
3577 dev_dbg(ice_pf_to_dev(vf->pf), in ice_vc_repr_add_vlan()
3578 "Can't add VLAN in switchdev mode for VF %d\n", vf->vf_id); in ice_vc_repr_add_vlan()
3579 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ADD_VLAN, in ice_vc_repr_add_vlan()
3583 static int ice_vc_repr_del_vlan(struct ice_vf *vf, u8 __always_unused *msg) in ice_vc_repr_del_vlan() argument
3585 dev_dbg(ice_pf_to_dev(vf->pf), in ice_vc_repr_del_vlan()
3586 "Can't delete VLAN in switchdev mode for VF %d\n", vf->vf_id); in ice_vc_repr_del_vlan()
3587 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DEL_VLAN, in ice_vc_repr_del_vlan()
3591 static int ice_vc_repr_ena_vlan_stripping(struct ice_vf *vf) in ice_vc_repr_ena_vlan_stripping() argument
3593 dev_dbg(ice_pf_to_dev(vf->pf), in ice_vc_repr_ena_vlan_stripping()
3595 vf->vf_id); in ice_vc_repr_ena_vlan_stripping()
3596 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_ENABLE_VLAN_STRIPPING, in ice_vc_repr_ena_vlan_stripping()
3601 static int ice_vc_repr_dis_vlan_stripping(struct ice_vf *vf) in ice_vc_repr_dis_vlan_stripping() argument
3603 dev_dbg(ice_pf_to_dev(vf->pf), in ice_vc_repr_dis_vlan_stripping()
3605 vf->vf_id); in ice_vc_repr_dis_vlan_stripping()
3606 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_DISABLE_VLAN_STRIPPING, in ice_vc_repr_dis_vlan_stripping()
3612 ice_vc_repr_cfg_promiscuous_mode(struct ice_vf *vf, u8 __always_unused *msg) in ice_vc_repr_cfg_promiscuous_mode() argument
3614 dev_dbg(ice_pf_to_dev(vf->pf), in ice_vc_repr_cfg_promiscuous_mode()
3616 vf->vf_id); in ice_vc_repr_cfg_promiscuous_mode()
3617 return ice_vc_send_msg_to_vf(vf, VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE, in ice_vc_repr_cfg_promiscuous_mode()
3657 void ice_virtchnl_set_repr_ops(struct ice_vf *vf) in ice_virtchnl_set_repr_ops() argument
3659 vf->virtchnl_ops = &ice_virtchnl_repr_ops; in ice_virtchnl_set_repr_ops()
3677 struct ice_vf *vf = NULL; in ice_vc_process_vf_msg() local
3683 vf = ice_get_vf_by_id(pf, vf_id); in ice_vc_process_vf_msg()
3684 if (!vf) { in ice_vc_process_vf_msg()
3690 mutex_lock(&vf->cfg_lock); in ice_vc_process_vf_msg()
3693 if (test_bit(ICE_VF_STATE_DIS, vf->vf_states)) { in ice_vc_process_vf_msg()
3698 ops = vf->virtchnl_ops; in ice_vc_process_vf_msg()
3701 err = virtchnl_vc_validate_vf_msg(&vf->vf_ver, v_opcode, msg, msglen); in ice_vc_process_vf_msg()
3711 ice_vc_send_msg_to_vf(vf, v_opcode, VIRTCHNL_STATUS_ERR_PARAM, in ice_vc_process_vf_msg()
3718 if (!ice_vc_is_opcode_allowed(vf, v_opcode)) { in ice_vc_process_vf_msg()
3719 ice_vc_send_msg_to_vf(vf, v_opcode, in ice_vc_process_vf_msg()
3727 err = ops->get_ver_msg(vf, msg); in ice_vc_process_vf_msg()
3730 err = ops->get_vf_res_msg(vf, msg); in ice_vc_process_vf_msg()
3731 if (ice_vf_init_vlan_stripping(vf)) in ice_vc_process_vf_msg()
3733 vf->vf_id); in ice_vc_process_vf_msg()
3734 ice_vc_notify_vf_link_state(vf); in ice_vc_process_vf_msg()
3737 ops->reset_vf(vf); in ice_vc_process_vf_msg()
3740 err = ops->add_mac_addr_msg(vf, msg); in ice_vc_process_vf_msg()
3743 err = ops->del_mac_addr_msg(vf, msg); in ice_vc_process_vf_msg()
3746 err = ops->cfg_qs_msg(vf, msg); in ice_vc_process_vf_msg()
3749 err = ops->ena_qs_msg(vf, msg); in ice_vc_process_vf_msg()
3750 ice_vc_notify_vf_link_state(vf); in ice_vc_process_vf_msg()
3753 err = ops->dis_qs_msg(vf, msg); in ice_vc_process_vf_msg()
3756 err = ops->request_qs_msg(vf, msg); in ice_vc_process_vf_msg()
3759 err = ops->cfg_irq_map_msg(vf, msg); in ice_vc_process_vf_msg()
3762 err = ops->config_rss_key(vf, msg); in ice_vc_process_vf_msg()
3765 err = ops->config_rss_lut(vf, msg); in ice_vc_process_vf_msg()
3768 err = ops->get_stats_msg(vf, msg); in ice_vc_process_vf_msg()
3771 err = ops->cfg_promiscuous_mode_msg(vf, msg); in ice_vc_process_vf_msg()
3774 err = ops->add_vlan_msg(vf, msg); in ice_vc_process_vf_msg()
3777 err = ops->remove_vlan_msg(vf, msg); in ice_vc_process_vf_msg()
3780 err = ops->ena_vlan_stripping(vf); in ice_vc_process_vf_msg()
3783 err = ops->dis_vlan_stripping(vf); in ice_vc_process_vf_msg()
3786 err = ops->add_fdir_fltr_msg(vf, msg); in ice_vc_process_vf_msg()
3789 err = ops->del_fdir_fltr_msg(vf, msg); in ice_vc_process_vf_msg()
3792 err = ops->handle_rss_cfg_msg(vf, msg, true); in ice_vc_process_vf_msg()
3795 err = ops->handle_rss_cfg_msg(vf, msg, false); in ice_vc_process_vf_msg()
3798 err = ops->get_offload_vlan_v2_caps(vf); in ice_vc_process_vf_msg()
3801 err = ops->add_vlan_v2_msg(vf, msg); in ice_vc_process_vf_msg()
3804 err = ops->remove_vlan_v2_msg(vf, msg); in ice_vc_process_vf_msg()
3807 err = ops->ena_vlan_stripping_v2_msg(vf, msg); in ice_vc_process_vf_msg()
3810 err = ops->dis_vlan_stripping_v2_msg(vf, msg); in ice_vc_process_vf_msg()
3813 err = ops->ena_vlan_insertion_v2_msg(vf, msg); in ice_vc_process_vf_msg()
3816 err = ops->dis_vlan_insertion_v2_msg(vf, msg); in ice_vc_process_vf_msg()
3822 err = ice_vc_send_msg_to_vf(vf, v_opcode, in ice_vc_process_vf_msg()
3836 mutex_unlock(&vf->cfg_lock); in ice_vc_process_vf_msg()
3837 ice_put_vf(vf); in ice_vc_process_vf_msg()