From: Vitalii Demianets Date: Tue, 27 Sep 2011 07:29:34 +0000 (+0000) Subject: Fix bug: rcvInvfo returned OtherInfo on STP-Config BPDUs X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=16bfc77f8f2708a46b7371cec811e3d63d3dbd7c;p=people%2Fms%2Fmstpd.git Fix bug: rcvInvfo returned OtherInfo on STP-Config BPDUs git-svn-id: http://svn.code.sf.net/p/mstpd/code/trunk@5 fbe50366-0c72-4402-a84b-5d246361dba7 --- diff --git a/mstp.c b/mstp.c index 1e0fa2b..050005e 100644 --- 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 */