| /* SPDX-License-Identifier: GPL-2.0-only */ | 
 |  | 
 | #ifndef _NET_DROP_MONITOR_H_ | 
 | #define _NET_DROP_MONITOR_H_ | 
 |  | 
 | #include <linux/ktime.h> | 
 | #include <linux/netdevice.h> | 
 | #include <linux/skbuff.h> | 
 | #include <net/flow_offload.h> | 
 |  | 
 | /** | 
 |  * struct net_dm_hw_metadata - Hardware-supplied packet metadata. | 
 |  * @trap_group_name: Hardware trap group name. | 
 |  * @trap_name: Hardware trap name. | 
 |  * @input_dev: Input netdevice. | 
 |  * @fa_cookie: Flow action user cookie. | 
 |  */ | 
 | struct net_dm_hw_metadata { | 
 | 	const char *trap_group_name; | 
 | 	const char *trap_name; | 
 | 	struct net_device *input_dev; | 
 | 	const struct flow_action_cookie *fa_cookie; | 
 | }; | 
 |  | 
 | #if IS_REACHABLE(CONFIG_NET_DROP_MONITOR) | 
 | void net_dm_hw_report(struct sk_buff *skb, | 
 | 		      const struct net_dm_hw_metadata *hw_metadata); | 
 | #else | 
 | static inline void | 
 | net_dm_hw_report(struct sk_buff *skb, | 
 | 		 const struct net_dm_hw_metadata *hw_metadata) | 
 | { | 
 | } | 
 | #endif | 
 |  | 
 | #endif /* _NET_DROP_MONITOR_H_ */ |