X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=ofproto%2Fofproto-dpif-xlate.h;h=4cb8530b2297a2f034120d51a5f94dc37f67050d;hb=bbb8dee92d639331e8bd81823638267dcc895396;hp=9ee9b330aab163cbb588867d86f5582fc9867330;hpb=8a553e9afc412fb434f2352f27e75700ade88bd1;p=sliver-openvswitch.git diff --git a/ofproto/ofproto-dpif-xlate.h b/ofproto/ofproto-dpif-xlate.h index 9ee9b330a..4cb8530b2 100644 --- a/ofproto/ofproto-dpif-xlate.h +++ b/ofproto/ofproto-dpif-xlate.h @@ -19,9 +19,17 @@ #include "meta-flow.h" #include "odp-util.h" #include "ofpbuf.h" +#include "ofproto-dpif-mirror.h" #include "ofproto-dpif.h" #include "tag.h" +struct bfd; +struct bond; +struct lacp; +struct dpif_ipfix; +struct dpif_sflow; +struct mac_learning; + struct xlate_out { /* Wildcards relevant in translation. Any fields that were used to * calculate the action must be set for caching and kernel @@ -37,7 +45,7 @@ struct xlate_out { bool has_learn; /* Actions include NXAST_LEARN? */ bool has_normal; /* Actions output to OFPP_NORMAL? */ bool has_fin_timeout; /* Actions include NXAST_FIN_TIMEOUT? */ - uint16_t nf_output_iface; /* Output interface index for NetFlow. */ + ofp_port_t nf_output_iface; /* Output interface index for NetFlow. */ mirror_mask_t mirrors; /* Bitmap of associated mirrors. */ uint64_t odp_actions_stub[256 / 8]; @@ -103,6 +111,28 @@ struct xlate_in { const struct dpif_flow_stats *resubmit_stats; }; +void xlate_ofproto_set(struct ofproto_dpif *, const char *name, + const struct mac_learning *, const struct mbridge *, + const struct dpif_sflow *, const struct dpif_ipfix *, + enum ofp_config_flags, bool forward_bpdu, + bool has_in_band, bool has_netflow, bool has_stp); +void xlate_remove_ofproto(struct ofproto_dpif *); + +void xlate_bundle_set(struct ofproto_dpif *, struct ofbundle *, + const char *name, enum port_vlan_mode, int vlan, + unsigned long *trunks, bool use_priority_tags, + const struct bond *, const struct lacp *, + bool floodable); +void xlate_bundle_remove(struct ofbundle *); + +void xlate_ofport_set(struct ofproto_dpif *, struct ofbundle *, + struct ofport_dpif *, ofp_port_t, odp_port_t, + const struct netdev *, const struct cfm *, + const struct bfd *, struct ofport_dpif *peer, + enum ofputil_port_config, enum stp_state, bool is_tunnel, + bool may_enable); +void xlate_ofport_remove(struct ofport_dpif *); + void xlate_actions(struct xlate_in *, struct xlate_out *); void xlate_in_init(struct xlate_in *, struct ofproto_dpif *, const struct flow *, struct rule_dpif *,