sfc: create VEB vswitch and vport above default firmware setup
[deliverable/linux.git] / drivers / net / ethernet / sfc / ef10_sriov.h
1 /****************************************************************************
2 * Driver for Solarflare network controllers and boards
3 * Copyright 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 EF10_SRIOV_H
11 #define EF10_SRIOV_H
12
13 #include "net_driver.h"
14
15 static inline bool efx_ef10_sriov_wanted(struct efx_nic *efx)
16 {
17 return false;
18 }
19
20 int efx_ef10_sriov_configure(struct efx_nic *efx, int num_vfs);
21
22 static inline int efx_ef10_sriov_init(struct efx_nic *efx)
23 {
24 return -EOPNOTSUPP;
25 }
26
27 static inline void efx_ef10_sriov_mac_address_changed(struct efx_nic *efx) {}
28 static inline void efx_ef10_sriov_reset(struct efx_nic *efx) {}
29 static inline void efx_ef10_sriov_fini(struct efx_nic *efx) {}
30 static inline void efx_ef10_sriov_flr(struct efx_nic *efx, unsigned vf_i) {}
31
32 static inline int efx_ef10_sriov_set_vf_mac(struct efx_nic *efx, int vf,
33 u8 *mac)
34 {
35 return -EOPNOTSUPP;
36 }
37
38 static inline int efx_ef10_sriov_set_vf_vlan(struct efx_nic *efx, int vf,
39 u16 vlan, u8 qos)
40 {
41 return -EOPNOTSUPP;
42 }
43
44 static inline int efx_ef10_sriov_set_vf_spoofchk(struct efx_nic *efx, int vf,
45 bool spoofchk)
46 {
47 return -EOPNOTSUPP;
48 }
49
50 static inline int efx_ef10_sriov_get_vf_config(struct efx_nic *efx, int vf,
51 struct ifla_vf_info *ivf)
52 {
53 return -EOPNOTSUPP;
54 }
55
56 int efx_ef10_vswitching_probe(struct efx_nic *efx);
57 int efx_ef10_vswitching_restore(struct efx_nic *efx);
58 void efx_ef10_vswitching_remove(struct efx_nic *efx);
59
60 #endif /* EF10_SRIOV_H */
This page took 0.329721 seconds and 6 git commands to generate.