xref: /linux/drivers/net/ethernet/sfc/sriov.h (revision b85d45947951d23cb22d90caecf4c1eb81342c96)
1 /****************************************************************************
2  * Driver for Solarflare network controllers and boards
3  * Copyright 2014-2015 Solarflare Communications Inc.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 as published
7  * by the Free Software Foundation, incorporated herein by reference.
8  */
9 
10 #ifndef EFX_SRIOV_H
11 #define EFX_SRIOV_H
12 
13 #include "net_driver.h"
14 
15 #ifdef CONFIG_SFC_SRIOV
16 
17 int efx_sriov_set_vf_mac(struct net_device *net_dev, int vf_i, u8 *mac);
18 int efx_sriov_set_vf_vlan(struct net_device *net_dev, int vf_i, u16 vlan,
19 			  u8 qos);
20 int efx_sriov_set_vf_spoofchk(struct net_device *net_dev, int vf_i,
21 			      bool spoofchk);
22 int efx_sriov_get_vf_config(struct net_device *net_dev, int vf_i,
23 			    struct ifla_vf_info *ivi);
24 int efx_sriov_set_vf_link_state(struct net_device *net_dev, int vf_i,
25 				int link_state);
26 int efx_sriov_get_phys_port_id(struct net_device *net_dev,
27 			       struct netdev_phys_item_id *ppid);
28 
29 #endif /* CONFIG_SFC_SRIOV */
30 
31 #endif /* EFX_SRIOV_H */
32