HomeGuidesAPI Reference
GuidesAPI ReferenceGitHubAirheads Developer CommunityLog In

Monitoring-AOS Switch Streaming Event

This section provides information on the AOS Switch based streaming events within the Monitoring topic.

Protocol Buffer messages for AOS Switches in Monitoring Topic

message Interface 
{
    enum Duplex 
    {
        HALF = 1;
        FULL = 2;
        AUTO = 3;
    }

    enum IntfType 
    {
        ETHERNET = 1;
        LOOPBACK = 2;
        VLAN = 3;
        TUNNEL = 4;
        PORT_CHANNEL = 5;
        STANDBY = 6;
        BRIDGE = 7;
        SPLIT = 8;
        STACK = 9;
        MGMT = 10;
        NONE = 11;
    }

    enum SpeedType 
    {
        SPEED_INVALID = 0;
        SPEED_AUTO = 1;
        SPEED_10 = 2;
        SPEED_100 = 3;
        SPEED_1000 = 4;
        SPEED_10000 = 5;
    }

    enum PortType 
    {
        PT_RJ45   = 0;
        PT_GBIC   = 1;
        PT_SERIAL = 2;
        PT_USB    = 3;
        PT_X2     = 4;
    }

    enum PoeSupport 
    {
        NA = 0;
        SUPPORTED   = 1;
        NOT_SUPPORTED = 2;
    }

    enum StateDownReason 
    {
        UNINITIALIZED = 1;
        WAITING_FOR_LINK = 2;
        ADMIN_INTERFACE_DOWN = 3;
        MODULE_MISSING = 4;
        MODULE_UNRECOGNIZED = 5;
        MODULE_UNSUPPORTED = 6;
        MODULE_INCOMPATIBLE = 7;
        MODULE_FAULT = 8;
        GROUP_SPEED_MISMATCH = 9;
        LANES_SPLIT = 10;
        LANES_NOT_SPLIT = 11;
        INVALID_MTU = 12;
        INVALID_SPEEDS = 13;
        AUTONEG_NOT_SUPPORTED = 14;
        AUTONEG_REQUIRED = 15;
        INTERFACE_ABSENT = 16;
        PHYSICAL_INTERFACE_FAILED = 17;
        PSPO_ENABLEMENT_LAYER_DOWN = 18;
        CARD_INTERFACE_ERRORS = 19;
        INTERFACE_OK = 20;
    }
    enum VlanModes 
    {
        ACCESS = 1;
        NATIVE_TAGGED = 2;
        NATIVE_UNTAGGED = 3;
    }

    optional Action action = 1 [default = UPDATE];   // Mandatory
    optional string device_id = 2;                   // Mandatory
    optional MacAddress macaddr = 3;                 // Mandatory
    optional Status status = 4 [default = UP];       // Mandatory
    optional IpAddress ipaddr = 5;
    optional Duplex duplex_mode = 6; // This field will be present only for IAP Interface alone.
    optional string name = 7;                       // Mandatory   
    optional string port_number = 8;                // Mandatory
    optional IntfType type = 9;                     // Mandatory
    optional string mode = 10;
    optional uint32 vlan = 11;
    optional PoeSupport has_poe = 12 [default = NA]; // This field is applicable for switches alone.
    optional Status poe_state = 13 [default = UP];
    optional Status oper_state = 14 [default = UP];  // Mandatory
    optional Status admin_state = 15 [default = UP]; // Mandatory
    optional SpeedType speed = 16;                   // Mandatory
    optional uint32 mux = 17;
    optional uint32 trusted = 18;
    optional string slot = 19;
    optional PortType phy_type = 20;
    optional string sub_type = 21;
    repeated uint32 allowed_vlan = 22;
    optional uint32 native_vlan = 23;
    optional bool vsx_enabled = 24;
    optional StateDownReason state_down_reason = 25;
    optional VlanModes vlan_mode = 26;
}
message InterfaceStats 
{
    optional string device_id = 1;          // Mandatory   
    optional MacAddress macaddr = 2;         // Mandatory      
    optional uint32 timestamp = 3;          // Mandatory
    optional uint64 tx_bytes = 4;           // Mandatory
    optional uint64 rx_bytes = 5;           // Mandatory
    optional uint32 power_consumption = 6;
    optional uint64 in_errors = 7;
    optional uint64 out_errors = 8;
    optional uint64 in_discards = 9;
    optional uint64 out_discards = 10;
    optional uint64 in_packets = 11;
    optional uint64 out_packets = 12;
    optional uint32 in_other_err = 13;
    optional uint64 in_multicast_pkt = 14;
    optional uint64 in_broadcast_pkt = 15;
    optional uint64 in_unicast_pkt = 16;
    optional uint64 out_multicast_pkt = 17;
    optional uint64 out_broadcast_pkt = 18;
    optional uint64 out_unicast_pkt = 19;
    optional uint64 in_fcs = 20;
    optional uint64 in_alignment = 21;
    optional uint32 out_excessive_collision = 22;
    optional uint64 in_jabbers = 23;
    optional uint64 in_fragmented = 24;
    optional uint32 in_giant = 25;
    optional uint32 in_runt = 26;
    optional uint64 out_collision = 27;
    optional uint32 out_late_collision = 28;
    optional uint32 out_deferred = 29;
}
message DeviceNeighbours 
{
    optional Action action = 1 [default = UPDATE];    // Mandatory
    optional string device_id = 2;                    // Mandatory
    optional string port = 3;                         // Mandatory
    optional string remote_device_id = 4;
    optional string remote_port = 5;
    optional string remote_port_number = 6;
    optional string vlan_id = 7;
}
//The following messages are statistics protobufs
message DeviceStats
{
    optional string device_id = 1;           // Mandatory
    optional uint32 timestamp = 2;           // Mandatory
    optional uint64 uptime = 3;              // Mandatory
    optional uint32 cpu_utilization = 4;     // Mandatory for IAP and HP switches.
    optional uint64 mem_total = 5;           // Mandatory for IAP and HP switches.
    optional uint64 mem_free = 6;            // Mandatory for IAP and HP switches.
    optional uint32 power_consumption = 7;
    optional uint32 fan_speed = 8;
    optional uint32 temperature = 9;
    optional Status fan_status = 10;
    optional uint32 max_power = 11;
    optional uint32 poe_consumption = 12;
    optional uint32 poe_budget = 13;
    optional uint64 mem_utilization = 14;
}
message SwitchStack 
{
    enum StackTopology 
    {
       STANDALONE = 1;
       CHAIN = 2;
       RING = 3;
       MESH = 4;
       PARTIAL_MESH = 5;
       UNKNOWN = 6;
    }
    enum StackPolicy 
    {
        STACK_SPLIT_UNKNOWN = 0;
        STACK_SPLIT_ONE_FRAGMENT_UP = 1;
        STACK_SPLIT_ALL_FRAGMENTS_UP = 2;
    }
    optional Action action = 1 [default = UPDATE];   // Mandatory
    optional string stack_id = 2;
    optional Status status = 3 [default = UP];       // Mandatory
    optional StackTopology topology = 4;
    optional StackPolicy policy = 5;
    optional string firmware_version = 6;
    optional uint32 vsf_domain_id = 7;
}
message Switch 
{
    enum StackMemberRole 
    {
        UNKNOWN = 1;
        COMMANDER = 2;
        STANDBY = 3;
        MEMBER = 4;
    }
    optional Action action = 1 [default = UPDATE];    // Mandatory
    optional string serial = 2;                       // Mandatory
    optional string name = 3;                         // Mandatory
    optional MacAddress macaddr = 4;                  // Mandatory
    optional string model = 5;                        // Mandatory
    optional Status status = 6 [default = UP];        // Mandatory
    optional IpAddress public_ip_address = 7;
    optional IpAddress ip_address = 8;
    optional string firmware_version = 9;             // Mandatory
    optional IpAddress default_gateway = 10;
    optional uint32 device_mode = 11;
    repeated string uplink_ports = 12;
    optional uint32 max_slots = 13;
    repeated string used_slots = 14;
    repeated HardwareModule management_modules = 15;
    repeated HardwareModule power_supplies = 16;
    optional string stack_id = 17;
    optional uint32 stack_member_id = 18;
    optional StackMemberRole stack_member_role = 19;
    optional MacAddress stack_macaddr = 20;
}

