/************************************************************************
* RSTP library - Rapid Spanning Tree (802.1t, 802.1w)
* Copyright (C) 2001-2003 Optical Access
* Author: Alex Rozin
*
* This file is part of RSTP library.
*
* under the terms of the GNU Lesser General Public License as published by the
* Free Software Foundation; version 2.1
*
* RSTP library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
* General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with RSTP library; see the file COPYING. If not, write to the Free
* Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
**********************************************************************/
/* STP PORT instance : 17.18, 17.15 */
#include "base.h"
#include "stpm.h"
#include "stp_in.h"
/* #include "rolesel.h" */
#include "portinfo.h"
#include "roletrns.h"
#include "sttrans.h"
#include "topoch.h"
#include "migrate.h"
#include "transmit.h"
#include "p2p.h"
#include "pcost.h"
#include "edge.h"
#include "stp_to.h" /* for STP_OUT_get_port_name & STP_OUT_get_port_link_status */
int port_trace_flags;
PORT_T *
{
register int iii;
unsigned short port_prio;
/* check, if the port has just been added */
return NULL;
}
}
iii = 0;
/* create and bind port state machines */
#ifdef STP_DBG
#if 0
#endif
#if 0
#endif
#endif
return this;
}
void
{
if (check_link) {
0,
}
/* reset timers */
this->mdelayWhile =
}
void
{
register void* pv;
}
if (prev) {
} else {
}
break;
}
}
}
int
{
return 0;
}
#ifdef STP_DBG
{
int nmatch = 0;
{
stp_trace ("port %s on %s trace %-8s (was %s) now %s",
}
nmatch++;
}
}
if (nmatch == 0) {
return STP_No_Such_State_Machine;
}
return 0;
}
{
unsigned long flag = 0L;
if (!port_trace_flags) return;
stp_trace (" %-12s: flags=0x%04lx fdWhile=%d port=%s", title, flag, this->fdWhile, this->port_name);
}
#endif