]> git.proxmox.com Git - mirror_iproute2.git/blobdiff - rdma/include/uapi/rdma/rdma_netlink.h
rdma: update uapi headers
[mirror_iproute2.git] / rdma / include / uapi / rdma / rdma_netlink.h
index 45474f13e7d937bc3074dc8d5e5c06714c3f69f0..04c80cebef49fd657ea02c34033d6b520fb33117 100644 (file)
@@ -227,8 +227,9 @@ enum rdma_nldev_command {
        RDMA_NLDEV_CMD_UNSPEC,
 
        RDMA_NLDEV_CMD_GET, /* can dump */
+       RDMA_NLDEV_CMD_SET,
 
-       /* 2 - 4 are free to use */
+       /* 3 - 4 are free to use */
 
        RDMA_NLDEV_CMD_PORT_GET = 5, /* can dump */
 
@@ -249,10 +250,22 @@ enum rdma_nldev_command {
        RDMA_NLDEV_NUM_OPS
 };
 
+enum {
+       RDMA_NLDEV_ATTR_ENTRY_STRLEN = 16,
+};
+
+enum rdma_nldev_print_type {
+       RDMA_NLDEV_PRINT_TYPE_UNSPEC,
+       RDMA_NLDEV_PRINT_TYPE_HEX,
+};
+
 enum rdma_nldev_attr {
        /* don't change the order or add anything between, this is ABI! */
        RDMA_NLDEV_ATTR_UNSPEC,
 
+       /* Pad attribute for 64b alignment */
+       RDMA_NLDEV_ATTR_PAD = RDMA_NLDEV_ATTR_UNSPEC,
+
        /* Identifier for ib_device */
        RDMA_NLDEV_ATTR_DEV_INDEX,              /* u32 */
 
@@ -270,6 +283,9 @@ enum rdma_nldev_attr {
 
        /*
         * Device and port capabilities
+        *
+        * When used for port info, first 32-bits are CapabilityMask followed by
+        * 16-bit CapabilityMask2.
         */
        RDMA_NLDEV_ATTR_CAP_FLAGS,              /* u64 */
 
@@ -387,11 +403,36 @@ enum rdma_nldev_attr {
        RDMA_NLDEV_ATTR_RES_PD_ENTRY,           /* nested table */
        RDMA_NLDEV_ATTR_RES_LOCAL_DMA_LKEY,     /* u32 */
        RDMA_NLDEV_ATTR_RES_UNSAFE_GLOBAL_RKEY, /* u32 */
-
-       /* Netdev information for relevant protocols, like RoCE and iWARP */
+       /*
+        * Provides logical name and index of netdevice which is
+        * connected to physical port. This information is relevant
+        * for RoCE and iWARP.
+        *
+        * The netdevices which are associated with containers are
+        * supposed to be exported together with GID table once it
+        * will be exposed through the netlink. Because the
+        * associated netdevices are properties of GIDs.
+        */
        RDMA_NLDEV_ATTR_NDEV_INDEX,             /* u32 */
        RDMA_NLDEV_ATTR_NDEV_NAME,              /* string */
+       /*
+        * driver-specific attributes.
+        */
+       RDMA_NLDEV_ATTR_DRIVER,                 /* nested table */
+       RDMA_NLDEV_ATTR_DRIVER_ENTRY,           /* nested table */
+       RDMA_NLDEV_ATTR_DRIVER_STRING,          /* string */
+       /*
+        * u8 values from enum rdma_nldev_print_type
+        */
+       RDMA_NLDEV_ATTR_DRIVER_PRINT_TYPE,      /* u8 */
+       RDMA_NLDEV_ATTR_DRIVER_S32,             /* s32 */
+       RDMA_NLDEV_ATTR_DRIVER_U32,             /* u32 */
+       RDMA_NLDEV_ATTR_DRIVER_S64,             /* s64 */
+       RDMA_NLDEV_ATTR_DRIVER_U64,             /* u64 */
 
+       /*
+        * Always the end
+        */
        RDMA_NLDEV_ATTR_MAX
 };
 #endif /* _RDMA_NETLINK_H */