xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/net_dropmon.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef __NET_DROPMON_H
8*8d67ca89SAndroid Build Coastguard Worker #define __NET_DROPMON_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/netlink.h>
11*8d67ca89SAndroid Build Coastguard Worker struct net_dm_drop_point {
12*8d67ca89SAndroid Build Coastguard Worker   __u8 pc[8];
13*8d67ca89SAndroid Build Coastguard Worker   __u32 count;
14*8d67ca89SAndroid Build Coastguard Worker };
15*8d67ca89SAndroid Build Coastguard Worker #define is_drop_point_hw(x) do { int ____i, ____j; for(____i = 0; ____i < 8; i ____i ++) ____j |= x[____i]; ____j; \
16*8d67ca89SAndroid Build Coastguard Worker } while(0)
17*8d67ca89SAndroid Build Coastguard Worker #define NET_DM_CFG_VERSION 0
18*8d67ca89SAndroid Build Coastguard Worker #define NET_DM_CFG_ALERT_COUNT 1
19*8d67ca89SAndroid Build Coastguard Worker #define NET_DM_CFG_ALERT_DELAY 2
20*8d67ca89SAndroid Build Coastguard Worker #define NET_DM_CFG_MAX 3
21*8d67ca89SAndroid Build Coastguard Worker struct net_dm_config_entry {
22*8d67ca89SAndroid Build Coastguard Worker   __u32 type;
23*8d67ca89SAndroid Build Coastguard Worker   __u64 data __attribute__((aligned(8)));
24*8d67ca89SAndroid Build Coastguard Worker };
25*8d67ca89SAndroid Build Coastguard Worker struct net_dm_config_msg {
26*8d67ca89SAndroid Build Coastguard Worker   __u32 entries;
27*8d67ca89SAndroid Build Coastguard Worker   struct net_dm_config_entry options[];
28*8d67ca89SAndroid Build Coastguard Worker };
29*8d67ca89SAndroid Build Coastguard Worker struct net_dm_alert_msg {
30*8d67ca89SAndroid Build Coastguard Worker   __u32 entries;
31*8d67ca89SAndroid Build Coastguard Worker   struct net_dm_drop_point points[];
32*8d67ca89SAndroid Build Coastguard Worker };
33*8d67ca89SAndroid Build Coastguard Worker struct net_dm_user_msg {
34*8d67ca89SAndroid Build Coastguard Worker   union {
35*8d67ca89SAndroid Build Coastguard Worker     struct net_dm_config_msg user;
36*8d67ca89SAndroid Build Coastguard Worker     struct net_dm_alert_msg alert;
37*8d67ca89SAndroid Build Coastguard Worker   } u;
38*8d67ca89SAndroid Build Coastguard Worker };
39*8d67ca89SAndroid Build Coastguard Worker enum {
40*8d67ca89SAndroid Build Coastguard Worker   NET_DM_CMD_UNSPEC = 0,
41*8d67ca89SAndroid Build Coastguard Worker   NET_DM_CMD_ALERT,
42*8d67ca89SAndroid Build Coastguard Worker   NET_DM_CMD_CONFIG,
43*8d67ca89SAndroid Build Coastguard Worker   NET_DM_CMD_START,
44*8d67ca89SAndroid Build Coastguard Worker   NET_DM_CMD_STOP,
45*8d67ca89SAndroid Build Coastguard Worker   NET_DM_CMD_PACKET_ALERT,
46*8d67ca89SAndroid Build Coastguard Worker   NET_DM_CMD_CONFIG_GET,
47*8d67ca89SAndroid Build Coastguard Worker   NET_DM_CMD_CONFIG_NEW,
48*8d67ca89SAndroid Build Coastguard Worker   NET_DM_CMD_STATS_GET,
49*8d67ca89SAndroid Build Coastguard Worker   NET_DM_CMD_STATS_NEW,
50*8d67ca89SAndroid Build Coastguard Worker   _NET_DM_CMD_MAX,
51*8d67ca89SAndroid Build Coastguard Worker };
52*8d67ca89SAndroid Build Coastguard Worker #define NET_DM_CMD_MAX (_NET_DM_CMD_MAX - 1)
53*8d67ca89SAndroid Build Coastguard Worker #define NET_DM_GRP_ALERT 1
54*8d67ca89SAndroid Build Coastguard Worker enum net_dm_attr {
55*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_UNSPEC,
56*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_ALERT_MODE,
57*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_PC,
58*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_SYMBOL,
59*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_IN_PORT,
60*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_TIMESTAMP,
61*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_PROTO,
62*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_PAYLOAD,
63*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_PAD,
64*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_TRUNC_LEN,
65*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_ORIG_LEN,
66*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_QUEUE_LEN,
67*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_STATS,
68*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_HW_STATS,
69*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_ORIGIN,
70*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_HW_TRAP_GROUP_NAME,
71*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_HW_TRAP_NAME,
72*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_HW_ENTRIES,
73*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_HW_ENTRY,
74*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_HW_TRAP_COUNT,
75*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_SW_DROPS,
76*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_HW_DROPS,
77*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_FLOW_ACTION_COOKIE,
78*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_REASON,
79*8d67ca89SAndroid Build Coastguard Worker   __NET_DM_ATTR_MAX,
80*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_MAX = __NET_DM_ATTR_MAX - 1
81*8d67ca89SAndroid Build Coastguard Worker };
82*8d67ca89SAndroid Build Coastguard Worker enum net_dm_alert_mode {
83*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ALERT_MODE_SUMMARY,
84*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ALERT_MODE_PACKET,
85*8d67ca89SAndroid Build Coastguard Worker };
86*8d67ca89SAndroid Build Coastguard Worker enum {
87*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_PORT_NETDEV_IFINDEX,
88*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_PORT_NETDEV_NAME,
89*8d67ca89SAndroid Build Coastguard Worker   __NET_DM_ATTR_PORT_MAX,
90*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_PORT_MAX = __NET_DM_ATTR_PORT_MAX - 1
91*8d67ca89SAndroid Build Coastguard Worker };
92*8d67ca89SAndroid Build Coastguard Worker enum {
93*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_STATS_DROPPED,
94*8d67ca89SAndroid Build Coastguard Worker   __NET_DM_ATTR_STATS_MAX,
95*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ATTR_STATS_MAX = __NET_DM_ATTR_STATS_MAX - 1
96*8d67ca89SAndroid Build Coastguard Worker };
97*8d67ca89SAndroid Build Coastguard Worker enum net_dm_origin {
98*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ORIGIN_SW,
99*8d67ca89SAndroid Build Coastguard Worker   NET_DM_ORIGIN_HW,
100*8d67ca89SAndroid Build Coastguard Worker };
101*8d67ca89SAndroid Build Coastguard Worker #endif
102