cfm: No longer keep track of bad remote MPs and MAIDS.
[openvswitch] / ofproto / ofproto.h
index 93763b5c54be734cbccf23907df62e93390c2818..b049fe1a96cf7eced250a3cf63497c573ace90dc 100644 (file)
@@ -105,7 +105,7 @@ bool ofproto_is_alive(const struct ofproto *);
 int ofproto_port_del(struct ofproto *, uint16_t odp_port);
 bool ofproto_port_is_floodable(struct ofproto *, uint16_t odp_port);
 
-/* Configuration. */
+/* Top-level configuration. */
 void ofproto_set_datapath_id(struct ofproto *, uint64_t datapath_id);
 void ofproto_set_controllers(struct ofproto *,
                              const struct ofproto_controller *, size_t n);
@@ -123,6 +123,15 @@ int ofproto_set_netflow(struct ofproto *,
                         const struct netflow_options *nf_options);
 void ofproto_set_sflow(struct ofproto *, const struct ofproto_sflow_options *);
 
+/* Configuration of individual interfaces. */
+struct cfm;
+
+void ofproto_iface_clear_cfm(struct ofproto *, uint32_t port_no);
+void ofproto_iface_set_cfm(struct ofproto *, uint32_t port_no,
+                           const struct cfm *,
+                           const uint16_t *remote_mps, size_t n_remote_mps);
+const struct cfm *ofproto_iface_get_cfm(struct ofproto *, uint32_t port_no);
+
 /* Configuration querying. */
 uint64_t ofproto_get_datapath_id(const struct ofproto *);
 bool ofproto_has_primary_controller(const struct ofproto *);
@@ -132,8 +141,7 @@ void ofproto_get_snoops(const struct ofproto *, struct svec *);
 void ofproto_get_all_flows(struct ofproto *p, struct ds *);
 
 /* Functions for use by ofproto implementation modules, not by clients. */
-int ofproto_send_packet(struct ofproto *, const struct flow *,
-                        const union ofp_action *, size_t n_actions,
+int ofproto_send_packet(struct ofproto *, uint32_t port_no, uint16_t vlan_tci,
                         const struct ofpbuf *);
 void ofproto_add_flow(struct ofproto *, const struct cls_rule *,
                       const union ofp_action *, size_t n_actions);