18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/****************************************************************************
38c2ecf20Sopenharmony_ci * Driver for Solarflare network controllers and boards
48c2ecf20Sopenharmony_ci * Copyright 2014-2015 Solarflare Communications Inc.
58c2ecf20Sopenharmony_ci */
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#ifndef EFX_SRIOV_H
88c2ecf20Sopenharmony_ci#define EFX_SRIOV_H
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci#include "net_driver.h"
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci#ifdef CONFIG_SFC_SRIOV
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciint efx_sriov_set_vf_mac(struct net_device *net_dev, int vf_i, u8 *mac);
158c2ecf20Sopenharmony_ciint efx_sriov_set_vf_vlan(struct net_device *net_dev, int vf_i, u16 vlan,
168c2ecf20Sopenharmony_ci			  u8 qos, __be16 vlan_proto);
178c2ecf20Sopenharmony_ciint efx_sriov_set_vf_spoofchk(struct net_device *net_dev, int vf_i,
188c2ecf20Sopenharmony_ci			      bool spoofchk);
198c2ecf20Sopenharmony_ciint efx_sriov_get_vf_config(struct net_device *net_dev, int vf_i,
208c2ecf20Sopenharmony_ci			    struct ifla_vf_info *ivi);
218c2ecf20Sopenharmony_ciint efx_sriov_set_vf_link_state(struct net_device *net_dev, int vf_i,
228c2ecf20Sopenharmony_ci				int link_state);
238c2ecf20Sopenharmony_ci#endif /* CONFIG_SFC_SRIOV */
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci#endif /* EFX_SRIOV_H */
26