* ============================
*
* This module implements physical-to-logical and logical-to-physical
- * translation as separate OpenFlow tables that run before and after,
- * respectively, the logical pipeline OpenFlow tables.
+ * translation as separate OpenFlow tables that run before the ingress pipeline
+ * and after the egress pipeline, respectively, as well as to connect the
+ * two pipelines.
*/
+#include "meta-flow.h"
+
struct controller_ctx;
+struct hmap;
+struct ovsdb_idl;
+struct ovsrec_bridge;
+struct simap;
+
+/* OVN Geneve option information.
+ *
+ * Keep these in sync with the documentation in ovn-architecture(7). */
+#define OVN_GENEVE_CLASS 0x0102 /* Assigned Geneve class for OVN. */
+#define OVN_GENEVE_TYPE 0
+#define OVN_GENEVE_LEN 4
-void physical_init(struct controller_ctx *);
-void physical_run(struct controller_ctx *);
+void physical_register_ovs_idl(struct ovsdb_idl *);
+void physical_run(struct controller_ctx *, enum mf_field_id mff_ovn_geneve,
+ const struct ovsrec_bridge *br_int, const char *chassis_id,
+ const struct simap *ct_zones, struct hmap *flow_table,
+ struct hmap *local_datapaths);
#endif /* ovn/physical.h */