RLReadyLinks Docs

SNMP traps

Receive ReadyLinks switch alarms as SNMP traps. Covers the enterprise OID, every trap and its varbinds, trap receiver and SNMPv3 configuration, MIB downloads, and an snmptrapd example.

ItemValue
Enterprise number29763 (1.3.6.1.4.1.29763)
Trap enterprise1.3.6.1.4.1.29763.8.1.911 (rliTrapIDs)
VersionsSNMPv1, SNMPv2c, or SNMPv3. One version applies to all receivers; the default is v2c
DestinationUDP 162 by default. Change it with snmp-server trapport (v1 and v2c only)
ReceiversUp to 10
InformsNot used; traps only

#Configure the switch

All commands are entered in global config mode (configure terminal) unless marked "interface mode".

shell
configure terminal
snmp-server host 192.0.2.50 securityname public-example
snmp-server traps
end
CommandDoesDefault
snmp-server host <ip>Add a trap receiver (IPv4 or IPv6). The community is public—
snmp-server host <ip> securityname <name>Add a receiver with community <name> (v1/v2c) or SNMPv3 user <name> (v3). 3-16 characters—
no snmp-server host <ip> [securityname <name>]Remove a receiver—
snmp-server trapsTurn on the global trap switchOn
no snmp-server trapsTurn off all traps—
snmp-server traps version v1Send v1 traps (also v2c, v3). This keyword is not listed by ?v2c
no snmp-server traps versionGo back to v2c—
snmp-server trapport <port>Destination UDP port, 162 or 1024-65535. Takes effect after a restart162
no snmp-server trapportGo back to 162—
snmp-server traps (interface mode)Turn on traps for this portOn, every port
no snmp-server traps (interface mode)Turn off this port's link, down-speed, G.hn endpoint up/down, and PoE traps—
snmp-server engineid <hex>Local engine ID, 8-64 hex characters. show snmp-server traps-status shows the current value80007443

The per-port commands are refused while the global trap switch is off.

#SNMPv3

Create the user first. Then add a receiver with that user as securityname, and set the version to v3.

shell
configure terminal
snmp-server user nms-example ro auth-alogrithm sha auth-password Example1234 priv-alogrithm aes priv-password Example5678
snmp-server host 192.0.2.50 securityname nms-example
snmp-server traps version v3
end

The full syntax is:

shell
snmp-server user <username> {ro|rw} [auth-alogrithm {md5|sha} auth-password <password> [priv-alogrithm {des|aes} priv-password <password>]] [encry]
  • Keyword spelling. The keywords are spelled auth-alogrithm and priv-alogrithm.
  • Passwords. 9-15 characters, using letters and digits only.
  • Security level. This follows from what you configure: authPriv with both passwords, authNoPriv with only an auth password, noAuthNoPriv with neither.
  • Engine ID. v3 traps are sent with the switch's local engine ID. Use it in the receiver's createUser -e.
  • Port. v3 traps always go to UDP 162, whatever snmp-server trapport is set to.

#Check

CommandShows
show snmp-server hostReceivers
show snmp-server traps-statusGlobal trap state, version, engine ID, per-port state
show snmp-server userSNMPv3 users
show snmp-server portAgent and trap ports

#Wire format

The switch builds each trap as an SNMPv1 trap. For v2c and v3 receivers it converts the trap using the standard RFC 3584 rules:

v1 fieldv2c / v3 equivalent
enterprise 1.3.6.1.4.1.29763.8.1.911, specific-trap NsnmpTrapOID.0 = 1.3.6.1.4.1.29763.8.1.911.0.N
time-stampsysUpTime.0 (first varbind)
agent-addrsnmpTrapAddress.0 (1.3.6.1.6.3.18.1.3.0), appended
enterprisesnmpTrapEnterprise.0 (1.3.6.1.6.3.1.1.4.3.0), appended
varbindsSame varbinds, after snmpTrapOID.0

For example, the down-speed trap (specific 89) arrives at a v2c receiver as snmpTrapOID.0 = 1.3.6.1.4.1.29763.8.1.911.0.89.

#Varbinds

NameOIDTypeContent
alarminfor1.3.6.1.4.1.29763.8.1.1.5.9.0OCTET STRINGEvent text
mac1.3.6.1.4.1.29763.8.4.1.0OCTET STRINGMAC: the switch for switch traps, the endpoint for G.hn traps. Format 00-13-ba-0c-68-57
name1.3.6.1.4.1.29763.8.4.2.0OCTET STRINGName: the switch system name, or the endpoint device name
location1.3.6.1.4.1.29763.8.4.3.0OCTET STRINGSwitch system location. Empty on G.hn traps
ifIndex.N1.3.6.1.2.1.2.2.1.1.NINTEGERPort number N
ifDescr1.3.6.1.2.1.2.2.1.2OCTET STRINGPort name, e.g. Ethernet0/5. Sent with no instance suffix

