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 */