Parameters Descriptions

The following table lists the field, type, rule, and descriptions of the above mentioned protobuf messages

Field

Type

Rule

Description

action

Action

Optional

Indicates the action. Contains any one of the following:

  • ADD
  • UPDATE
  • DELETE

device_id

String

Optional

Indicates the associated device serial number.

macaddr

MacAddress

Optional

Indicates the associated device Mac address.

  • addr— Indicates the address.

status

Status

Optional

Indicates the device status as UP or Down.

ipaddr

IpAddress

Optional

Indicates the IP address of the device.

duplex_mode

Duplex

Optional

Indicates the duplex mode. Contains any one of the following:

  • HALF
  • FULL
  • AUTO

name

String

Optional

Indicates the device name.

port_number

String

Optional

Indicates the port number.

type

IntfType

Optional

Indicates the interface type. Contains any of the following:

  • ETHERNET
  • LOOPBACK
  • VLAN
  • TUNNEL
  • PORT_CHANNEL
  • STANDBY
  • BRIDGE
  • SPLIT
  • STACK
  • MGMT
  • NONE

mode

String

Optional

Indicates the device mode.

vlan

Uint32

Optional

Indicates the assigned VLAN.

has_poe

PoeSupport

Optional

Indicates the POE support. Contains any of the following:

  • NA (Default)
  • SUPPORTED
  • NOT_SUPPORTED
    This field is applicable for switches only.