Port number N counts ports in the switch's front-panel order, starting at 1. For example, on a GL-24xEP, 1-24 are Ethernet0/1-Ethernet0/24 and 25-26 are the fiber ports.

#Trap reference

Every enterprise trap uses generic-trap 6 (enterpriseSpecific) and enterprise 1.3.6.1.4.1.29763.8.1.911. MIB names are from RL-GHN-COAX-MIB.

#Switch

SpecificMIB nameVarbinds
70rliSwitchMemoryAlarmmac, name, location
71rliSwitchMemoryNormalmac, name, location
72rliSwitchTemperatureAlarmmac, name, location
73rliSwitchTemperatureNormalmac, name, location
74rliSwitchCPUUtilAlarmmac, name, location
75rliSwitchCPUUtilNormalmac, name, location
78rliSwitchSessionalarminfor, mac, name, location
81rliSwitchRebootmac, name, location
82rliSwitchResetmac, name, location
89rliSwitchPortDownSpeedalarminfor, mac, name, location

alarminfor text formats. The switch fills in %s with the client IP, user, or port, and %d with a number:

Trapalarminfor
78, SSH login%s(%s) logged into the system via SSH, level %d.
78, web login%s(%s) logged into the system via the WEB UI.
78, web logout or timeout%s(%s) logged out of the system via the WEB UI.
78, session ended by an operatorKill SSH session %s, user %s / Kill Telent session %s, user %s / %s Kill Web session %s
89 %s's speed is %dM, it support max speed is %s! (with a leading space). For example: Ethernet0/5's speed is 1000M, it support max speed is 2500M!

A web login trap is sent the first time a client IP opens a session. A web logout trap can arrive up to about two minutes after the user logs out or the session times out.

#Ports

TrapGeneric / specificEnterpriseVarbinds
linkDown2 / 01.3.6.1.4.1.8072.3.2.10ifIndex.N
linkUp3 / 01.3.6.1.4.1.8072.3.2.10ifIndex.N
coldStart0 / 01.3.6.1.4.1.8072.3.2.10—

At v2c/v3 receivers these arrive as snmpTrapOID.0 = 1.3.6.1.6.3.1.1.5.3 (linkDown), .4 (linkUp), and .1 (coldStart). The link traps carry only ifIndex.N. They don't carry ifAdminStatus or ifOperStatus.

#G.hn endpoints

Each of these carries the varbinds ifIndex.N (the G.hn port), mac and name (the endpoint), and an empty location.

SpecificMIB nameEvent
66linkUpEndpoint up
67linkDownEndpoint down
68rliGhnMemoryAlarmEndpoint free memory low
69rliGhnMemoryNormalEndpoint free memory back to normal
76rliGhnCPUUtilAlarmEndpoint CPU high
77rliGhnCPUUtilNormalEndpoint CPU back to normal
79rliGhnRebootEndpoint rebooting
80rliGhnResetEndpoint resetting
83rliGhnUpgradeWillRestartEndpoint upgraded and will restart
84rliGhnUpgradeRestartedEndpoint accepted the post-upgrade restart

Specific traps 66 and 67 are enterprise traps. They are not the standard linkUp/linkDown traps, although the MIB uses the same names. Match them on the full OID, 1.3.6.1.4.1.29763.8.1.911.0.66 and .0.67.

#PoE

Each of these carries the varbinds alarminfor, ifIndex.N, and ifDescr.

SpecificMIB namealarminfor
85rliPortPowerExceedBudgetPower of Ethernet0/5 exceed budget.
86rliPortPowerRestoredFromExceededPower of Ethernet0/5 restored to normal from exceeded.
87rliPortPowerOverloadPower of Ethernet0/5 overload.
88rliPortPowerRstoredFromOverloadPower of Ethernet0/5 restored to normal from overload.

#RMON threshold traps

An RMON alarm whose rising or falling event has type trap or log-trap sends a trap when it crosses its threshold. These traps use a non-standard v1 layout:

FieldRisingFalling
generic-trap6465
enterpriseThe sampled variable's OID without its last sub-identifierSame
specific-trapThe last sub-identifier, which is the port numberSame
varbindsNoneNone

For example, a rising alarm on ifInOctets of port 3 has enterprise 1.3.6.1.2.1.2.2.1.10 and specific-trap 3. At v2c/v3 receivers these arrive with snmpTrapOID.0 = 1.3.6.1.6.3.1.1.5.65 (rising) or 1.3.6.1.6.3.1.1.5.66 (falling), followed by snmpTrapEnterprise.0 set to the variable's OID prefix.

