1 /* Copyright (c) 2015 Nicira, Inc.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at:
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
16 #ifndef OVN_PHYSICAL_H
17 #define OVN_PHYSICAL_H 1
19 /* Logical/Physical Translation
20 * ============================
22 * This module implements physical-to-logical and logical-to-physical
23 * translation as separate OpenFlow tables that run before the ingress pipeline
24 * and after the egress pipeline, respectively, as well as to connect the
28 #include "meta-flow.h"
30 struct controller_ctx;
36 /* OVN Geneve option information.
38 * Keep these in sync with the documentation in ovn-architecture(7). */
39 #define OVN_GENEVE_CLASS 0x0102 /* Assigned Geneve class for OVN. */
40 #define OVN_GENEVE_TYPE 0
41 #define OVN_GENEVE_LEN 4
43 void physical_register_ovs_idl(struct ovsdb_idl *);
44 void physical_run(struct controller_ctx *, enum mf_field_id mff_ovn_geneve,
45 const struct ovsrec_bridge *br_int, const char *chassis_id,
46 const struct simap *ct_zones, struct hmap *flow_table,
47 struct hmap *local_datapaths);
49 #endif /* ovn/physical.h */