| /* 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_ */ |