X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ofproto%2Fofproto-provider.h;h=de354ec42743c85160d4ac0ac22e8a5c1484ed80;hb=9efd308e957c26ab42a5210cc9fc7300c7d021f0;hp=d490679b2e6ff619d36e471abf0959893407d4e6;hpb=3c33f0ffe76c83f7ec1786175ef34f776892cc0d;p=mirror_ovs.git diff --git a/ofproto/ofproto-provider.h b/ofproto/ofproto-provider.h index d490679b2..de354ec42 100644 --- a/ofproto/ofproto-provider.h +++ b/ofproto/ofproto-provider.h @@ -1417,6 +1417,53 @@ struct ofproto_class { int (*get_stp_port_stats)(struct ofport *ofport, struct ofproto_port_stp_stats *s); + /* Configures Rapid Spanning Tree Protocol (RSTP) on 'ofproto' using the + * settings defined in 's'. + * + * If 's' is nonnull, configures RSTP according to its members. + * + * If 's' is null, removes any RSTP configuration from 'ofproto'. + * + * EOPNOTSUPP as a return value indicates that this ofproto_class does not + * support RSTP, as does a null pointer. */ + void (*set_rstp)(struct ofproto *ofproto, + const struct ofproto_rstp_settings *s); + + /* Retrieves state of Rapid Spanning Tree Protocol (RSTP) on 'ofproto'. + * + * Stores RSTP 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 RSTP, as does a null pointer. */ + void (*get_rstp_status)(struct ofproto *ofproto, + struct ofproto_rstp_status *s); + + /* Configures Rapid Spanning Tree Protocol (RSTP) on 'ofport' using the + * settings defined in 's'. + * + * If 's' is nonnull, configures RSTP according to its members. The + * caller is responsible for assigning RSTP 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 RSTP configuration from 'ofport'. + * + * EOPNOTSUPP as a return value indicates that this ofproto_class does not + * support STP, as does a null pointer. */ + void (*set_rstp_port)(struct ofport *ofport, + const struct ofproto_port_rstp_settings *s); + + /* Retrieves Rapid Spanning Tree Protocol (RSTP) port status of 'ofport'. + * + * Stores RSTP 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 RSTP, as does a null pointer. */ + void (*get_rstp_port_status)(struct ofport *ofport, + struct ofproto_port_rstp_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