poe_state

Status

Optional

Indicates the POE enabled device status, UP or DOWN.

oper_state

Status

Optional

Indicates the operational status.

admin_state

Status

Optional

Indicates the administrative state as UP or DOWN.

speed

SpeedType

Optional

Indicates the speed information. Contains any of the following:

  • INVALID
  • AUTO
  • 10
  • 100
  • 1000
  • 10000

mux

Uint32

Optional

Indicates the mux information.

trusted

Uint32

Optional

Indicates the trusted information.

slot

String

Optional

Indicates the slot information. Usually it's name.

phy_type

PortType

Optional

Indicates the port type. Contains any of the following:

  • RJ45
  • GBIC
  • SERIAL
  • USB
  • X2

sub_type

String

Optional

Indicates the sub type name.

allowed_vlan

Uint32

Repeated

Indicates the list of allowed VLANs.

native_vlan

Uint32

Optional

Indicates the native VLAN ID.

vsx_enabled

Bool

Optional

Indicates the boolean value whether the vsx is enabled or not.

state_down_reason

StateDownReason

Optional

Indicates the state down reason. Contains any one of the following:

  • UNINITIALIZED
  • WAITING_FOR_LINK
  • ADMIN_INTERFACE_DOWN
  • MODULE_MISSING
  • MODULE_UNRECOGNIZED
  • MODULE_UNSUPPORTED
  • MODULE_INCOMPATIBLE
  • MODULE_FAULT
  • GROUP_SPEED_MISMATCH
  • LANES_SPLIT
  • LANES_NOT_SPLIT
  • INVALID_MTU
  • INVALID_SPEEDS
  • AUTONEG_NOT_SUPPORTED
  • AUTONEG_REQUIRED
  • INTERFACE_ABSENT
  • PHYSICAL_INTERFACE_FAILED
  • PSPO_ENABLEMENT_LAYER_DOWN
  • CARD_INTERFACE_ERRORS
  • INTERFACE_OK

