| 1 |
|
| 2 | |
| 3 | * OpenvSwitch drop reason list.
|
| 4 |
|
| 5 |
|
| 6 | #ifndef OPENVSWITCH_DROP_H
|
| 7 | #define OPENVSWITCH_DROP_H
|
| 8 | #include <linux/skbuff.h>
|
| 9 | #include <net/dropreason.h>
|
| 10 |
|
| 11 | #define OVS_DROP_REASONS(R) \
|
| 12 | R(OVS_DROP_LAST_ACTION) \
|
| 13 | R(OVS_DROP_ACTION_ERROR) \
|
| 14 | R(OVS_DROP_EXPLICIT) \
|
| 15 | R(OVS_DROP_EXPLICIT_WITH_ERROR) \
|
| 16 | R(OVS_DROP_METER) \
|
| 17 | R(OVS_DROP_RECURSION_LIMIT) \
|
| 18 | R(OVS_DROP_DEFERRED_LIMIT) \
|
| 19 | R(OVS_DROP_FRAG_L2_TOO_LONG) \
|
| 20 | R(OVS_DROP_FRAG_INVALID_PROTO) \
|
| 21 | R(OVS_DROP_CONNTRACK) \
|
| 22 | R(OVS_DROP_IP_TTL) \
|
| 23 |
|
| 24 |
|
| 25 | enum ovs_drop_reason {
|
| 26 | __OVS_DROP_REASON = SKB_DROP_REASON_SUBSYS_OPENVSWITCH <<
|
| 27 | SKB_DROP_REASON_SUBSYS_SHIFT,
|
| 28 | #define ENUM(x) x,
|
| 29 | OVS_DROP_REASONS(ENUM)
|
| 30 | #undef ENUM
|
| 31 |
|
| 32 | OVS_DROP_MAX,
|
| 33 | };
|
| 34 |
|
| 35 | static inline void
|
| 36 | ovs_kfree_skb_reason(struct sk_buff *skb, enum ovs_drop_reason reason)
|
| 37 | {
|
| 38 | kfree_skb_reason(skb, (u32)reason);
|
| 39 | }
|
| 40 |
|
| 41 | #endif
|