stp_common.h File Reference

STP common definitions. More...

#include "stp_config.h"
#include "core/net.h"

Go to the source code of this file.

Macros

#define CYCLONE_STP_VERSION_STRING   "1.9.8"
 
#define CYCLONE_STP_MAJOR_VERSION   1
 
#define CYCLONE_STP_MINOR_VERSION   9
 
#define CYCLONE_STP_REV_NUMBER   8
 
#define STP_PROTOCOL_ID   0
 
#define STP_LLC_DSAP   0x42
 
#define STP_LLC_SSAP   0x42
 
#define STP_LLC_CTRL   0x03
 
#define STP_MIN_BPDU_SIZE   4
 

Typedefs

struct {
   uint16_t   priority
 
   MacAddr   addr
 
StpBridgeId
 Bridge identifier. More...
 

Enumerations

enum  StpProtocolVersion { STP_PROTOCOL_VERSION = 0, RSTP_PROTOCOL_VERSION = 2, MSTP_PROTOCOL_VERSION = 3 }
 Protocol versions. More...
 
enum  StpPortState {
  STP_PORT_STATE_DISABLED = 0, STP_PORT_STATE_BROKEN = 1, STP_PORT_STATE_BLOCKING = 2, STP_PORT_STATE_LISTENING = 3,
  STP_PORT_STATE_LEARNING = 4, STP_PORT_STATE_FORWARDING = 5
}
 Port states. More...
 
enum  StpPortRole {
  STP_PORT_ROLE_DISABLED = 0, STP_PORT_ROLE_ROOT = 1, STP_PORT_ROLE_DESIGNATED = 2, STP_PORT_ROLE_ALTERNATE = 3,
  STP_PORT_ROLE_BACKUP = 4
}
 Port role values. More...
 

Detailed Description

STP common definitions.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2019-2020 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneSTP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
1.9.8

Definition in file stp_common.h.

Macro Definition Documentation

◆ CYCLONE_STP_MAJOR_VERSION

#define CYCLONE_STP_MAJOR_VERSION   1

Definition at line 68 of file stp_common.h.

◆ CYCLONE_STP_MINOR_VERSION

#define CYCLONE_STP_MINOR_VERSION   9

Definition at line 70 of file stp_common.h.

◆ CYCLONE_STP_REV_NUMBER

#define CYCLONE_STP_REV_NUMBER   8

Definition at line 72 of file stp_common.h.

◆ CYCLONE_STP_VERSION_STRING

#define CYCLONE_STP_VERSION_STRING   "1.9.8"

Definition at line 66 of file stp_common.h.

◆ STP_LLC_CTRL

#define STP_LLC_CTRL   0x03

Definition at line 85 of file stp_common.h.

◆ STP_LLC_DSAP

#define STP_LLC_DSAP   0x42

Definition at line 83 of file stp_common.h.

◆ STP_LLC_SSAP

#define STP_LLC_SSAP   0x42

Definition at line 84 of file stp_common.h.

◆ STP_MIN_BPDU_SIZE

#define STP_MIN_BPDU_SIZE   4

Definition at line 88 of file stp_common.h.

◆ STP_PROTOCOL_ID

#define STP_PROTOCOL_ID   0

Definition at line 80 of file stp_common.h.

Typedef Documentation

◆ StpBridgeId

typedef { ... } StpBridgeId

Bridge identifier.

Enumeration Type Documentation

◆ StpPortRole

Port role values.

Enumerator
STP_PORT_ROLE_DISABLED 
STP_PORT_ROLE_ROOT 
STP_PORT_ROLE_DESIGNATED 
STP_PORT_ROLE_ALTERNATE 
STP_PORT_ROLE_BACKUP 

Definition at line 122 of file stp_common.h.

◆ StpPortState

Port states.

Enumerator
STP_PORT_STATE_DISABLED 
STP_PORT_STATE_BROKEN 
STP_PORT_STATE_BLOCKING 
STP_PORT_STATE_LISTENING 
STP_PORT_STATE_LEARNING 
STP_PORT_STATE_FORWARDING 

Definition at line 107 of file stp_common.h.

◆ StpProtocolVersion

Protocol versions.

Enumerator
STP_PROTOCOL_VERSION 

STP version.

RSTP_PROTOCOL_VERSION 

RSTP version.

MSTP_PROTOCOL_VERSION 

MSTP version.

Definition at line 95 of file stp_common.h.

Variable Documentation

◆ addr

MacAddr addr

Definition at line 145 of file stp_common.h.

◆ priority

uint16_t priority

Definition at line 144 of file stp_common.h.