blob: 5a4f8d0899e9d94f9cf87e527103b739e3bb7391 [file] [log] [blame]
Yuval Mintz0b55e272016-05-11 16:36:15 +03001/* QLogic qed NIC Driver
2 * Copyright (c) 2015 QLogic Corporation
3 *
4 * This software is available under the terms of the GNU General Public License
5 * (GPL) Version 2, available from the file COPYING in the main directory of
6 * this source tree.
7 */
8
9#ifndef _QED_IOV_IF_H
10#define _QED_IOV_IF_H
11
12#include <linux/qed/qed_if.h>
13
14/* Structs used by PF to control and manipulate child VFs */
15struct qed_iov_hv_ops {
16 int (*configure)(struct qed_dev *cdev, int num_vfs_param);
17
Yuval Mintzeff16962016-05-11 16:36:21 +030018 int (*set_mac) (struct qed_dev *cdev, u8 *mac, int vfid);
19
Yuval Mintz08feecd2016-05-11 16:36:20 +030020 int (*set_vlan) (struct qed_dev *cdev, u16 vid, int vfid);
Yuval Mintz733def62016-05-11 16:36:22 +030021
Yuval Mintz73390ac2016-05-11 16:36:24 +030022 int (*get_config) (struct qed_dev *cdev, int vf_id,
23 struct ifla_vf_info *ivi);
24
Yuval Mintz733def62016-05-11 16:36:22 +030025 int (*set_link_state) (struct qed_dev *cdev, int vf_id,
26 int link_state);
27
Yuval Mintz6ddc7602016-05-11 16:36:23 +030028 int (*set_spoof) (struct qed_dev *cdev, int vfid, bool val);
29
Yuval Mintz733def62016-05-11 16:36:22 +030030 int (*set_rate) (struct qed_dev *cdev, int vfid,
31 u32 min_rate, u32 max_rate);
Yuval Mintz0b55e272016-05-11 16:36:15 +030032};
33
34#endif