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