Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /* Copyright (C) 2019-2021, Intel Corporation. */
0003 
0004 #ifndef _ICE_REPR_H_
0005 #define _ICE_REPR_H_
0006 
0007 #include <net/dst_metadata.h>
0008 
0009 struct ice_repr {
0010     struct ice_vsi *src_vsi;
0011     struct ice_vf *vf;
0012     struct ice_q_vector *q_vector;
0013     struct net_device *netdev;
0014     struct metadata_dst *dst;
0015 #ifdef CONFIG_ICE_SWITCHDEV
0016     /* info about slow path MAC rule  */
0017     struct ice_rule_query_data *mac_rule;
0018     u8 rule_added;
0019 #endif
0020 };
0021 
0022 int ice_repr_add_for_all_vfs(struct ice_pf *pf);
0023 void ice_repr_rem_from_all_vfs(struct ice_pf *pf);
0024 
0025 void ice_repr_start_tx_queues(struct ice_repr *repr);
0026 void ice_repr_stop_tx_queues(struct ice_repr *repr);
0027 
0028 void ice_repr_set_traffic_vsi(struct ice_repr *repr, struct ice_vsi *vsi);
0029 
0030 struct ice_repr *ice_netdev_to_repr(struct net_device *netdev);
0031 bool ice_is_port_repr_netdev(struct net_device *netdev);
0032 #endif