net/mlx5: retry on link update failure
[dpdk.git] / drivers / net / enic / base / vnic_devcmd.h
index fffe307..d85d40b 100644 (file)
@@ -537,6 +537,7 @@ enum vnic_devcmd_cmd {
         * Control (Enable/Disable) overlay offloads on the given vnic
         * in: (u8) a0 = OVERLAY_FEATURE_NVGRE : NVGRE
         *          a0 = OVERLAY_FEATURE_VXLAN : VxLAN
+        *          a0 = OVERLAY_FEATURE_GENEVE : Geneve
         * in: (u8) a1 = OVERLAY_OFFLOAD_ENABLE : Enable or
         *          a1 = OVERLAY_OFFLOAD_DISABLE : Disable or
         *          a1 = OVERLAY_OFFLOAD_ENABLE_V2 : Enable with version 2
@@ -547,6 +548,7 @@ enum vnic_devcmd_cmd {
        /*
         * Configuration of overlay offloads feature on a given vNIC
         * in: (u8) a0 = OVERLAY_CFG_VXLAN_PORT_UPDATE : VxLAN
+        *               OVERLAY_CFG_GENEVE_PORT_UPDATE : Geneve
         * in: (u16) a1 = unsigned short int port information
         */
        CMD_OVERLAY_OFFLOAD_CFG = _CMDC(_CMD_DIR_WRITE, _CMD_VTYPE_ENET, 73),
@@ -598,6 +600,16 @@ enum vnic_devcmd_cmd {
         *                       a3 = bitmask of supported actions
         */
        CMD_ADD_ADV_FILTER = _CMDC(_CMD_DIR_RW, _CMD_VTYPE_ENET, 77),
+
+       /*
+        * Perform a Flow Manager Operation (see flowman_api.h)
+        * in:  (u32) a0 = sub-command
+        *      (u64) a1..15 = (sub-command specific)
+        *
+        * All arguments that have not been assigned a meaning should be
+        * initialized to 0 to allow for better driver forward compatibility.
+        */
+       CMD_FLOW_MANAGER_OP = _CMDC(_CMD_DIR_RW, _CMD_VTYPE_ENET, 88),
 };
 
 /* Modes for exchanging advanced filter capabilities. The modes supported by
@@ -863,6 +875,7 @@ struct filter_action {
 #define FILTER_ACTION_RQ_STEERING_FLAG (1 << 0)
 #define FILTER_ACTION_FILTER_ID_FLAG   (1 << 1)
 #define FILTER_ACTION_DROP_FLAG                (1 << 2)
+#define FILTER_ACTION_COUNTER_FLAG     (1 << 3)
 #define FILTER_ACTION_V2_ALL           (FILTER_ACTION_RQ_STEERING_FLAG \
                                         | FILTER_ACTION_DROP_FLAG \
                                         | FILTER_ACTION_FILTER_ID_FLAG)
@@ -887,6 +900,7 @@ enum filter_type {
        FILTER_NVGRE_VMQ = 4,
        FILTER_USNIC_IP = 5,
        FILTER_DPDK_1 = 6,
+       FILTER_FLOWMAN = 7,
        FILTER_MAX
 };
 
@@ -1081,6 +1095,7 @@ struct devcmd2_result {
 typedef enum {
        OVERLAY_FEATURE_NVGRE = 1,
        OVERLAY_FEATURE_VXLAN,
+       OVERLAY_FEATURE_GENEVE,
        OVERLAY_FEATURE_MAX,
 } overlay_feature_t;
 
@@ -1089,6 +1104,7 @@ typedef enum {
 #define OVERLAY_OFFLOAD_ENABLE_V2       2
 
 #define OVERLAY_CFG_VXLAN_PORT_UPDATE 0
+#define OVERLAY_CFG_GENEVE_PORT_UPDATE 1
 
 /*
  * Use this enum to get the supported versions for each of these features
@@ -1098,6 +1114,7 @@ typedef enum {
 typedef enum {
        VIC_FEATURE_VXLAN,
        VIC_FEATURE_RDMA,
+       VIC_FEATURE_GENEVE,
        VIC_FEATURE_MAX,
 } vic_feature_t;
 
@@ -1112,6 +1129,8 @@ typedef enum {
 
 #define FEATURE_VXLAN_IPV6             (FEATURE_VXLAN_IPV6_INNER | \
                                         FEATURE_VXLAN_IPV6_OUTER)
+/* Support Geneve option bytes */
+#define FEATURE_GENEVE_OPTIONS         (1 << 0)
 
 /*
  * CMD_CONFIG_GRPINTR subcommands