net_dropmon.h
01: #ifndef __NET_DROPMON_H
02: #define __NET_DROPMON_H
03:
04: #include <linux/types.h>
05: #include <linux/netlink.h>
06:
07: struct net_dm_drop_point {
08: __u8 pc[8];
09: __u32 count;
10: };
11:
12: #define is_drop_point_hw(x) do {\
13: int ____i, ____j;\
14: for (____i = 0; ____i < 8; i ____i++)\
15: ____j |= x[____i];\
16: ____j;\
17: } while (0)
18:
19: #define NET_DM_CFG_VERSION 0
20: #define NET_DM_CFG_ALERT_COUNT 1
21: #define NET_DM_CFG_ALERT_DELAY 2
22: #define NET_DM_CFG_MAX 3
23:
24: struct net_dm_config_entry {
25: __u32 type;
26: __u64 data __attribute__((aligned(8)));
27: };
28:
29: struct net_dm_config_msg {
30: __u32 entries;
31: struct net_dm_config_entry options[0];
32: };
33:
34: struct net_dm_alert_msg {
35: __u32 entries;
36: struct net_dm_drop_point points[0];
37: };
38:
39: struct net_dm_user_msg {
40: union {
41: struct net_dm_config_msg user;
42: struct net_dm_alert_msg alert;
43: } u;
44: };
45:
46:
47:
48:
49: enum {
50: NET_DM_CMD_UNSPEC = 0,
51: NET_DM_CMD_ALERT,
52: NET_DM_CMD_CONFIG,
53: NET_DM_CMD_START,
54: NET_DM_CMD_STOP,
55: _NET_DM_CMD_MAX,
56: };
57:
58: #define NET_DM_CMD_MAX (_NET_DM_CMD_MAX - 1)
59:
60:
61:
62:
63: #define NET_DM_GRP_ALERT 1
64: #endif
65:
© Andrew Scott 2006 -
2025,
All Rights Reserved