net/mlx5: support modify header using Direct Verbs
[dpdk.git] / drivers / net / mlx5 / mlx5_prm.h
index 29742b1..5c39036 100644 (file)
@@ -280,8 +280,14 @@ struct mlx5_cqe {
 /* CQE format value. */
 #define MLX5_COMPRESSED 0x3
 
+/* Write a specific data value to a field. */
+#define MLX5_MODIFICATION_TYPE_SET 1
+
+/* Add a specific data value to a field. */
+#define MLX5_MODIFICATION_TYPE_ADD 2
+
 /* The field of packet to be modified. */
-enum mlx5_modificaiton_field {
+enum mlx5_modification_field {
        MLX5_MODI_OUT_SMAC_47_16 = 1,
        MLX5_MODI_OUT_SMAC_15_0,
        MLX5_MODI_OUT_ETHERTYPE,
@@ -337,23 +343,17 @@ struct mlx5_modification_cmd {
        union {
                uint32_t data0;
                struct {
-                       unsigned int bits:5;
+                       unsigned int length:5;
                        unsigned int rsvd0:3;
-                       unsigned int src_offset:5; /* Start bit offset. */
+                       unsigned int offset:5;
                        unsigned int rsvd1:3;
-                       unsigned int src_field:12;
-                       unsigned int type:4;
+                       unsigned int field:12;
+                       unsigned int action_type:4;
                };
        };
        union {
                uint32_t data1;
                uint8_t data[4];
-               struct {
-                       unsigned int rsvd2:8;
-                       unsigned int dst_offset:8;
-                       unsigned int dst_field:12;
-                       unsigned int rsvd3:4;
-               };
        };
 };