MLX5_CAP_UMR_FENCE_NONE         = 0x2,
 };
 
+enum {
+       MLX5_UCTX_CAP_RAW_TX = 1UL << 0,
+};
+
 struct mlx5_ifc_cmd_hca_cap_bits {
        u8         reserved_at_0[0x30];
        u8         vhca_id[0x10];
        u8         num_vhca_ports[0x8];
        u8         reserved_at_618[0x6];
        u8         sw_owner_id[0x1];
-       u8         reserved_at_61f[0x1e1];
+       u8         reserved_at_61f[0x1];
+
+       u8         reserved_at_620[0x80];
+
+       u8         uctx_cap[0x20];
+
+       u8         reserved_at_6c0[0x140];
 };
 
 enum mlx5_flow_destination_type {
 struct mlx5_ifc_uctx_bits {
        u8         modify_field_select[0x40];
 
-       u8         reserved_at_40[0x1c0];
+       u8         cap[0x20];
+
+       u8         reserved_at_60[0x1a0];
 };
 
 struct mlx5_ifc_create_umem_in_bits {