blob: f68bc373544a9b1b3ee81ad820de3f9ee6d8eca0 [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001/* SPDX-License-Identifier: GPL-2.0-only */
2
3#ifndef _NET_DROP_MONITOR_H_
4#define _NET_DROP_MONITOR_H_
5
6#include <linux/ktime.h>
7#include <linux/netdevice.h>
8#include <linux/skbuff.h>
9
10/**
11 * struct net_dm_hw_metadata - Hardware-supplied packet metadata.
12 * @trap_group_name: Hardware trap group name.
13 * @trap_name: Hardware trap name.
14 * @input_dev: Input netdevice.
15 */
16struct net_dm_hw_metadata {
17 const char *trap_group_name;
18 const char *trap_name;
19 struct net_device *input_dev;
20};
21
Olivier Deprez0e641232021-09-23 10:07:05 +020022#if IS_REACHABLE(CONFIG_NET_DROP_MONITOR)
David Brazdil0f672f62019-12-10 10:32:29 +000023void net_dm_hw_report(struct sk_buff *skb,
24 const struct net_dm_hw_metadata *hw_metadata);
25#else
26static inline void
27net_dm_hw_report(struct sk_buff *skb,
28 const struct net_dm_hw_metadata *hw_metadata)
29{
30}
31#endif
32
33#endif /* _NET_DROP_MONITOR_H_ */