HomeGuidesAPI Reference
GuidesAPI ReferenceGitHubAirheads Developer CommunityLog In

Monitoring-CX Switch Streaming Event

This section provides information on the CX Switch device streaming events within Monitoring topic.

Protocol Buffer messages for CX Switches in Monitoring Topic

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 Interface {
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;                     
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];    
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;
optional uint32 timestamp = 27;
}
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;
}
message SwitchVlan {
optional uint32 id = 1;
optional string name = 2;
repeated string tagged_ports = 3;
repeated string untagged_ports = 4;
optional uint32 primary_vlan_id = 5;
optional string primary_vlan_type = 6;
repeated string promiscuous_ports = 7;
repeated string isl_ports = 8;
optional bool is_management_vlan = 9;
optional bool is_voice_enabled = 10;
optional bool is_jumbo_enabled = 11;
optional bool is_igmp_enabled = 12;
optional IpAddress ipaddress = 13;
enum VlanStatus {
UP = 1;
DOWN = 2;
}
optional VlanStatus status = 14;
optional string oper_state_reason = 15;
enum VlanType  {
STATIC = 1;
DYNAMIC = 2;
INTERNAL = 3;
DEFAULT= 4;
}
optional VlanType type = 16;
repeated string access_ports = 17;
}
message VSXState {
enum DeviceRole {
PRIMARY = 1;
SECONDARY = 2;
}
optional Action action = 1 [default = UPDATE]; // Mandatory
optional string device_id = 2; 
optional DeviceRole role = 3;
optional DeviceRole peer_role = 4;
optional string isl_port = 5;
optional string peer_isl_port = 6;
optional IpAddress keepalive_peer_ip  = 7;
optional IpAddress keepalive_src_ip  = 8;
optional uint64 last_sync_timestamp = 9;
optional MacAddress mac = 10;
optional MacAddress peer_mac = 11;
optional bool config_sync_disable = 12;
enum ISLPDeviceState {
WAITING_FOR_PEER = 1;
PEER_ESTABLISHED = 2;
SPLIT_SYSTEM_PRIMARY = 3;
SPLIT_SYSTEM_SECONDARY = 4;
SYNC_PRIMARY = 5;
SYNC_SECONDARY= 6;
SYNC_SECONDARY_LINKUP_DELAY=7;
}
optional ISLPDeviceState islp_device_state_value = 13;
enum ISLState {
IN_SYNC = 1;
DISABLED = 2;
SW_IMAGE_VERSION_MISMATCH_ERROR = 3;
CONFLICTING_OR_MISSING_DEV_ROLES = 4;
PEER_DB_CONNECTION_ERROR = 5;
CONFIGURATION_SYNC_CONFLICT= 6;
CONFIGURATION_SYNC_MISSING_REFERENCE=7;
PEER_REACHABLE = 8;
PEER_UNREACHABLE = 9;
OPERATIONAL = 10;
INTER_SWITCH_LINK_MGMT_INIT = 11;
CONFLICTING_OR_MISSING_DEVICE_ROLES = 12;
INTER_SWITCH_LINK_DOWN = 13;
INTERNAL_ERROR = 14;
}
optional ISLState config_sync_state_value = 14;
optional ISLState isl_mgmt_state_value = 15;
optional ISLState nae_state_value = 16;
optional ISLState https_server_state_value = 17;
}

Parameters Descriptions

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

Field

Type

Rule

Description

timestamp

uint32

optional

Indicates the time of the occurrence of the event.

device_id

string

optional

Indicates the serial number of the switch.

uptime

uint64

optional

Indicates the switch uptime.

cpu_utilization

uint32

optional

Indicates the CPU utilization.

mem_total

uint64

optional

Indicates the total memory.

mem_free

uint64

optional

Indicates the free memory.

power_consumption

uint32

optional

Indicates the power consumption of the device.

fan_speed

uint32

optional

Indicates the fan speed of the device.

temperature

uint32

optional

Indicates the temperature of the device.

fan_status

Status

optional

Indicates the status of the device fan as UP or DOWN.

max_power

uint32

optional

Indicates the maximum power of the device.

poe_consumption

uint32

optional

Indicates the POE consumption of the device.

poe_budget

uint32

optional

Indicates the POE budget of the device.

mem_utilization

uint64

optional

Indicates the memory utilization.

action

Action

optional

Indicates the action. Contains one of the the following:

  • Add
  • Update
  • Delete

macaddr

MacAddress

optional

Indicates the MAC address of the interface.

status

Status

optional

Indicates the status of the interface as UP or DOWN.

ipaddr

IpAddress

optional

Indicates the IP address.

duplex_mode

Duplex

optional

Indicates the duplex mode.

name

string

optional

Indicates the name.

port_number

string

optional

Indicates the port number.

