Signed-off-by: Daniele Venturino <daniele.ventur...@m3s.it>
---
 lib/rstp.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/lib/rstp.c b/lib/rstp.c
index e3007e2..55c43c0 100644
--- a/lib/rstp.c
+++ b/lib/rstp.c
@@ -523,8 +523,9 @@ static void
 rstp_set_bridge_max_age__(struct rstp *rstp, int new_max_age)
     OVS_REQUIRES(rstp_mutex)
 {
-    if (new_max_age >= RSTP_MIN_BRIDGE_MAX_AGE &&
-        new_max_age <= RSTP_MAX_BRIDGE_MAX_AGE) {
+    if (rstp->bridge_max_age != new_max_age
+            && new_max_age >= RSTP_MIN_BRIDGE_MAX_AGE
+            && new_max_age <= RSTP_MAX_BRIDGE_MAX_AGE) {
         /* [17.13] */
         if ((2 * (rstp->bridge_forward_delay - 1) >= new_max_age)
             && (new_max_age >= 2 * rstp->bridge_hello_time)) {
@@ -533,6 +534,8 @@ rstp_set_bridge_max_age__(struct rstp *rstp, int 
new_max_age)
 
             rstp->bridge_max_age = new_max_age;
             rstp->bridge_times.max_age = new_max_age;
+            rstp->changes = true;
+            updt_roles_tree__(rstp);
         }
     }
 }
@@ -551,13 +554,16 @@ static void
 rstp_set_bridge_forward_delay__(struct rstp *rstp, int new_forward_delay)
     OVS_REQUIRES(rstp_mutex)
 {
-    if (new_forward_delay >= RSTP_MIN_BRIDGE_FORWARD_DELAY
-        && new_forward_delay <= RSTP_MAX_BRIDGE_FORWARD_DELAY) {
+    if (rstp->bridge_forward_delay != new_forward_delay
+            && new_forward_delay >= RSTP_MIN_BRIDGE_FORWARD_DELAY
+            && new_forward_delay <= RSTP_MAX_BRIDGE_FORWARD_DELAY) {
         if (2 * (new_forward_delay - 1) >= rstp->bridge_max_age) {
             VLOG_DBG("%s: set RSTP Forward Delay to %d", rstp->name,
                      new_forward_delay);
             rstp->bridge_forward_delay = new_forward_delay;
             rstp->bridge_times.forward_delay = new_forward_delay;
+            rstp->changes = true;
+            updt_roles_tree__(rstp);
         }
     }
 }
-- 
1.8.1.2

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to