GNU Linux-libre 4.9.331-gnu1
[releases.git] / include / linux / qed / qed_iov_if.h
1 /* 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 */
15 struct qed_iov_hv_ops {
16         int (*configure)(struct qed_dev *cdev, int num_vfs_param);
17
18         int (*set_mac) (struct qed_dev *cdev, u8 *mac, int vfid);
19
20         int (*set_vlan) (struct qed_dev *cdev, u16 vid, int vfid);
21
22         int (*get_config) (struct qed_dev *cdev, int vf_id,
23                            struct ifla_vf_info *ivi);
24
25         int (*set_link_state) (struct qed_dev *cdev, int vf_id,
26                                int link_state);
27
28         int (*set_spoof) (struct qed_dev *cdev, int vfid, bool val);
29
30         int (*set_rate) (struct qed_dev *cdev, int vfid,
31                          u32 min_rate, u32 max_rate);
32 };
33
34 #endif