xref: /openbmc/linux/drivers/net/ethernet/sfc/sriov.h (revision 79aab093)
17fa8d547SShradha Shah /****************************************************************************
27fa8d547SShradha Shah  * Driver for Solarflare network controllers and boards
37fa8d547SShradha Shah  * Copyright 2014-2015 Solarflare Communications Inc.
47fa8d547SShradha Shah  *
57fa8d547SShradha Shah  * This program is free software; you can redistribute it and/or modify it
67fa8d547SShradha Shah  * under the terms of the GNU General Public License version 2 as published
77fa8d547SShradha Shah  * by the Free Software Foundation, incorporated herein by reference.
87fa8d547SShradha Shah  */
97fa8d547SShradha Shah 
107fa8d547SShradha Shah #ifndef EFX_SRIOV_H
117fa8d547SShradha Shah #define EFX_SRIOV_H
127fa8d547SShradha Shah 
137fa8d547SShradha Shah #include "net_driver.h"
147fa8d547SShradha Shah 
157fa8d547SShradha Shah #ifdef CONFIG_SFC_SRIOV
167fa8d547SShradha Shah 
177fa8d547SShradha Shah int efx_sriov_set_vf_mac(struct net_device *net_dev, int vf_i, u8 *mac);
187fa8d547SShradha Shah int efx_sriov_set_vf_vlan(struct net_device *net_dev, int vf_i, u16 vlan,
1979aab093SMoshe Shemesh 			  u8 qos, __be16 vlan_proto);
207fa8d547SShradha Shah int efx_sriov_set_vf_spoofchk(struct net_device *net_dev, int vf_i,
217fa8d547SShradha Shah 			      bool spoofchk);
227fa8d547SShradha Shah int efx_sriov_get_vf_config(struct net_device *net_dev, int vf_i,
237fa8d547SShradha Shah 			    struct ifla_vf_info *ivi);
244392dc69SEdward Cree int efx_sriov_set_vf_link_state(struct net_device *net_dev, int vf_i,
254392dc69SEdward Cree 				int link_state);
261d051e00SShradha Shah int efx_sriov_get_phys_port_id(struct net_device *net_dev,
271d051e00SShradha Shah 			       struct netdev_phys_item_id *ppid);
287fa8d547SShradha Shah 
297fa8d547SShradha Shah #endif /* CONFIG_SFC_SRIOV */
307fa8d547SShradha Shah 
317fa8d547SShradha Shah #endif /* EFX_SRIOV_H */
32