NETCONF notifications
Receive ReadyLinks switch alarms as NETCONF notifications. Covers the readylinks-rlos notification-status leaves, message formats, create-subscription, and client examples.
The switch publishes each alarm as a YANG notification. A NETCONF client that holds a subscription receives it on the same SSH session it uses for get and edit-config.
| Item | Value |
|---|---|
| Transport | NETCONF over SSH, TCP 830 |
| Module | readylinks-rlos (YANG repo) |
| Namespace | http://readylinks.io/rlos/yang/conf |
| Prefix | rlos |
| Revision | 2026-09-08 |
| Notification | notification-status |
| Subscribe with | <create-subscription> (RFC 5277), stream NETCONF |
| Replay | Not supported. Only notifications raised while you are subscribed are delivered |
#Prerequisites
- NETCONF is enabled and you can log in. See How to use NETCONF.
- The switch is set up to raise the alarms you need. Notifications follow the same switches as SNMP traps (see Gating), so the global trap switch (
snmp-server traps) must stay on. You don't need any SNMP trap receivers.
#The notification-status notification
The definition from readylinks-rlos, with descriptions omitted:
notification notification-status {
leaf switch-session-status { type string; }
leaf ghn-port-status { type string; }
leaf ghn-memory-status { type string; }
leaf ghn-cpu-status { type string; }
leaf ghn-reboot-status { type string; }
leaf ghn-reset-status { type string; }
leaf ghn-upgrade-will-restart-status { type string; }
leaf ghn-upgrade-restarted-status { type string; }
leaf switch-reset-status { type string; }
leaf switch-reboot-status { type string; }
leaf switch-cpu-status { type string; }
leaf switch-temperature-status { type string; }
leaf switch-memory-status { type string; }
leaf switch-port-status { type string; }
leaf switch-port-downspeed { type string; }
}- One leaf per notification. Each notification carries exactly one leaf. The leaf tells you the alarm family, and its text tells you the event.
- Text length. The text is at most 1023 characters.
- Matching SNMP trap. Each notification is sent at the same moment as its SNMP trap. See the SNMP trap reference.
#Leaves and message formats
In the formats below, <N> is the port number, which is the same value as the ifIndex.N varbind in the SNMP trap. <mac>, <name> and <location> are the switch's MAC (00-13-ba-0c-68-57 format), system name and system location. For G.hn events they are the endpoint's MAC and name.
| Leaf | Code | Event | Message format |
|---|---|---|---|
switch-session-status | 1 | Management session (trap 78) | rliSwitchSession <text> <mac> <name> <location> |
ghn-port-status | 2 | G.hn endpoint up / down (66 / 67) | ifIndex.<N> linkUp mac: <mac> name: <name> / ifIndex.<N> linkDown mac: <mac> name: <name> |
ghn-memory-status | 3 | G.hn endpoint memory (68 / 69) | ifIndex.<N> rliGhnMemoryAlarm mac: <mac> name: <name> / ifIndex.<N> rliGhnMemoryNormal ... |
ghn-cpu-status | 4 | G.hn endpoint CPU (76 / 77) | ifIndex.<N> rliGhnCPUUtiAlarm mac: <mac> name: <name> / ifIndex.<N> rliGhnCPUItiNormal ... |
ghn-reboot-status | 5 | G.hn endpoint reboot (79) | ifIndex.<N> rliGhnReboot mac: <mac> name: <name> |
ghn-reset-status | 6 | G.hn endpoint reset (80) | ifIndex.<N> rliGhnReset mac: <mac> name: <name> |
ghn-upgrade-will-restart-status | 7 | G.hn upgrade done, restarting (83) | ifIndex.<N> rliGhnUpgradeWillRestart mac: <mac> name: <name> |
ghn-upgrade-restarted-status | 8 | G.hn restart command accepted (84) | ifIndex.<N> rliGhnUpgradeRestarted mac: <mac> name: <name> |
switch-reset-status | 9 | Switch factory reset (82) | rliSwitchReset mac: <mac> name: <name> location:<location> |
switch-reboot-status | 10 | Switch reboot (81) | rliSwitchReboot mac: <mac> name: <name> location:<location> |
switch-cpu-status | 11 | Switch CPU (74 / 75) | rliSwitchCPUUtilAlarm mac: <mac> name: <name> location:<location> / rliSwitchCPUUtilNormal ... |
switch-temperature-status | 12 | Switch temperature (72 / 73) | rliSwitchTemperatureAlarm mac: <mac> name: <name> location:<location> / rliSwitchTemperatureNormal ... |
switch-memory-status | 13 | Switch memory (70 / 71) | rliSwitchMemoryAlarm mac: <mac> name: <name> location:<location> / rliSwitchMemoryNormal ... |
switch-port-status | 14 | Port link (linkDown / linkUp) | ifIndex.<N> linkDown / ifIndex.<N> linkUp |
switch-port-downspeed | 15 | Port speed below maximum (89) | <port>'s speed is <speed>M, it support max speed is <max>M! |
- Code column. The code is the switch's internal event number for each leaf. It is never sent on the wire. Use the leaf name to identify the event.
<text>in session events. This is the same text as thealarminforvarbind of trap 78, for example192.0.2.10(admin) logged into the system via the WEB UI.- Matching CPU events. The G.hn CPU messages are spelled
rliGhnCPUUtiAlarmandrliGhnCPUItiNormal. Match on these exact strings. - No space after
location:. In switch messages, the location followslocation:with no space.
PoE, RMON, coldStart, and G.hn endpoint temperature alarms have no NETCONF notification. Use SNMP traps or syslog for them.
#Subscribe
Send <create-subscription> on the session. The NETCONF stream carries the notifications of every module on the switch. To receive only readylinks-rlos notifications, use the stream readylinks-rlos instead.
<rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<create-subscription xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
<stream>NETCONF</stream>
</create-subscription>
</rpc>The subscription lasts for the life of the session. Reconnect and subscribe again after a session drops. Events raised while you were disconnected are not replayed.
#Example notification
<notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
<eventTime>2026-10-21T14:03:11.52-05:00</eventTime>
<notification-status xmlns="http://readylinks.io/rlos/yang/conf">
<switch-port-downspeed> Ethernet0/5's speed is 1000M, it support max speed is 2500M!</switch-port-downspeed>
</notification-status>
</notification><notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
<eventTime>2026-10-21T14:05:42.08-05:00</eventTime>
<notification-status xmlns="http://readylinks.io/rlos/yang/conf">
<ghn-port-status>ifIndex.3 linkDown mac: 00-13-ba-0c-68-57 name: modem-example</ghn-port-status>
</notification-status>
</notification>#Client examples
netopeer2-cli
> connect --ssh --port 830 --login admin --host 192.0.2.20
> subscribe --stream NETCONFTo test, unplug and reconnect a cable on a port with traps enabled. A switch-port-status notification arrives for linkDown and another for linkUp.
Last updated October 21, 2026