type

IntfType

optional

Indicates the type of the interface.

mode

string

optional

Indicates the mode of interface.

vlan

uint32

optional

Indicates the VLAN associated with the interface.

has_poe

PoeSupport

optional

Indicates the POE support information.

poe_state

Status

optional

Indicates the status of the POE enabled device as UP or DOWN.

oper_state

Status

optional

Indicates the operational status of the POE as UP or DOWN.

admin_state

Status

optional

Indicates the administrative status of the POE as UP or DOWN.

speed

SpeedType

optional

Displays information about the speed. For example, Auto or Invalid.

mux

uint32

optional

Displays information about the MUX.

trusted

uint32

optional

Displays information about the trusted devices.

slot

string

optional

Displays information about the slot.

phy_type

PortType

optional

Indicates the type of port.

sub_type

string

optional

Indicates the sub-type of the port.

allowed_vlan

uint32

repeated

Indicates the list of allowed VLANs.

native_vlan

uint32

optional

Indicates the ID of the native VLAN.

vsx_enabled

bool

optional

Indicates the boolean value whether VSX is enabled or not.

state_down_reason

StateDownReason

optional

Indicates the reason of the state down.

vlan_mode

VlanModes

optional

Indicates the mode of VLAN.

tx_bytes

uint64

optional

Indicates the number of bytes transferred.

rx_bytes

uint64

optional

Indicates the number of bytes received.

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 discards.

out_discards

uint64

optional

Indicates the number of output discards.

in_packets

uint64

optional

Indicates the number of incoming packets.

out_packets

uint64

optional

Indicates the number of outgoing packets.

in_other_err

uint32

optional

Indicates the number of other errors.

in_multicast_pkt

uint64

optional

Indicates the number of incoming multicast packets.

in_broadcast_pkt

uint64

optional

Indicates the number of incoming broadcast packets.

in_unicast_pkt

uint64

optional

Indicates the number of incoming unicast packets.

out_multicast_pkt

uint64

optional

Indicates the number of outgoing multicast packets.

out_broadcast_pkt

uint64

optional

Indicates the number of outgoing broadcast packets.

out_unicast_pkt

uint64

optional

Indicates the number of outgoing unicast packets.

in_fcs

uint64

optional

Indicates the number of incoming FCS octets.

in_alignment

uint64

optional

Indicates the number of incoming frame alignments.

out_excessive_collision

uint32

optional

Indicates the number of excessive collisions in outgoing packets.

in_jabbers

uint64

optional

Indicates the number of excessive jabber packets received.

in_fragmented

uint64

optional

Indicates the number of fragments in incoming packet.

in_giant

uint32

optional

Indicates the number of oversized or giant packets received.

in_runt

uint64

optional

Indicates the number of undersize and fragment packets received.

out_collision

uint64

optional

Indicates the number of collisions in outgoing packets.

out_late_collision

uint32

optional

Indicates the number of late collisions in outgoing packets.

out_deferred

uint32

optional

Indicates the number of defers in outgoing packets.

port

string

optional

Indicates the port where the neighboring device is connected.

remote_device_id

string

optional

Indicates the ID of the remote neighboring device.

remote_port

string

optional

Indicates the remote port name where the neighboring device is connected.

remote_port_number

string

optional

Indicates the remote port number where the neighboring device is connected.

vlan_id

string

optional

Indicates the VLAN ID of the device.

id

uint32

optional

Indicates the ID of the VLAN.

tagged_ports

string

repeated

Indicates the list of the tagged ports.

untagged_ports

string

repeated

Indicates the list of the untagged ports.

primary_vlan_id

uint32

optional

Indicates the primary VLAN ID.

primary_vlan_type

string

optional

Indicates the type of the primary VLAN.

promiscuous_ports

string

repeated

Indicates the list of the promiscuous ports.

isl_ports

string

repeated

Indicates the list of the ISL ports.

is_management_vlan

bool

optional

Displays the boolean value indicating whether it is a management VLAN or not.

is_jumbo_enabled

bool

optional

Displays the boolean value indicating whether jumbo is enabled or not.

is_igmp_enabled

bool

optional

Displays the boolean value indicating whether IGMP is enabled or not.

vlan_state

VlanStatus

Indicates the VLAN state. It contains the following:

  • UP—Indicates that the VLAN is up.
  • DOWN—Indicates that the VLAN is down.

status

VlanStatus

optional

Indicates the status of the VLAN.

oper_state_reason

string

optional

Indicates the reason of the operational status.

type

VlanType

Indicates the type of the VLAN:

  • STATIC—Indicates that the VLAN is static.
  • DYNAMIC—Indicates that the VLAN is dynamic
  • INTERNAL—Indicates that the VLAN is internal.
  • DEFAULT—Indicates that this VLAN is the default VLAN

