Blame view

include/linux/net_dropmon.h 1.07 KB
9a8afc8d3   Neil Horman   Network Drop Moni...
1
2
  #ifndef __NET_DROPMON_H
  #define __NET_DROPMON_H
d280cc989   Jaswinder Singh Rajput   headers_check fix...
3
  #include <linux/types.h>
9a8afc8d3   Neil Horman   Network Drop Moni...
4
5
6
7
8
9
  #include <linux/netlink.h>
  
  struct net_dm_drop_point {
  	__u8 pc[8];
  	__u32 count;
  };
4ea7e3869   Neil Horman   dropmon: add abil...
10
11
12
13
14
15
  #define is_drop_point_hw(x) do {\
  	int ____i, ____j;\
  	for (____i = 0; ____i < 8; i ____i++)\
  		____j |= x[____i];\
  	____j;\
  } while (0)
9a8afc8d3   Neil Horman   Network Drop Moni...
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
  #define NET_DM_CFG_VERSION  0
  #define NET_DM_CFG_ALERT_COUNT  1
  #define NET_DM_CFG_ALERT_DELAY 2
  #define NET_DM_CFG_MAX 3
  
  struct net_dm_config_entry {
  	__u32 type;
  	__u64 data __attribute__((aligned(8)));
  };
  
  struct net_dm_config_msg {
  	__u32 entries;
  	struct net_dm_config_entry options[0];
  };
  
  struct net_dm_alert_msg {
  	__u32 entries;
  	struct net_dm_drop_point points[0];
  };
  
  struct net_dm_user_msg {
  	union {
  		struct net_dm_config_msg user;
  		struct net_dm_alert_msg alert;
  	} u;
  };
  
  
  /* These are the netlink message types for this protocol */
  
  enum {
  	NET_DM_CMD_UNSPEC = 0,
  	NET_DM_CMD_ALERT,
  	NET_DM_CMD_CONFIG,
  	NET_DM_CMD_START,
  	NET_DM_CMD_STOP,
  	_NET_DM_CMD_MAX,
  };
  
  #define NET_DM_CMD_MAX (_NET_DM_CMD_MAX - 1)
  
  /*
   * Our group identifiers
   */
  #define NET_DM_GRP_ALERT 1
  #endif