]> git.proxmox.com Git - mirror_ovs.git/blobdiff - ovn/controller/lflow.h
ovn: Change strategy for tunnel keys.
[mirror_ovs.git] / ovn / controller / lflow.h
index 4ee4b1f918671066d8f67b6fe6f07cf179b50122..59fe5599a348be6faa6f696be43075b4832c47fe 100644 (file)
@@ -38,15 +38,39 @@ struct controller_ctx;
 struct hmap;
 struct uuid;
 
+/* OpenFlow table numbers.
+ *
+ * These are heavily documented in ovn-architecture(7), please update it if
+ * you make any changes. */
+#define OFTABLE_PHY_TO_LOG            0
+#define OFTABLE_LOG_INGRESS_PIPELINE 16 /* First of LOG_PIPELINE_LEN tables. */
+#define OFTABLE_REMOTE_OUTPUT        32
+#define OFTABLE_LOCAL_OUTPUT         33
+#define OFTABLE_DROP_LOOPBACK        34
+#define OFTABLE_LOG_EGRESS_PIPELINE  48 /* First of LOG_PIPELINE_LEN tables. */
+#define OFTABLE_LOG_TO_PHY           64
+
+/* The number of tables for the ingress and egress pipelines. */
+#define LOG_PIPELINE_LEN 16
+
 /* Logical fields. */
 #define MFF_LOG_DATAPATH MFF_METADATA /* Logical datapath (64 bits). */
 #define MFF_LOG_INPORT   MFF_REG6     /* Logical input port (32 bits). */
 #define MFF_LOG_OUTPORT  MFF_REG7     /* Logical output port (32 bits). */
 
+/* Logical registers.
+ *
+ * Make sure these don't overlap with the logical fields! */
+#define MFF_LOG_REGS \
+    MFF_LOG_REG(MFF_REG0) \
+    MFF_LOG_REG(MFF_REG1) \
+    MFF_LOG_REG(MFF_REG2) \
+    MFF_LOG_REG(MFF_REG3) \
+    MFF_LOG_REG(MFF_REG4) \
+    MFF_LOG_REG(MFF_REG5)
+
 void lflow_init(void);
 void lflow_run(struct controller_ctx *, struct hmap *flow_table);
 void lflow_destroy(void);
 
-uint32_t ldp_to_integer(const struct uuid *logical_datapath);
-
 #endif /* ovn/lflow.h */