Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/net/dropreason.h
26282 views
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
3
#ifndef _LINUX_DROPREASON_H
4
#define _LINUX_DROPREASON_H
5
#include <net/dropreason-core.h>
6
7
/**
8
* enum skb_drop_reason_subsys - subsystem tag for (extended) drop reasons
9
*/
10
enum skb_drop_reason_subsys {
11
/** @SKB_DROP_REASON_SUBSYS_CORE: core drop reasons defined above */
12
SKB_DROP_REASON_SUBSYS_CORE,
13
14
/**
15
* @SKB_DROP_REASON_SUBSYS_MAC80211_UNUSABLE: mac80211 drop reasons
16
* for unusable frames, see net/mac80211/drop.h
17
*/
18
SKB_DROP_REASON_SUBSYS_MAC80211_UNUSABLE,
19
20
/**
21
* @SKB_DROP_REASON_SUBSYS_OPENVSWITCH: openvswitch drop reasons,
22
* see net/openvswitch/drop.h
23
*/
24
SKB_DROP_REASON_SUBSYS_OPENVSWITCH,
25
26
/** @SKB_DROP_REASON_SUBSYS_NUM: number of subsystems defined */
27
SKB_DROP_REASON_SUBSYS_NUM
28
};
29
30
struct drop_reason_list {
31
const char * const *reasons;
32
size_t n_reasons;
33
};
34
35
/* Note: due to dynamic registrations, access must be under RCU */
36
extern const struct drop_reason_list __rcu *
37
drop_reasons_by_subsys[SKB_DROP_REASON_SUBSYS_NUM];
38
39
void drop_reasons_register_subsys(enum skb_drop_reason_subsys subsys,
40
const struct drop_reason_list *list);
41
void drop_reasons_unregister_subsys(enum skb_drop_reason_subsys subsys);
42
43
#endif
44
45