Lines Matching refs:vf
44 mv_list[i].vf = -1; in ixgbe_alloc_vf_macvlans()
130 int vf = 0; in ixgbe_get_vfs() local
145 if (vf >= adapter->num_vfs) in ixgbe_get_vfs()
148 adapter->vfinfo[vf].vfdev = vfdev; in ixgbe_get_vfs()
149 ++vf; in ixgbe_get_vfs()
209 unsigned int num_vfs = adapter->num_vfs, vf; in ixgbe_disable_sriov() local
219 for (vf = 0; vf < num_vfs; ++vf) { in ixgbe_disable_sriov()
220 struct pci_dev *vfdev = adapter->vfinfo[vf].vfdev; in ixgbe_disable_sriov()
224 adapter->vfinfo[vf].vfdev = NULL; in ixgbe_disable_sriov()
365 u32 *msgbuf, u32 vf) in ixgbe_set_vf_multicasts() argument
369 struct vf_data_storage *vfinfo = &adapter->vfinfo[vf]; in ixgbe_set_vf_multicasts()
375 u32 vmolr = IXGBE_READ_REG(hw, IXGBE_VMOLR(vf)); in ixgbe_set_vf_multicasts()
403 IXGBE_WRITE_REG(hw, IXGBE_VMOLR(vf), vmolr); in ixgbe_set_vf_multicasts()
443 u32 vf) in ixgbe_set_vf_vlan() argument
459 err = hw->mac.ops.set_vfta(hw, vid, vf, !!add, false); in ixgbe_set_vf_vlan()
475 static int ixgbe_set_vf_lpe(struct ixgbe_adapter *adapter, u32 max_frame, u32 vf) in ixgbe_set_vf_lpe() argument
504 switch (adapter->vfinfo[vf].vf_api) { in ixgbe_set_vf_lpe()
528 vf_shift = vf % 32; in ixgbe_set_vf_lpe()
529 reg_offset = vf / 32; in ixgbe_set_vf_lpe()
560 static void ixgbe_set_vmolr(struct ixgbe_hw *hw, u32 vf, bool aupe) in ixgbe_set_vmolr() argument
562 u32 vmolr = IXGBE_READ_REG(hw, IXGBE_VMOLR(vf)); in ixgbe_set_vmolr()
568 IXGBE_WRITE_REG(hw, IXGBE_VMOLR(vf), vmolr); in ixgbe_set_vmolr()
571 static void ixgbe_clear_vmvir(struct ixgbe_adapter *adapter, u32 vf) in ixgbe_clear_vmvir() argument
575 IXGBE_WRITE_REG(hw, IXGBE_VMVIR(vf), 0); in ixgbe_clear_vmvir()
578 static void ixgbe_clear_vf_vlans(struct ixgbe_adapter *adapter, u32 vf) in ixgbe_clear_vf_vlans() argument
585 vlvfb_mask = BIT(vf % 32); in ixgbe_clear_vf_vlans()
590 u32 word = i * 2 + vf / 32; in ixgbe_clear_vf_vlans()
640 int vf, int index, unsigned char *mac_addr) in ixgbe_set_vf_macvlan() argument
648 if (entry->vf == vf) { in ixgbe_set_vf_macvlan()
649 entry->vf = -1; in ixgbe_set_vf_macvlan()
653 entry->vf_macvlan, vf); in ixgbe_set_vf_macvlan()
683 retval = ixgbe_add_mac_filter(adapter, mac_addr, vf); in ixgbe_set_vf_macvlan()
689 entry->vf = vf; in ixgbe_set_vf_macvlan()
695 static inline void ixgbe_vf_reset_event(struct ixgbe_adapter *adapter, u32 vf) in ixgbe_vf_reset_event() argument
699 struct vf_data_storage *vfinfo = &adapter->vfinfo[vf]; in ixgbe_vf_reset_event()
706 ixgbe_clear_vf_vlans(adapter, vf); in ixgbe_vf_reset_event()
709 ixgbe_set_vf_vlan(adapter, true, vfinfo->pf_vlan, vf); in ixgbe_vf_reset_event()
712 ixgbe_set_vmolr(hw, vf, !vfinfo->pf_vlan); in ixgbe_vf_reset_event()
716 ixgbe_clear_vmvir(adapter, vf); in ixgbe_vf_reset_event()
720 vfinfo->pf_qos, vf); in ixgbe_vf_reset_event()
723 adapter->default_up, vf); in ixgbe_vf_reset_event()
726 hw->mac.ops.set_vlan_anti_spoofing(hw, true, vf); in ixgbe_vf_reset_event()
727 hw->mac.ops.set_mac_anti_spoofing(hw, true, vf); in ixgbe_vf_reset_event()
732 adapter->vfinfo[vf].num_vf_mc_hashes = 0; in ixgbe_vf_reset_event()
735 ixgbe_ipsec_vf_clear(adapter, vf); in ixgbe_vf_reset_event()
740 ixgbe_del_mac_filter(adapter, adapter->vfinfo[vf].vf_mac_addresses, vf); in ixgbe_vf_reset_event()
741 ixgbe_set_vf_macvlan(adapter, vf, 0, NULL); in ixgbe_vf_reset_event()
744 adapter->vfinfo[vf].vf_api = ixgbe_mbox_api_10; in ixgbe_vf_reset_event()
748 unsigned int reg_idx = (vf * q_per_pool) + queue; in ixgbe_vf_reset_event()
764 static void ixgbe_vf_clear_mbx(struct ixgbe_adapter *adapter, u32 vf) in ixgbe_vf_clear_mbx() argument
771 IXGBE_WRITE_REG_ARRAY(hw, IXGBE_PFMBMEM(vf), word, 0); in ixgbe_vf_clear_mbx()
777 int vf, unsigned char *mac_addr) in ixgbe_set_vf_mac() argument
781 ixgbe_del_mac_filter(adapter, adapter->vfinfo[vf].vf_mac_addresses, vf); in ixgbe_set_vf_mac()
782 retval = ixgbe_add_mac_filter(adapter, mac_addr, vf); in ixgbe_set_vf_mac()
784 memcpy(adapter->vfinfo[vf].vf_mac_addresses, mac_addr, in ixgbe_set_vf_mac()
787 eth_zero_addr(adapter->vfinfo[vf].vf_mac_addresses); in ixgbe_set_vf_mac()
805 static inline void ixgbe_write_qde(struct ixgbe_adapter *adapter, u32 vf, in ixgbe_write_qde() argument
813 for (i = vf * q_per_pool; i < ((vf + 1) * q_per_pool); i++) { in ixgbe_write_qde()
833 static void ixgbe_set_vf_rx_tx(struct ixgbe_adapter *adapter, int vf) in ixgbe_set_vf_rx_tx() argument
839 vf_shift = vf % 32; in ixgbe_set_vf_rx_tx()
840 reg_offset = vf / 32; in ixgbe_set_vf_rx_tx()
845 if (adapter->vfinfo[vf].link_enable) { in ixgbe_set_vf_rx_tx()
877 static int ixgbe_vf_reset_msg(struct ixgbe_adapter *adapter, u32 vf) in ixgbe_vf_reset_msg() argument
881 unsigned char *vf_mac = adapter->vfinfo[vf].vf_mac_addresses; in ixgbe_vf_reset_msg()
888 e_info(probe, "VF Reset msg received from vf %d\n", vf); in ixgbe_vf_reset_msg()
891 ixgbe_vf_reset_event(adapter, vf); in ixgbe_vf_reset_msg()
893 ixgbe_vf_clear_mbx(adapter, vf); in ixgbe_vf_reset_msg()
897 ixgbe_set_vf_mac(adapter, vf, vf_mac); in ixgbe_vf_reset_msg()
899 vf_shift = vf % 32; in ixgbe_vf_reset_msg()
900 reg_offset = vf / 32; in ixgbe_vf_reset_msg()
904 if (adapter->vfinfo[vf].pf_vlan) in ixgbe_vf_reset_msg()
907 ixgbe_write_qde(adapter, vf, reg); in ixgbe_vf_reset_msg()
909 ixgbe_set_vf_rx_tx(adapter, vf); in ixgbe_vf_reset_msg()
912 adapter->vfinfo[vf].clear_to_send = true; in ixgbe_vf_reset_msg()
924 IXGBE_WRITE_REG(hw, IXGBE_PVFTDWBAHn(q_per_pool, vf, i), 0); in ixgbe_vf_reset_msg()
925 IXGBE_WRITE_REG(hw, IXGBE_PVFTDWBALn(q_per_pool, vf, i), 0); in ixgbe_vf_reset_msg()
930 if (!is_zero_ether_addr(vf_mac) && adapter->vfinfo[vf].pf_set_mac) { in ixgbe_vf_reset_msg()
942 ixgbe_write_mbx(hw, msgbuf, IXGBE_VF_PERMADDR_MSG_LEN, vf); in ixgbe_vf_reset_msg()
948 u32 *msgbuf, u32 vf) in ixgbe_set_vf_mac_addr() argument
953 e_warn(drv, "VF %d attempted to set invalid mac\n", vf); in ixgbe_set_vf_mac_addr()
957 if (adapter->vfinfo[vf].pf_set_mac && !adapter->vfinfo[vf].trusted && in ixgbe_set_vf_mac_addr()
958 !ether_addr_equal(adapter->vfinfo[vf].vf_mac_addresses, new_mac)) { in ixgbe_set_vf_mac_addr()
962 vf); in ixgbe_set_vf_mac_addr()
966 return ixgbe_set_vf_mac(adapter, vf, new_mac) < 0; in ixgbe_set_vf_mac_addr()
970 u32 *msgbuf, u32 vf) in ixgbe_set_vf_vlan_msg() argument
976 if (adapter->vfinfo[vf].pf_vlan || tcs) { in ixgbe_set_vf_vlan_msg()
980 vf); in ixgbe_set_vf_vlan_msg()
988 return ixgbe_set_vf_vlan(adapter, add, vid, vf); in ixgbe_set_vf_vlan_msg()
992 u32 *msgbuf, u32 vf) in ixgbe_set_vf_macvlan_msg() argument
998 if (adapter->vfinfo[vf].pf_set_mac && !adapter->vfinfo[vf].trusted && in ixgbe_set_vf_macvlan_msg()
1002 vf); in ixgbe_set_vf_macvlan_msg()
1009 e_warn(drv, "VF %d attempted to set invalid mac\n", vf); in ixgbe_set_vf_macvlan_msg()
1017 if (adapter->vfinfo[vf].spoofchk_enabled) { in ixgbe_set_vf_macvlan_msg()
1020 hw->mac.ops.set_mac_anti_spoofing(hw, false, vf); in ixgbe_set_vf_macvlan_msg()
1021 hw->mac.ops.set_vlan_anti_spoofing(hw, false, vf); in ixgbe_set_vf_macvlan_msg()
1025 err = ixgbe_set_vf_macvlan(adapter, vf, index, new_mac); in ixgbe_set_vf_macvlan_msg()
1029 vf); in ixgbe_set_vf_macvlan_msg()
1035 u32 *msgbuf, u32 vf) in ixgbe_negotiate_vf_api() argument
1045 adapter->vfinfo[vf].vf_api = api; in ixgbe_negotiate_vf_api()
1051 e_dbg(drv, "VF %d requested unsupported api version %u\n", vf, api); in ixgbe_negotiate_vf_api()
1057 u32 *msgbuf, u32 vf) in ixgbe_get_vf_queues() argument
1065 switch (adapter->vfinfo[vf].vf_api) { in ixgbe_get_vf_queues()
1087 else if (adapter->vfinfo[vf].pf_vlan || adapter->vfinfo[vf].pf_qos) in ixgbe_get_vf_queues()
1098 static int ixgbe_get_vf_reta(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf) in ixgbe_get_vf_reta() argument
1106 if (!adapter->vfinfo[vf].rss_query_enabled) in ixgbe_get_vf_reta()
1110 switch (adapter->vfinfo[vf].vf_api) { in ixgbe_get_vf_reta()
1134 u32 *msgbuf, u32 vf) in ixgbe_get_vf_rss_key() argument
1139 if (!adapter->vfinfo[vf].rss_query_enabled) in ixgbe_get_vf_rss_key()
1143 switch (adapter->vfinfo[vf].vf_api) { in ixgbe_get_vf_rss_key()
1158 u32 *msgbuf, u32 vf) in ixgbe_update_vf_xcast_mode() argument
1165 switch (adapter->vfinfo[vf].vf_api) { in ixgbe_update_vf_xcast_mode()
1179 !adapter->vfinfo[vf].trusted) { in ixgbe_update_vf_xcast_mode()
1183 if (adapter->vfinfo[vf].xcast_mode == xcast_mode) in ixgbe_update_vf_xcast_mode()
1220 vmolr = IXGBE_READ_REG(hw, IXGBE_VMOLR(vf)); in ixgbe_update_vf_xcast_mode()
1223 IXGBE_WRITE_REG(hw, IXGBE_VMOLR(vf), vmolr); in ixgbe_update_vf_xcast_mode()
1225 adapter->vfinfo[vf].xcast_mode = xcast_mode; in ixgbe_update_vf_xcast_mode()
1234 u32 *msgbuf, u32 vf) in ixgbe_get_vf_link_state() argument
1239 switch (adapter->vfinfo[vf].vf_api) { in ixgbe_get_vf_link_state()
1248 *link_state = adapter->vfinfo[vf].link_enable; in ixgbe_get_vf_link_state()
1253 static int ixgbe_rcv_msg_from_vf(struct ixgbe_adapter *adapter, u32 vf) in ixgbe_rcv_msg_from_vf() argument
1260 retval = ixgbe_read_mbx(hw, msgbuf, mbx_size, vf); in ixgbe_rcv_msg_from_vf()
1275 return ixgbe_vf_reset_msg(adapter, vf); in ixgbe_rcv_msg_from_vf()
1281 if (!adapter->vfinfo[vf].clear_to_send) { in ixgbe_rcv_msg_from_vf()
1283 ixgbe_write_mbx(hw, msgbuf, 1, vf); in ixgbe_rcv_msg_from_vf()
1289 retval = ixgbe_set_vf_mac_addr(adapter, msgbuf, vf); in ixgbe_rcv_msg_from_vf()
1292 retval = ixgbe_set_vf_multicasts(adapter, msgbuf, vf); in ixgbe_rcv_msg_from_vf()
1295 retval = ixgbe_set_vf_vlan_msg(adapter, msgbuf, vf); in ixgbe_rcv_msg_from_vf()
1298 retval = ixgbe_set_vf_lpe(adapter, msgbuf[1], vf); in ixgbe_rcv_msg_from_vf()
1301 retval = ixgbe_set_vf_macvlan_msg(adapter, msgbuf, vf); in ixgbe_rcv_msg_from_vf()
1304 retval = ixgbe_negotiate_vf_api(adapter, msgbuf, vf); in ixgbe_rcv_msg_from_vf()
1307 retval = ixgbe_get_vf_queues(adapter, msgbuf, vf); in ixgbe_rcv_msg_from_vf()
1310 retval = ixgbe_get_vf_reta(adapter, msgbuf, vf); in ixgbe_rcv_msg_from_vf()
1313 retval = ixgbe_get_vf_rss_key(adapter, msgbuf, vf); in ixgbe_rcv_msg_from_vf()
1316 retval = ixgbe_update_vf_xcast_mode(adapter, msgbuf, vf); in ixgbe_rcv_msg_from_vf()
1319 retval = ixgbe_get_vf_link_state(adapter, msgbuf, vf); in ixgbe_rcv_msg_from_vf()
1322 retval = ixgbe_ipsec_vf_add_sa(adapter, msgbuf, vf); in ixgbe_rcv_msg_from_vf()
1325 retval = ixgbe_ipsec_vf_del_sa(adapter, msgbuf, vf); in ixgbe_rcv_msg_from_vf()
1341 ixgbe_write_mbx(hw, msgbuf, mbx_size, vf); in ixgbe_rcv_msg_from_vf()
1346 static void ixgbe_rcv_ack_from_vf(struct ixgbe_adapter *adapter, u32 vf) in ixgbe_rcv_ack_from_vf() argument
1352 if (!adapter->vfinfo[vf].clear_to_send) in ixgbe_rcv_ack_from_vf()
1353 ixgbe_write_mbx(hw, &msg, 1, vf); in ixgbe_rcv_ack_from_vf()
1360 u32 vf; in ixgbe_msg_task() local
1363 for (vf = 0; vf < adapter->num_vfs; vf++) { in ixgbe_msg_task()
1365 if (!ixgbe_check_for_rst(hw, vf)) in ixgbe_msg_task()
1366 ixgbe_vf_reset_event(adapter, vf); in ixgbe_msg_task()
1369 if (!ixgbe_check_for_msg(hw, vf)) in ixgbe_msg_task()
1370 ixgbe_rcv_msg_from_vf(adapter, vf); in ixgbe_msg_task()
1373 if (!ixgbe_check_for_ack(hw, vf)) in ixgbe_msg_task()
1374 ixgbe_rcv_ack_from_vf(adapter, vf); in ixgbe_msg_task()
1379 static inline void ixgbe_ping_vf(struct ixgbe_adapter *adapter, int vf) in ixgbe_ping_vf() argument
1385 if (adapter->vfinfo[vf].clear_to_send) in ixgbe_ping_vf()
1387 ixgbe_write_mbx(hw, &ping, 1, vf); in ixgbe_ping_vf()
1419 int ixgbe_ndo_set_vf_mac(struct net_device *netdev, int vf, u8 *mac) in ixgbe_ndo_set_vf_mac() argument
1424 if (vf >= adapter->num_vfs) in ixgbe_ndo_set_vf_mac()
1429 mac, vf); in ixgbe_ndo_set_vf_mac()
1432 retval = ixgbe_set_vf_mac(adapter, vf, mac); in ixgbe_ndo_set_vf_mac()
1434 adapter->vfinfo[vf].pf_set_mac = true; in ixgbe_ndo_set_vf_mac()
1445 adapter->vfinfo[vf].vf_mac_addresses; in ixgbe_ndo_set_vf_mac()
1451 dev_info(&adapter->pdev->dev, "removing MAC on VF %d\n", vf); in ixgbe_ndo_set_vf_mac()
1453 retval = ixgbe_del_mac_filter(adapter, vf_mac_addr, vf); in ixgbe_ndo_set_vf_mac()
1455 adapter->vfinfo[vf].pf_set_mac = false; in ixgbe_ndo_set_vf_mac()
1467 static int ixgbe_enable_port_vlan(struct ixgbe_adapter *adapter, int vf, in ixgbe_enable_port_vlan() argument
1473 err = ixgbe_set_vf_vlan(adapter, true, vlan, vf); in ixgbe_enable_port_vlan()
1478 ixgbe_set_vf_vlan(adapter, false, 0, vf); in ixgbe_enable_port_vlan()
1480 ixgbe_set_vmvir(adapter, vlan, qos, vf); in ixgbe_enable_port_vlan()
1481 ixgbe_set_vmolr(hw, vf, false); in ixgbe_enable_port_vlan()
1485 ixgbe_write_qde(adapter, vf, IXGBE_QDE_ENABLE | in ixgbe_enable_port_vlan()
1488 adapter->vfinfo[vf].pf_vlan = vlan; in ixgbe_enable_port_vlan()
1489 adapter->vfinfo[vf].pf_qos = qos; in ixgbe_enable_port_vlan()
1491 "Setting VLAN %d, QOS 0x%x on VF %d\n", vlan, qos, vf); in ixgbe_enable_port_vlan()
1503 static int ixgbe_disable_port_vlan(struct ixgbe_adapter *adapter, int vf) in ixgbe_disable_port_vlan() argument
1509 adapter->vfinfo[vf].pf_vlan, vf); in ixgbe_disable_port_vlan()
1511 ixgbe_set_vf_vlan(adapter, true, 0, vf); in ixgbe_disable_port_vlan()
1512 ixgbe_clear_vmvir(adapter, vf); in ixgbe_disable_port_vlan()
1513 ixgbe_set_vmolr(hw, vf, true); in ixgbe_disable_port_vlan()
1517 ixgbe_write_qde(adapter, vf, IXGBE_QDE_ENABLE); in ixgbe_disable_port_vlan()
1519 adapter->vfinfo[vf].pf_vlan = 0; in ixgbe_disable_port_vlan()
1520 adapter->vfinfo[vf].pf_qos = 0; in ixgbe_disable_port_vlan()
1525 int ixgbe_ndo_set_vf_vlan(struct net_device *netdev, int vf, u16 vlan, in ixgbe_ndo_set_vf_vlan() argument
1531 if ((vf >= adapter->num_vfs) || (vlan > 4095) || (qos > 7)) in ixgbe_ndo_set_vf_vlan()
1543 if (adapter->vfinfo[vf].pf_vlan) in ixgbe_ndo_set_vf_vlan()
1544 err = ixgbe_disable_port_vlan(adapter, vf); in ixgbe_ndo_set_vf_vlan()
1547 err = ixgbe_enable_port_vlan(adapter, vf, vlan, qos); in ixgbe_ndo_set_vf_vlan()
1549 err = ixgbe_disable_port_vlan(adapter, vf); in ixgbe_ndo_set_vf_vlan()
1570 static void ixgbe_set_vf_rate_limit(struct ixgbe_adapter *adapter, int vf) in ixgbe_set_vf_rate_limit() argument
1576 u16 tx_rate = adapter->vfinfo[vf].tx_rate; in ixgbe_set_vf_rate_limit()
1615 unsigned int reg_idx = (vf * queues_per_pool) + queue; in ixgbe_set_vf_rate_limit()
1644 int ixgbe_ndo_set_vf_bw(struct net_device *netdev, int vf, int min_tx_rate, in ixgbe_ndo_set_vf_bw() argument
1651 if (vf >= adapter->num_vfs) in ixgbe_ndo_set_vf_bw()
1672 adapter->vfinfo[vf].tx_rate = max_tx_rate; in ixgbe_ndo_set_vf_bw()
1675 ixgbe_set_vf_rate_limit(adapter, vf); in ixgbe_ndo_set_vf_bw()
1680 int ixgbe_ndo_set_vf_spoofchk(struct net_device *netdev, int vf, bool setting) in ixgbe_ndo_set_vf_spoofchk() argument
1685 if (vf >= adapter->num_vfs) in ixgbe_ndo_set_vf_spoofchk()
1688 adapter->vfinfo[vf].spoofchk_enabled = setting; in ixgbe_ndo_set_vf_spoofchk()
1691 hw->mac.ops.set_mac_anti_spoofing(hw, setting, vf); in ixgbe_ndo_set_vf_spoofchk()
1694 hw->mac.ops.set_vlan_anti_spoofing(hw, setting, vf); in ixgbe_ndo_set_vf_spoofchk()
1710 hw->mac.ops.set_ethertype_anti_spoofing(hw, setting, vf); in ixgbe_ndo_set_vf_spoofchk()
1724 void ixgbe_set_vf_link_state(struct ixgbe_adapter *adapter, int vf, int state) in ixgbe_set_vf_link_state() argument
1726 adapter->vfinfo[vf].link_state = state; in ixgbe_set_vf_link_state()
1731 adapter->vfinfo[vf].link_enable = false; in ixgbe_set_vf_link_state()
1733 adapter->vfinfo[vf].link_enable = true; in ixgbe_set_vf_link_state()
1736 adapter->vfinfo[vf].link_enable = true; in ixgbe_set_vf_link_state()
1739 adapter->vfinfo[vf].link_enable = false; in ixgbe_set_vf_link_state()
1743 ixgbe_set_vf_rx_tx(adapter, vf); in ixgbe_set_vf_link_state()
1746 adapter->vfinfo[vf].clear_to_send = false; in ixgbe_set_vf_link_state()
1747 ixgbe_ping_vf(adapter, vf); in ixgbe_set_vf_link_state()
1758 int ixgbe_ndo_set_vf_link_state(struct net_device *netdev, int vf, int state) in ixgbe_ndo_set_vf_link_state() argument
1763 if (vf < 0 || vf >= adapter->num_vfs) { in ixgbe_ndo_set_vf_link_state()
1765 "NDO set VF link - invalid VF identifier %d\n", vf); in ixgbe_ndo_set_vf_link_state()
1773 vf, state); in ixgbe_ndo_set_vf_link_state()
1777 "NDO set VF %d link state disable\n", vf); in ixgbe_ndo_set_vf_link_state()
1778 ixgbe_set_vf_link_state(adapter, vf, state); in ixgbe_ndo_set_vf_link_state()
1782 "NDO set VF %d link state auto\n", vf); in ixgbe_ndo_set_vf_link_state()
1783 ixgbe_set_vf_link_state(adapter, vf, state); in ixgbe_ndo_set_vf_link_state()
1787 "NDO set VF %d - invalid link state %d\n", vf, state); in ixgbe_ndo_set_vf_link_state()
1794 int ixgbe_ndo_set_vf_rss_query_en(struct net_device *netdev, int vf, in ixgbe_ndo_set_vf_rss_query_en() argument
1806 if (vf >= adapter->num_vfs) in ixgbe_ndo_set_vf_rss_query_en()
1809 adapter->vfinfo[vf].rss_query_enabled = setting; in ixgbe_ndo_set_vf_rss_query_en()
1814 int ixgbe_ndo_set_vf_trust(struct net_device *netdev, int vf, bool setting) in ixgbe_ndo_set_vf_trust() argument
1818 if (vf >= adapter->num_vfs) in ixgbe_ndo_set_vf_trust()
1822 if (adapter->vfinfo[vf].trusted == setting) in ixgbe_ndo_set_vf_trust()
1825 adapter->vfinfo[vf].trusted = setting; in ixgbe_ndo_set_vf_trust()
1828 adapter->vfinfo[vf].clear_to_send = false; in ixgbe_ndo_set_vf_trust()
1829 ixgbe_ping_vf(adapter, vf); in ixgbe_ndo_set_vf_trust()
1831 e_info(drv, "VF %u is %strusted\n", vf, setting ? "" : "not "); in ixgbe_ndo_set_vf_trust()
1837 int vf, struct ifla_vf_info *ivi) in ixgbe_ndo_get_vf_config() argument
1840 if (vf >= adapter->num_vfs) in ixgbe_ndo_get_vf_config()
1842 ivi->vf = vf; in ixgbe_ndo_get_vf_config()
1843 memcpy(&ivi->mac, adapter->vfinfo[vf].vf_mac_addresses, ETH_ALEN); in ixgbe_ndo_get_vf_config()
1844 ivi->max_tx_rate = adapter->vfinfo[vf].tx_rate; in ixgbe_ndo_get_vf_config()
1846 ivi->vlan = adapter->vfinfo[vf].pf_vlan; in ixgbe_ndo_get_vf_config()
1847 ivi->qos = adapter->vfinfo[vf].pf_qos; in ixgbe_ndo_get_vf_config()
1848 ivi->spoofchk = adapter->vfinfo[vf].spoofchk_enabled; in ixgbe_ndo_get_vf_config()
1849 ivi->rss_query_en = adapter->vfinfo[vf].rss_query_enabled; in ixgbe_ndo_get_vf_config()
1850 ivi->trusted = adapter->vfinfo[vf].trusted; in ixgbe_ndo_get_vf_config()
1851 ivi->linkstate = adapter->vfinfo[vf].link_state; in ixgbe_ndo_get_vf_config()