vlan_mode

VlanModes

Optional

Indicates the VLAN mode. Contains any of the following:

  • ACCESS
  • NATIVE_TAGGED
  • NATIVE_UNTAGGED

timestamp

Uint32

Optional

Indicates the timestamp when interface stats received.

tx_bytes

Uint64

Optional

Indicates the number of transmission bytes.

rx_bytes

Uint64

Optional

Indicates the number of received bytes.

power_consumption

Uint32

Optional

Indicates the power consumption of the device.

in_errors

Uint64

Optional

Indicates the number of input errors.

out_errors

Uint64

Optional

Indicates the number of output errors.

in_discards

Uint64

Optional

Indicates the number of input packet discards.

out_discards

Uint64

Optional

Indicates the number of output packet discards.

in_packets

Uint64

Optional

Indicates the number of input packets.

out_packets

Uint64

Optional

Indicates the number of output packets.

in_other_err

Uint32

Optional

Indicates the number of other errors.

in_multicast_pkt

Uint64

Optional

Indicates the number of multicast packets received in input.

in_broadcast_pkt

Uint64

Optional

Indicates the number of broadcast packets received in input.

in_unicast_pkt

Uint64

Optional

Indicates the number of unicast packets received in input.

out_multicast_pkt

Uint64

Optional

Indicates the number of multicast packets received in output.

out_broadcast_pkt

Uint64

Optional

Indicates the number of broadcast packets received in output.

out_unicast_pkt

Uint64

Optional

Indicates the number of unicast packets received in output.

in_fcs

Uint64

Optional

Indicates the number of input FCS.

in_alignment

Uint64

Optional

Indicates the number of input alignment.

out_excessive_collision

Uint32

Optional

Indicates the number of output excessive collision.

in_jabbers

Uint64

Optional

Indicates the number of input jabbers.

in_fragmented

Uint64

Optional

Indicates the number of inputs fragmented.

in_giant

Uint32

Optional

Indicates the number of input giant.

in_runt

Uint32

Optional

Indicates the number of input runt.

out_collision

Uint64

Optional

Indicates the number of collisions in outgoing packets.

out_late_collision

Uint32

Optional

Indicates the number of collision on an Ethernet network that is detected late in the transmission of the packet.

out_deferred

Uint32

Optional

Indicates the number of deferred outgoing packets.

username

String

Optional

Indicates the client username.

associated_device

String

Optional

Indicates the client connect device.

interface_mac

MacAddress

Optional

Indicates the interface Mac address.

  • addr— Indicates the address.

user_role

String

Optional

Indicates the user role.

auth_type

AuthType

Optional

Indicates the client authentication method.

rx_retries

Uint32

Optional

Indicates the number of Rx retries.

tx_retries

Uint32

Optional

Indicates the number of Tx retries.

speed

Uint32

Optional

Shows the speed information.

signal_in_db

Uint32

Optional

Indicates the signal in decibels.

snr

Uint32

Optional

Indicates the signal noise ratio info.

port

String

Optional

Indicates the port of the switch where the neighbor device is connected.

remote_device_id

String

Optional

Indicates the remote device serial number.

remote_port

String

Optional

Indicates the remote device connected port number.

remote_port_number

String

Optional

Indicates the port number of the remote device.

vlan_id

String

Optional

Indicates the client assigned VLAN.

uptime

Uint64

Optional

Indicates the switch uptime.

cpu_utilization

Uint32

Optional

Indicates the device CPU utilization.

mem_total

Uint64

Optional

Indicates the device total memory.

mem_free

Uint64

Optional

Indicates the device free memory available.

fan_speed

Uint32

Optional

Indicates the device fan speed.

temperature

Uint32

Optional

Indicates the device temperature value.

fan_status

Status

Optional

Indicates the device fan status.

max_power

Uint32

Optional

Indicates max power of the device.

poe_consumption

