replace zero-length arrays with flexible ones
[dpdk.git] / lib / vhost / vhost_user.h
index ba1c5c7..c4d091e 100644 (file)
@@ -50,6 +50,8 @@ typedef enum VhostUserRequest {
        VHOST_USER_NET_SET_MTU = 20,
        VHOST_USER_SET_SLAVE_REQ_FD = 21,
        VHOST_USER_IOTLB_MSG = 22,
+       VHOST_USER_GET_CONFIG = 24,
+       VHOST_USER_SET_CONFIG = 25,
        VHOST_USER_CRYPTO_CREATE_SESS = 26,
        VHOST_USER_CRYPTO_CLOSE_SESS = 27,
        VHOST_USER_POSTCOPY_ADVISE = 28,
@@ -123,6 +125,16 @@ typedef struct VhostUserInflight {
        uint16_t queue_size;
 } VhostUserInflight;
 
+#define VHOST_USER_MAX_CONFIG_SIZE             256
+
+/** Get/set config msg payload */
+struct vhost_user_config {
+       uint32_t offset;
+       uint32_t size;
+       uint32_t flags;
+       uint8_t region[VHOST_USER_MAX_CONFIG_SIZE];
+};
+
 typedef struct VhostUserMsg {
        union {
                uint32_t master; /* a VhostUserRequest value */
@@ -146,6 +158,7 @@ typedef struct VhostUserMsg {
                VhostUserCryptoSessionParam crypto_session;
                VhostUserVringArea area;
                VhostUserInflight inflight;
+               struct vhost_user_config cfg;
        } payload;
        /* Nothing should be added after the payload */
 } __rte_packed VhostUserMsg;