]> git.ipfire.org Git - people/ms/mstpd.git/commitdiff
Don't send BPDUs when in Disabled state
authordv1tas <dv1tas@fbe50366-0c72-4402-a84b-5d246361dba7>
Fri, 21 Jun 2013 09:04:20 +0000 (09:04 +0000)
committerdv1tas <dv1tas@fbe50366-0c72-4402-a84b-5d246361dba7>
Fri, 21 Jun 2013 09:04:20 +0000 (09:04 +0000)
Signed-off-by: Satish Ashok <sashok@cumulusnetworks.com>
Signed-off-by: Vitalii Demianets <dvitasgs@gmail.com>
git-svn-id: svn://svn.code.sf.net/p/mstpd/code/trunk@49 fbe50366-0c72-4402-a84b-5d246361dba7

mstp.c

diff --git a/mstp.c b/mstp.c
index 7c329d70f26ec5361b3410c7e49b5502342daa5f..1869e31610f860fab3da3a9452268d000d9d8931 100644 (file)
--- a/mstp.c
+++ b/mstp.c
@@ -2243,7 +2243,7 @@ static void txConfig(port_t *prt)
     bpdu_t b;
     per_tree_port_t *cist = GET_CIST_PTP_FROM_PORT(prt);
 
-    if(prt->deleted || prt->dontTxmtBpdu)
+    if(prt->deleted || (roleDisabled == cist->role) || prt->dontTxmtBpdu)
         return;
 
     b.protocolIdentifier = 0;
@@ -2303,7 +2303,7 @@ static void txMstp(port_t *prt)
     per_tree_port_t *ptp;
     msti_configuration_message_t *msti_msg;
 
-    if(prt->deleted || prt->dontTxmtBpdu)
+    if(prt->deleted || (roleDisabled == cist->role) || prt->dontTxmtBpdu)
         return;
 
     b.protocolIdentifier = 0;
@@ -2400,8 +2400,9 @@ static void txMstp(port_t *prt)
 static void txTcn(port_t *prt)
 {
     bpdu_t b;
+    per_tree_port_t *cist = GET_CIST_PTP_FROM_PORT(prt);
 
-    if(prt->deleted || prt->dontTxmtBpdu)
+    if(prt->deleted || (roleDisabled == cist->role) || prt->dontTxmtBpdu)
         return;
 
     b.protocolIdentifier = 0;