at master 2.7 kB view raw
1/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 2/* Do not edit directly, auto-generated from: */ 3/* Documentation/netlink/specs/net_shaper.yaml */ 4/* YNL-GEN uapi header */ 5/* To regenerate run: tools/net/ynl/ynl-regen.sh */ 6 7#ifndef _UAPI_LINUX_NET_SHAPER_H 8#define _UAPI_LINUX_NET_SHAPER_H 9 10#define NET_SHAPER_FAMILY_NAME "net-shaper" 11#define NET_SHAPER_FAMILY_VERSION 1 12 13/** 14 * enum net_shaper_scope - Defines the shaper @id interpretation. 15 * @NET_SHAPER_SCOPE_UNSPEC: The scope is not specified. 16 * @NET_SHAPER_SCOPE_NETDEV: The main shaper for the given network device. 17 * @NET_SHAPER_SCOPE_QUEUE: The shaper is attached to the given device queue, 18 * the @id represents the queue number. 19 * @NET_SHAPER_SCOPE_NODE: The shaper allows grouping of queues or other node 20 * shapers; can be nested in either @netdev shapers or other @node shapers, 21 * allowing placement in any location of the scheduling tree, except leaves 22 * and root. 23 */ 24enum net_shaper_scope { 25 NET_SHAPER_SCOPE_UNSPEC, 26 NET_SHAPER_SCOPE_NETDEV, 27 NET_SHAPER_SCOPE_QUEUE, 28 NET_SHAPER_SCOPE_NODE, 29 30 /* private: */ 31 __NET_SHAPER_SCOPE_MAX, 32 NET_SHAPER_SCOPE_MAX = (__NET_SHAPER_SCOPE_MAX - 1) 33}; 34 35/** 36 * enum net_shaper_metric - Different metric supported by the shaper. 37 * @NET_SHAPER_METRIC_BPS: Shaper operates on a bits per second basis. 38 * @NET_SHAPER_METRIC_PPS: Shaper operates on a packets per second basis. 39 */ 40enum net_shaper_metric { 41 NET_SHAPER_METRIC_BPS, 42 NET_SHAPER_METRIC_PPS, 43}; 44 45enum { 46 NET_SHAPER_A_HANDLE = 1, 47 NET_SHAPER_A_METRIC, 48 NET_SHAPER_A_BW_MIN, 49 NET_SHAPER_A_BW_MAX, 50 NET_SHAPER_A_BURST, 51 NET_SHAPER_A_PRIORITY, 52 NET_SHAPER_A_WEIGHT, 53 NET_SHAPER_A_IFINDEX, 54 NET_SHAPER_A_PARENT, 55 NET_SHAPER_A_LEAVES, 56 57 __NET_SHAPER_A_MAX, 58 NET_SHAPER_A_MAX = (__NET_SHAPER_A_MAX - 1) 59}; 60 61enum { 62 NET_SHAPER_A_HANDLE_SCOPE = 1, 63 NET_SHAPER_A_HANDLE_ID, 64 65 __NET_SHAPER_A_HANDLE_MAX, 66 NET_SHAPER_A_HANDLE_MAX = (__NET_SHAPER_A_HANDLE_MAX - 1) 67}; 68 69enum { 70 NET_SHAPER_A_CAPS_IFINDEX = 1, 71 NET_SHAPER_A_CAPS_SCOPE, 72 NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS, 73 NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS, 74 NET_SHAPER_A_CAPS_SUPPORT_NESTING, 75 NET_SHAPER_A_CAPS_SUPPORT_BW_MIN, 76 NET_SHAPER_A_CAPS_SUPPORT_BW_MAX, 77 NET_SHAPER_A_CAPS_SUPPORT_BURST, 78 NET_SHAPER_A_CAPS_SUPPORT_PRIORITY, 79 NET_SHAPER_A_CAPS_SUPPORT_WEIGHT, 80 81 __NET_SHAPER_A_CAPS_MAX, 82 NET_SHAPER_A_CAPS_MAX = (__NET_SHAPER_A_CAPS_MAX - 1) 83}; 84 85enum { 86 NET_SHAPER_CMD_GET = 1, 87 NET_SHAPER_CMD_SET, 88 NET_SHAPER_CMD_DELETE, 89 NET_SHAPER_CMD_GROUP, 90 NET_SHAPER_CMD_CAP_GET, 91 92 __NET_SHAPER_CMD_MAX, 93 NET_SHAPER_CMD_MAX = (__NET_SHAPER_CMD_MAX - 1) 94}; 95 96#endif /* _UAPI_LINUX_NET_SHAPER_H */