0001
0002
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
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