Uint32

Optional

Indicates the device POE consumption.

poe_budget

Uint32

Optional

Indicates the device POE budget.

mem_utilization

Uint64

Optional

Indicates the device memory utilization.

stack_id

String

Optional

Indicates the stack ID.

topology

StackTopology

Optional

Indicates the stack topology. Contains any of the following:

  • STANDALONE
  • CHAIN
  • RING
  • MESH
  • PARTIAL_MESH
  • UNKNOWN

policy

StackPolicy

Optional

Indicates the stack policy. Contains any of the following:

  • STACK_SPLIT_UNKNOWN
  • STACK_SPLIT_ONE_FRAGMENT_UP
  • STACK_SPLIT_ALL_FRAGMENTS_UP

firmware_version

String

Optional

Indicates the version of the firmware.

vsf_domain_id

Uint32

Optional

Indicates the VSF domain ID. VSF uses VSF domain IDs to uniquely identify VSF fabrics and prevent VSF fabrics from interfering with one another.

serial

String

Optional

Indicates the device serial number.

model

String

Optional

Indicates the device model.

public_ip_address

IpAddress

Optional

Indicates the public IP address of the switch.
Contains the following:

  • af— Indicates the address family.
  • addr— Indicates the address.

ip_address

IpAddress

Optional

Indicates the IP address of the switch.

  • addr— Indicates the address.

default_gateway

IpAddress

Optional

Indicates the default gateway on switch. Contains the following:

  • af— Indicates the address family.
  • addr— Indicates the address.

device_mode

Uint32

Optional

Indicates the device mode on switch.

uplink_ports

String

Optional

Indicates the uplink ports on switch.

max_slots

Uint32

Optional

Indicates the maximum number of slots on a switch.

used_slots

String

Repeated

Indicates the number of used slots on a switch.

management_modules

HardwareModule

Repeated

Indicates the number of management modules.

power_supplies

HardwareModule

Repeated

Indicates the power supplies or the number of power supplies.

stack_member_id

Uint32

Optional

Indicates the unique identifier of the stack member.

stack_member_role

StackMemberRole

Optional

Indicates the stack member role. Contains any of the following:

  • UNKNOWN
  • COMMANDER
  • STANDBY
  • MEMBER

stack_macaddr

MacAddress

Optional

Indicates the mac address of a stack switch.

  • addr— Indicates the address.

Examples for AOS Switch Streaming Events within Monitoring Topic

interfaces

action: DELETE
device_id: "CG0020759"
macaddr {
addr: " L\003\006qo"
}
status: DOWN
duplex_mode: AUTO
name: "GE0/0/14"
port_number: "14"
type: ETHERNET
mode: "Access"
vlan: 13
oper_state: DOWN
admin_state: DOWN
speed: SPEED_1000
slot: "0"
sub_type: "2"

interfaces_stats

device_id: "TWJCKSP01C"
macaddr {
addr: " L\003\225\352v"
}
timestamp: 1603163100
tx_bytes: 3155
rx_bytes: 2002
in_packets: 25
out_packets: 49
in_other_err: 0
in_multicast_pkt: 24
in_broadcast_pkt: 0
in_unicast_pkt: 1
out_multicast_pkt: 0
out_broadcast_pkt: 3
out_unicast_pkt: 46

device_neighbours

action: UPDATE
device_id: "DZ0001581"
port: 3
remote_device_id: "DZ0001581"
remote_port: 4
remote_port_number: 2
vlan_id: 1

device_stats

device_id: "DZ0001581"
timestamp: 1601898300
uptime: 364223
cpu_utilization: 7
mem_total: 490090496
mem_free: 234157664
mem_utilization: 52

switch_stack

action: UPDATE
stack_id: "1234122"
status: UP
topology: CHAIN
policy: STACK_SPLIT_ALL_FRAGMENTS_UP
firmware_version: "8.0.1.0-sp_73970"
vsf_domain_id: 100