struct match;
struct ofpact;
struct ofputil_flow_mod;
+struct bfd_cfg;
/* An OpenFlow switch.
*
int (*set_sflow)(struct ofproto *ofproto,
const struct ofproto_sflow_options *sflow_options);
+ /* Configures IPFIX on 'ofproto' according to the options in
+ * 'bridge_exporter_options' and the 'flow_exporters_options'
+ * array, or turns off IPFIX if 'bridge_exporter_options' and
+ * 'flow_exporters_options' is NULL.
+ *
+ * EOPNOTSUPP as a return value indicates that 'ofproto' does not support
+ * IPFIX, as does a null pointer. */
+ int (*set_ipfix)(
+ struct ofproto *ofproto,
+ const struct ofproto_ipfix_bridge_exporter_options
+ *bridge_exporter_options,
+ const struct ofproto_ipfix_flow_exporter_options
+ *flow_exporters_options, size_t n_flow_exporters_options);
+
/* Configures connectivity fault management on 'ofport'.
*
* If 'cfm_settings' is nonnull, configures CFM according to its members.
bool (*get_cfm_status)(const struct ofport *ofport,
struct ofproto_cfm_status *status);
+ /* Configures BFD on 'ofport'.
+ *
+ * If 'cfg' is NULL, or 'cfg' does not contain the key value pair
+ * "enable=true", removes BFD from 'ofport'. Otherwise, configures BFD
+ * according to 'cfg'.
+ *
+ * EOPNOTSUPP as a return value indicates that this ofproto_class does not
+ * support BFD, as does a null pointer. */
+ int (*set_bfd)(struct ofport *ofport, const struct smap *cfg);
+
+ /* Populates 'smap' with the status of BFD on 'ofport'. Returns 0 on
+ * success, or a positive errno. EOPNOTSUPP as a return value indicates
+ * that this ofproto_class does not support BFD, as does a null pointer. */
+ int (*get_bfd_status)(struct ofport *ofport, struct smap *smap);
+
/* Configures spanning tree protocol (STP) on 'ofproto' using the
* settings defined in 's'.
*