summaryrefslogtreecommitdiff
path: root/include/linux/qed
diff options
context:
space:
mode:
authorYuval Mintz <Yuval.Mintz@qlogic.com>2016-05-11 16:36:21 +0300
committerDavid S. Miller <davem@davemloft.net>2016-05-12 00:04:08 -0400
commiteff169608c250193e72089dc4ab15cb79e0bd68c (patch)
tree1e2c0fef7a427954be8800ee21914e34a6c61d87 /include/linux/qed
parent08feecd7fc709077ce92d21a979f522a5f57170a (diff)
downloadlwn-eff169608c250193e72089dc4ab15cb79e0bd68c.tar.gz
lwn-eff169608c250193e72089dc4ab15cb79e0bd68c.zip
qed*: Support forced MAC
Allows the PF to enforce the VF's mac. i.e., by using `ip link ... vf <x> mac <value>'. While a MAC is forced, PF would prevent the VF from configuring any other MAC. Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/qed')
-rw-r--r--include/linux/qed/qed_eth_if.h3
-rw-r--r--include/linux/qed/qed_iov_if.h2
2 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/qed/qed_eth_if.h b/include/linux/qed/qed_eth_if.h
index acfafca43aa5..e0f6e6482031 100644
--- a/include/linux/qed/qed_eth_if.h
+++ b/include/linux/qed/qed_eth_if.h
@@ -122,6 +122,7 @@ struct qed_tunn_params {
struct qed_eth_cb_ops {
struct qed_common_cb_ops common;
+ void (*force_mac) (void *dev, u8 *mac);
};
struct qed_eth_ops {
@@ -137,6 +138,8 @@ struct qed_eth_ops {
struct qed_eth_cb_ops *ops,
void *cookie);
+ bool(*check_mac) (struct qed_dev *cdev, u8 *mac);
+
int (*vport_start)(struct qed_dev *cdev,
struct qed_start_vport_params *params);
diff --git a/include/linux/qed/qed_iov_if.h b/include/linux/qed/qed_iov_if.h
index 825c007d50f1..7a67fbf4336a 100644
--- a/include/linux/qed/qed_iov_if.h
+++ b/include/linux/qed/qed_iov_if.h
@@ -15,6 +15,8 @@
struct qed_iov_hv_ops {
int (*configure)(struct qed_dev *cdev, int num_vfs_param);
+ int (*set_mac) (struct qed_dev *cdev, u8 *mac, int vfid);
+
int (*set_vlan) (struct qed_dev *cdev, u16 vid, int vfid);
};