rstp->changes = false;
port_role_selection_sm(rstp);
- LIST_FOR_EACH (p, node, &rstp->ports) {
+ HMAP_FOR_EACH (p, node, &rstp->ports) {
if (p->rstp_state != RSTP_DISABLED) {
port_receive_sm(p);
bridge_detection_sm(p);
{
struct rstp_port *p;
- LIST_FOR_EACH (p, node, &r->ports) {
+ HMAP_FOR_EACH (p, node, &r->ports) {
decrement_timer(&p->hello_when);
decrement_timer(&p->tc_while);
decrement_timer(&p->fd_while);
{
struct rstp_port *p;
- LIST_FOR_EACH (p, node, &r->ports) {
+ HMAP_FOR_EACH (p, node, &r->ports) {
p->selected_role = ROLE_DISABLED;
}
}
{
struct rstp_port *p;
- LIST_FOR_EACH (p, node, &r->ports) {
+ HMAP_FOR_EACH (p, node, &r->ports) {
p->reselect = false;
}
}
/* Letter c1) */
r->root_times = r->bridge_times;
/* Letters a) b) c) */
- LIST_FOR_EACH (p, node, &r->ports) {
+ HMAP_FOR_EACH (p, node, &r->ports) {
uint32_t old_root_path_cost;
uint32_t root_path_cost;
VLOG_DBG("%s: new Root is "RSTP_ID_FMT, r->name,
RSTP_ID_ARGS(r->root_priority.root_bridge_id));
/* Letters d) e) */
- LIST_FOR_EACH (p, node, &r->ports) {
+ HMAP_FOR_EACH (p, node, &r->ports) {
p->designated_priority_vector.root_bridge_id =
r->root_priority.root_bridge_id;
p->designated_priority_vector.root_path_cost =
p->designated_times = r->root_times;
p->designated_times.hello_time = r->bridge_times.hello_time;
}
- LIST_FOR_EACH (p, node, &r->ports) {
+ HMAP_FOR_EACH (p, node, &r->ports) {
switch (p->info_is) {
case INFO_IS_DISABLED:
p->selected_role = ROLE_DISABLED;
{
struct rstp_port *p;
- LIST_FOR_EACH (p, node, &r->ports) {
+ HMAP_FOR_EACH (p, node, &r->ports) {
if (p->reselect) {
return;
}
}
- LIST_FOR_EACH (p, node, &r->ports) {
+ HMAP_FOR_EACH (p, node, &r->ports) {
p->selected = true;
}
}
PORT_ROLE_SELECTION_SM_ROLE_SELECTION;
/* no break */
case PORT_ROLE_SELECTION_SM_ROLE_SELECTION:
- LIST_FOR_EACH (p, node, &r->ports) {
+ HMAP_FOR_EACH (p, node, &r->ports) {
if (p->reselect) {
r->port_role_selection_sm_state =
PORT_ROLE_SELECTION_SM_ROLE_SELECTION_EXEC;
struct rstp_port *p1;
r = p->rstp;
- LIST_FOR_EACH (p1, node, &r->ports) {
+ HMAP_FOR_EACH (p1, node, &r->ports) {
p1->re_root = true;
}
}
struct rstp_port *p1;
r = p->rstp;
- LIST_FOR_EACH (p1, node, &r->ports) {
+ HMAP_FOR_EACH (p1, node, &r->ports) {
p1->sync = true;
}
}
struct rstp_port *p1;
r = p->rstp;
- LIST_FOR_EACH (p1, node, &r->ports) {
+ HMAP_FOR_EACH (p1, node, &r->ports) {
if ((p1 != p) && (p1->rr_while != 0)) {
return false;
}
{
struct rstp_port *p;
- LIST_FOR_EACH (p, node, &r->ports) {
+ HMAP_FOR_EACH (p, node, &r->ports) {
if (!(p->selected && p->role == p->selected_role &&
(p->role == ROLE_ROOT || p->synced == true))) {
return false;
struct rstp_port *p1;
r = p->rstp;
- LIST_FOR_EACH (p1, node, &r->ports) {
+ HMAP_FOR_EACH (p1, node, &r->ports) {
/* Set tc_prop on every port, except the one calling this
* function. */
if (p1->port_number != p->port_number) {