]> git.ipfire.org Git - people/ms/mstpd.git/commitdiff
Fix bug: rcvInvfo returned OtherInfo on STP-Config BPDUs
authorVitalii Demianets <vitas@nppfactor.kiev.ua>
Tue, 27 Sep 2011 07:29:34 +0000 (07:29 +0000)
committerVitalii Demianets <vitas@nppfactor.kiev.ua>
Tue, 27 Sep 2011 07:29:34 +0000 (07:29 +0000)
git-svn-id: http://svn.code.sf.net/p/mstpd/code/trunk@5 fbe50366-0c72-4402-a84b-5d246361dba7

mstp.c

diff --git a/mstp.c b/mstp.c
index 1e0fa2b8c585e4f594434e023e4d835d20520ea9..050005e7985480c6218dcdc792bd509006c03bd7 100644 (file)
--- a/mstp.c
+++ b/mstp.c
@@ -1555,18 +1555,6 @@ static port_info_t rcvInfo(per_tree_port_t *ptp)
 
     if(0 == ptp->MSTID)
     { /* CIST */
-        switch(BPDU_FLAGS_ROLE_GET(b->flags))
-        {
-            case encodedRoleAlternateBackup:
-            case encodedRoleRoot:
-                roleIsDesignated = false;
-                break;
-            case encodedRoleDesignated:
-                roleIsDesignated = true;
-                break;
-            default:
-                return OtherInfo;
-        }
         cist = true;
 
         assign(mPri->RRootID, b->cistRRootID);
@@ -1590,6 +1578,18 @@ static port_info_t rcvInfo(per_tree_port_t *ptp)
         }
         else
         { /* MST BPDU */
+            switch(BPDU_FLAGS_ROLE_GET(b->flags))
+            {
+                case encodedRoleAlternateBackup:
+                case encodedRoleRoot:
+                    roleIsDesignated = false;
+                    break;
+                case encodedRoleDesignated:
+                    roleIsDesignated = true;
+                    break;
+                default:
+                    return OtherInfo;
+            }
             assign(mPri->IntRootPathCost, b->cistIntRootPathCost);
             assign(mPri->DesignatedBridgeID, b->cistBridgeID);
             /* messageTimes.remainingHops */