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.
| Item | Value |
|---|---|
| Enterprise number | 29763 (1.3.6.1.4.1.29763) |
| Trap enterprise | 1.3.6.1.4.1.29763.8.1.911 (rliTrapIDs) |
| Versions | SNMPv1, SNMPv2c, or SNMPv3. One version applies to all receivers; the default is v2c |
| Destination | UDP 162 by default. Change it with snmp-server trapport (v1 and v2c only) |
| Receivers | Up to 10 |
| Informs | Not used; traps only |
#Configure the switch
All commands are entered in global config mode (configure terminal) unless marked "interface mode".
configure terminal
snmp-server host 192.0.2.50 securityname public-example
snmp-server traps
end| Command | Does | Default |
|---|---|---|
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 traps | Turn on the global trap switch | On |
no snmp-server traps | Turn off all traps | — |
snmp-server traps version v1 | Send v1 traps (also v2c, v3). This keyword is not listed by ? | v2c |
no snmp-server traps version | Go back to v2c | — |
snmp-server trapport <port> | Destination UDP port, 162 or 1024-65535. Takes effect after a restart | 162 |
no snmp-server trapport | Go back to 162 | — |
snmp-server traps (interface mode) | Turn on traps for this port | On, 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 value | 80007443 |
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.
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
endThe full syntax is:
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-alogrithmandpriv-alogrithm. - Passwords. 9-15 characters, using letters and digits only.
- Security level. This follows from what you configure:
authPrivwith both passwords,authNoPrivwith only an auth password,noAuthNoPrivwith 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 trapportis set to.
#Check
| Command | Shows |
|---|---|
show snmp-server host | Receivers |
show snmp-server traps-status | Global trap state, version, engine ID, per-port state |
show snmp-server user | SNMPv3 users |
show snmp-server port | Agent 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 field | v2c / v3 equivalent |
|---|---|
enterprise 1.3.6.1.4.1.29763.8.1.911, specific-trap N | snmpTrapOID.0 = 1.3.6.1.4.1.29763.8.1.911.0.N |
| time-stamp | sysUpTime.0 (first varbind) |
| agent-addr | snmpTrapAddress.0 (1.3.6.1.6.3.18.1.3.0), appended |
| enterprise | snmpTrapEnterprise.0 (1.3.6.1.6.3.1.1.4.3.0), appended |
| varbinds | Same 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
| Name | OID | Type | Content |
|---|---|---|---|
alarminfor | 1.3.6.1.4.1.29763.8.1.1.5.9.0 | OCTET STRING | Event text |
mac | 1.3.6.1.4.1.29763.8.4.1.0 | OCTET STRING | MAC: the switch for switch traps, the endpoint for G.hn traps. Format 00-13-ba-0c-68-57 |
name | 1.3.6.1.4.1.29763.8.4.2.0 | OCTET STRING | Name: the switch system name, or the endpoint device name |
location | 1.3.6.1.4.1.29763.8.4.3.0 | OCTET STRING | Switch system location. Empty on G.hn traps |
ifIndex.N | 1.3.6.1.2.1.2.2.1.1.N | INTEGER | Port number N |
ifDescr | 1.3.6.1.2.1.2.2.1.2 | OCTET STRING | Port 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
| Specific | MIB name | Varbinds |
|---|---|---|
| 70 | rliSwitchMemoryAlarm | mac, name, location |
| 71 | rliSwitchMemoryNormal | mac, name, location |
| 72 | rliSwitchTemperatureAlarm | mac, name, location |
| 73 | rliSwitchTemperatureNormal | mac, name, location |
| 74 | rliSwitchCPUUtilAlarm | mac, name, location |
| 75 | rliSwitchCPUUtilNormal | mac, name, location |
| 78 | rliSwitchSession | alarminfor, mac, name, location |
| 81 | rliSwitchReboot | mac, name, location |
| 82 | rliSwitchReset | mac, name, location |
| 89 | rliSwitchPortDownSpeed | alarminfor, mac, name, location |
alarminfor text formats. The switch fills in %s with the client IP, user, or port, and %d with a number:
| Trap | alarminfor |
|---|---|
| 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 operator | Kill 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
| Trap | Generic / specific | Enterprise | Varbinds |
|---|---|---|---|
linkDown | 2 / 0 | 1.3.6.1.4.1.8072.3.2.10 | ifIndex.N |
linkUp | 3 / 0 | 1.3.6.1.4.1.8072.3.2.10 | ifIndex.N |
coldStart | 0 / 0 | 1.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.
| Specific | MIB name | Event |
|---|---|---|
| 66 | linkUp | Endpoint up |
| 67 | linkDown | Endpoint down |
| 68 | rliGhnMemoryAlarm | Endpoint free memory low |
| 69 | rliGhnMemoryNormal | Endpoint free memory back to normal |
| 76 | rliGhnCPUUtilAlarm | Endpoint CPU high |
| 77 | rliGhnCPUUtilNormal | Endpoint CPU back to normal |
| 79 | rliGhnReboot | Endpoint rebooting |
| 80 | rliGhnReset | Endpoint resetting |
| 83 | rliGhnUpgradeWillRestart | Endpoint upgraded and will restart |
| 84 | rliGhnUpgradeRestarted | Endpoint 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.
| Specific | MIB name | alarminfor |
|---|---|---|
| 85 | rliPortPowerExceedBudget | Power of Ethernet0/5 exceed budget. |
| 86 | rliPortPowerRestoredFromExceeded | Power of Ethernet0/5 restored to normal from exceeded. |
| 87 | rliPortPowerOverload | Power of Ethernet0/5 overload. |
| 88 | rliPortPowerRstoredFromOverload | Power 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:
| Field | Rising | Falling |
|---|---|---|
| generic-trap | 64 | 65 |
| enterprise | The sampled variable's OID without its last sub-identifier | Same |
| specific-trap | The last sub-identifier, which is the port number | Same |
| varbinds | None | None |
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.
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
endvariable ? 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
| Alarm | Command | Default alarm / normal | Range |
|---|---|---|---|
| Switch temperature (°C) | alarm switch temperature normal-value <n> alarm-value <a> | 90 / 85 | 30-90 |
| Switch CPU (%) | alarm switch cpu normal-value <n> alarm-value <a> | 80 / 50 | 1-99 |
| Switch free memory (%) | alarm switch memory normal-value <n> alarm-value <a> | 10 / 20 | 1-99 |
| G.hn endpoint CPU (%) | alarm ghn cpu normal-value <n> alarm-value <a> | 80 / 50 | 1-99 |
| G.hn endpoint free memory (%) | alarm ghn memory normal-value <n> alarm-value <a> | 10 / 20 | 1-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 alarmshows the switch thresholds. - G.hn. The
alarm ghncommands 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:
interface ethernet <port>
speed auto-max 2500speed auto-max | Alarm when the link comes up below |
|---|---|
100 | 100 Mb/s |
1000 | 1000 Mb/s |
2500 | 2500 Mb/s |
5000 | 5000 Mb/s |
10 | No 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.
| File | Contents |
|---|---|
| RL-GHN-COAX-MIB.mib | All trap definitions and all varbind objects, including alarminfor |
| RL-GHN-MIB.mib | The same trap definitions, plus ghnClientMAC, ghnClientName and ghnClientLocation for .8.4.1-.8.4.3. It does not define alarminfor |
| RL_public.mib | RL-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:
# 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.shCopy the MIB into the MIB path and start the receiver:
sudo cp RL-GHN-COAX-MIB.mib /usr/share/snmp/mibs/
sudo snmptrapd -f -Lo -m +RL-GHN-COAX-MIBExample output for a v2c down-speed trap:
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::rliTrapIDsTo 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.
Last updated October 21, 2026