shell
configure terminal
rmon
event index 1 type log-trap community public-example description in-octets owner noc
alarm index 1 port <port> variable 0 sample-type delta startup rising rising 60000 1 falling 1000 1 interval 60 owner noc
end

variable ? lists the variables you can sample. For example, 0 is InOctets, 4 is InErrorPks, and 16 is RMONCRCAlignPks. Thresholds are 1-65535. The interval is 1-65535 s.

#Thresholds

AlarmCommandDefault alarm / normalRange
Switch temperature (°C)alarm switch temperature normal-value <n> alarm-value <a>90 / 8530-90
Switch CPU (%)alarm switch cpu normal-value <n> alarm-value <a>80 / 501-99
Switch free memory (%)alarm switch memory normal-value <n> alarm-value <a>10 / 201-99
G.hn endpoint CPU (%)alarm ghn cpu normal-value <n> alarm-value <a>80 / 501-99
G.hn endpoint free memory (%)alarm ghn memory normal-value <n> alarm-value <a>10 / 201-99
  • Value order. For temperature and CPU, the normal value must be lower than the alarm value. For memory, which is free memory, it must be higher.
  • Reset to defaults. no alarm switch {cpu|memory|temperature} restores the defaults.
  • Show. show alarm shows the switch thresholds.
  • G.hn. The alarm ghn commands work only on switches with G.hn ports.

#Down-speed alarm

The down-speed alarm (specific 89) is set per RJ45 port, in interface mode:

shell
interface ethernet <port>
speed auto-max 2500
speed auto-maxAlarm when the link comes up below
100100 Mb/s
10001000 Mb/s
25002500 Mb/s
50005000 Mb/s
10No alarm

The alarm is checked each time the link comes up. It has no clear event. no speed restores the port's default speed setting.

#MIB files

Load RL-GHN-COAX-MIB to decode every trap and varbind on this page. It imports only the standard RFC1155-SMI, RFC-1212, RFC1213-MIB and RFC-1215 modules, which ship with net-snmp.

FileContents
RL-GHN-COAX-MIB.mibAll trap definitions and all varbind objects, including alarminfor
RL-GHN-MIB.mibThe same trap definitions, plus ghnClientMAC, ghnClientName and ghnClientLocation for .8.4.1-.8.4.3. It does not define alarminfor
RL_public.mibRL-PUBLIC-MIB: device type, name and port count. No traps

RL-GHN-COAX-MIB and RL-GHN-MIB define the same traps. If you load both, the receiver may show either module's name for a trap.

Also defined in the MIB, but not sent by the switch: rliTemperature-Alarm (61), rliPower-Alarm (62), rliFan-Alarm (63), rliRisingThreshold-Alarm (64), and rliFallingThreshold-Alarm (65). RMON traps use the format above.

#Receiver example (net-snmp)

/etc/snmp/snmptrapd.conf:

shell
# v1 / v2c: accept and log traps with this community
authCommunity log,execute public-example

# v3: user and engine ID must match the switch
createUser -e 0x80007443 nms-example SHA Example1234 AES Example5678
authUser log,execute nms-example

# Optional: run a script for the down-speed alarm
traphandle 1.3.6.1.4.1.29763.8.1.911.0.89 /usr/local/bin/rlos-downspeed.sh

Copy the MIB into the MIB path and start the receiver:

shell
sudo cp RL-GHN-COAX-MIB.mib /usr/share/snmp/mibs/
sudo snmptrapd -f -Lo -m +RL-GHN-COAX-MIB

Example output for a v2c down-speed trap:

text
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (123456) 0:20:34.56
SNMPv2-MIB::snmpTrapOID.0 = OID: RL-GHN-COAX-MIB::rliSwitchPortDownSpeed
RL-GHN-COAX-MIB::alarminfor.0 = STRING:  Ethernet0/5's speed is 1000M, it support max speed is 2500M!
RL-GHN-COAX-MIB::mac.0 = STRING: 00-13-ba-0c-68-57
RL-GHN-COAX-MIB::name.0 = STRING: access-sw-01
RL-GHN-COAX-MIB::location.0 = STRING: MDF rack 2
SNMP-COMMUNITY-MIB::snmpTrapAddress.0 = IpAddress: 192.0.2.20
SNMPv2-MIB::snmpTrapEnterprise.0 = OID: RL-GHN-COAX-MIB::rliTrapIDs

To test the path end to end, run snmp-server traps on the switch. Then unplug and reconnect a cable on a port with traps on, and watch for linkDown and linkUp.

Edit this page on GitLab

Last updated October 21, 2026