cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ice_eswitch.h (2362B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/* Copyright (C) 2019-2021, Intel Corporation. */
      3
      4#ifndef _ICE_ESWITCH_H_
      5#define _ICE_ESWITCH_H_
      6
      7#include <net/devlink.h>
      8
      9#ifdef CONFIG_ICE_SWITCHDEV
     10void ice_eswitch_release(struct ice_pf *pf);
     11int ice_eswitch_configure(struct ice_pf *pf);
     12int ice_eswitch_rebuild(struct ice_pf *pf);
     13
     14int ice_eswitch_mode_get(struct devlink *devlink, u16 *mode);
     15int
     16ice_eswitch_mode_set(struct devlink *devlink, u16 mode,
     17		     struct netlink_ext_ack *extack);
     18bool ice_is_eswitch_mode_switchdev(struct ice_pf *pf);
     19
     20void ice_eswitch_update_repr(struct ice_vsi *vsi);
     21
     22void ice_eswitch_stop_all_tx_queues(struct ice_pf *pf);
     23int
     24ice_eswitch_add_vf_mac_rule(struct ice_pf *pf, struct ice_vf *vf,
     25			    const u8 *mac);
     26void ice_eswitch_replay_vf_mac_rule(struct ice_vf *vf);
     27void ice_eswitch_del_vf_mac_rule(struct ice_vf *vf);
     28
     29void ice_eswitch_set_target_vsi(struct sk_buff *skb,
     30				struct ice_tx_offload_params *off);
     31netdev_tx_t
     32ice_eswitch_port_start_xmit(struct sk_buff *skb, struct net_device *netdev);
     33#else /* CONFIG_ICE_SWITCHDEV */
     34static inline void ice_eswitch_release(struct ice_pf *pf) { }
     35
     36static inline void ice_eswitch_stop_all_tx_queues(struct ice_pf *pf) { }
     37static inline void ice_eswitch_replay_vf_mac_rule(struct ice_vf *vf) { }
     38static inline void ice_eswitch_del_vf_mac_rule(struct ice_vf *vf) { }
     39
     40static inline int
     41ice_eswitch_add_vf_mac_rule(struct ice_pf *pf, struct ice_vf *vf,
     42			    const u8 *mac)
     43{
     44	return -EOPNOTSUPP;
     45}
     46
     47static inline void
     48ice_eswitch_set_target_vsi(struct sk_buff *skb,
     49			   struct ice_tx_offload_params *off) { }
     50
     51static inline void ice_eswitch_update_repr(struct ice_vsi *vsi) { }
     52
     53static inline int ice_eswitch_configure(struct ice_pf *pf)
     54{
     55	return 0;
     56}
     57
     58static inline int ice_eswitch_rebuild(struct ice_pf *pf)
     59{
     60	return -EOPNOTSUPP;
     61}
     62
     63static inline int ice_eswitch_mode_get(struct devlink *devlink, u16 *mode)
     64{
     65	return DEVLINK_ESWITCH_MODE_LEGACY;
     66}
     67
     68static inline int
     69ice_eswitch_mode_set(struct devlink *devlink, u16 mode,
     70		     struct netlink_ext_ack *extack)
     71{
     72	return -EOPNOTSUPP;
     73}
     74
     75static inline bool ice_is_eswitch_mode_switchdev(struct ice_pf *pf)
     76{
     77	return false;
     78}
     79
     80static inline netdev_tx_t
     81ice_eswitch_port_start_xmit(struct sk_buff *skb, struct net_device *netdev)
     82{
     83	return NETDEV_TX_BUSY;
     84}
     85#endif /* CONFIG_ICE_SWITCHDEV */
     86#endif /* _ICE_ESWITCH_H_ */