+ /* Configures spanning tree protocol (STP) on 'ofproto' using the
+ * settings defined in 's'.
+ *
+ * If 's' is nonnull, configures STP according to its members.
+ *
+ * If 's' is null, removes any STP configuration from 'ofproto'.
+ *
+ * EOPNOTSUPP as a return value indicates that this ofproto_class does not
+ * support STP, as does a null pointer. */
+ int (*set_stp)(struct ofproto *ofproto,
+ const struct ofproto_stp_settings *s);
+
+ /* Retrieves state of spanning tree protocol (STP) on 'ofproto'.
+ *
+ * Stores STP state for 'ofproto' in 's'. If the 'enabled' member
+ * is false, the other member values are not meaningful.
+ *
+ * EOPNOTSUPP as a return value indicates that this ofproto_class does not
+ * support STP, as does a null pointer. */
+ int (*get_stp_status)(struct ofproto *ofproto,
+ struct ofproto_stp_status *s);
+
+ /* Configures spanning tree protocol (STP) on 'ofport' using the
+ * settings defined in 's'.
+ *
+ * If 's' is nonnull, configures STP according to its members. The
+ * caller is responsible for assigning STP port numbers (using the
+ * 'port_num' member in the range of 1 through 255, inclusive) and
+ * ensuring there are no duplicates.
+ *
+ * If 's' is null, removes any STP configuration from 'ofport'.
+ *
+ * EOPNOTSUPP as a return value indicates that this ofproto_class does not
+ * support STP, as does a null pointer. */
+ int (*set_stp_port)(struct ofport *ofport,
+ const struct ofproto_port_stp_settings *s);
+
+ /* Retrieves spanning tree protocol (STP) port status of 'ofport'.
+ *
+ * Stores STP state for 'ofport' in 's'. If the 'enabled' member is
+ * false, the other member values are not meaningful.
+ *
+ * EOPNOTSUPP as a return value indicates that this ofproto_class does not
+ * support STP, as does a null pointer. */
+ int (*get_stp_port_status)(struct ofport *ofport,
+ struct ofproto_port_stp_status *s);
+
+ /* Registers meta-data associated with the 'n_qdscp' Qualities of Service
+ * 'queues' attached to 'ofport'. This data is not intended to be
+ * sufficient to implement QoS. Instead, providers may use this
+ * information to implement features which require knowledge of what queues
+ * exist on a port, and some basic information about them.
+ *
+ * EOPNOTSUPP as a return value indicates that this ofproto_class does not
+ * support QoS, as does a null pointer. */
+ int (*set_queues)(struct ofport *ofport,
+ const struct ofproto_port_queue *queues, size_t n_qdscp);
+