access_ports

string

repeated

Indicates the list of access ports where this VLAN is applied.

role

DeviceRole

Indicates the role of the device. It contains the following:

  • PRIMARY—Indicates that the role of the device is primary.
  • SECONDARY—Indicates that the role of the device is secondary.

role

DeviceRole

optional

Indicates the role of the device as primary or secondary.

peer_role

DeviceRole

optional

Indicates the role of the peer VSX device as primary or secondary.

isl_port

string

optional

Displays information about the ISL port.

peer_isl_port

string

optional

Displays information about the ISL port of the peer VSX device.

keepalive_peer_ip

IpAddress

optional

Indicates the IP address of the peer VSX device.

keepalive_src_ip

IpAddress

optional

Indicates the IP address of the source VSX device.

last_sync_timestamp

uint64

optional

Displays the last VSX sync time.

peer_mac

MacAddress

optional

Indicates the MAC address of the peer VSX device.

config_sync_disable

bool

optional

Displays the boolean indicating whether the Config Sync is enabled or disabled.

ISLP_device_state

ISLPDeviceState

Indicates the state of the ISLP device. It contains the following:

  • WAITING_FOR_PEER—Indicates that the ISL device is waiting for peer.
  • PEER_ESTABLISHED
    —Indicates that the peer is established.
  • SPLIT_SYSTEM_PRIMARY—Indicates that the split system is primary.
  • SPLIT_SYSTEM_SECONDARY**—Indicates that the split system is secondary.
  • SYNC_PRIMARY—Indicates that the sync is primary.
  • SYNC_SECONDARY
    —Indicates that the sync is secondary.
  • SYNC_SECONDARY_LINKUP_DELAY—Indicates that there is a delay in the secondary linkup.

ISL_state

ISLState

Indicates the state of the ISL. It contains the following:

  • IN_SYNC—Indicates that the ISL is in sync state.
  • DISABLED—Indicates that the ISL is in disabled state.
  • SW_IMAGE_VERSION_MISMATCH_ERROR—Indicates that there is a mismatch error in software image version.
  • CONFLICTING_OR_MISSING_DEV_ROLES—Indicates that the device roles are either conflicting or missing.
  • PEER_DB_CONNECTION_ERROR—Indicates an error while connecting to peer database.
  • CONFIGURATION_SYNC_CONFLICT—Indicates that there is a conflict while synchronizing the configuration.
  • CONFIGURATION_SYNC_MISSING_REFERENCE—Indicates that there is a missing reference for configuration synchronize.
  • PEER_REACHABLE—Indicates that the peer is reachable.
  • PEER_UNREACHABLE—Indicates that the peer is unreachable.
  • OPERATIONAL—Indicates that the ISL is operational.
  • INTER_SWITCH_LINK_MGMT_INIT—Indicates the INIT of inter switch management link.
  • CONFLICTING_OR_MISSING_DEVICE_ROLES—Indicates that the device roles are conflicting or missing.
  • INTER_SWITCH_LINK_DOWN—Indicates that the inter switch link id down.
  • INTERNAL_ERROR—Indicates an internal error.
config_sync_state_valueISLStateoptionalIndicates the ISL state, Config state to be one of the states in enum ISLState.
isl_mgmt_state_valueISLStateoptionalIndicates the value of the ISL management state.
nae_state_valueISLStateoptionalIndicates the value of the ISL NAE state.
https_server_state_valueISLStateoptionalIndicates the ISL State value for HTTPS Server state.

Examples for CX Switch Streaming Events within Monitoring Topic

device_id: "DZ0001581"
timestamp: 1601898300
uptime: 364223
mem_utilization: 52
action: UPDATE
device_id: "DZ0001581"
macaddr {
addr: "\360\\\031\311\367j"
}
status: DOWN
duplex_mode: FULL
name: "eth0"
port_number: "0"
type: BRIDGE
vlan: 1
oper_state: DOWN
admin_state: DOWN
speed: SPEED_1000
allowed_vlan: 1
allowed_vlan: 2

.

.

allowed_vlan: 4094
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
action: UPDATE
device_id: "DZ0001581"
port: 3
remote_device_id: "DZ0001581"
remote_port: 4
remote_port_number: 2
vlan_id: 1
id: 26
    name: VLAN26
    status: UP
    type: STATIC
    voice: false   
    oper_state: UP
    oper_state_down_reason: OK
role: PRIMARY
    peer_role: SECONDARY
    isl_port: 1/1/3
    peer_isl_port: 1/1/3
    keepalive_peer_ip {
        addr: ACFFFFD2
    }
    keepalive_src_ip {
        addr: ACFFFFD1
    }
    mac {
        addr: 3C2C99F8DD40
    }
    peer_mac {
        addr: 5480283EB000
    }