RowStatus
RowStatus is a special textual convention used to create and delete rows in certain SNMP tables via SET operations - rather than a table row simply existing because the device's own configuration created it, some tables are specifically designed to let a manager add or remove rows directly over SNMP.
This mostly shows up in tables where the manager itself needs to define new entries - a static route, an access control entry, a monitored threshold - not tables that just passively reflect the device's existing state (you can't, for instance, create a new physical network interface by SETting a row into ifTable).
The states
RowStatus is an enumerated integer with six defined values:
active(1)- the row exists and is in use.notInService(2)- the row exists but is deliberately not currently active.notReady(3)- the row exists but is missing required information before it can become active - a transitional state, not something you set directly.createAndGo(4)- used when creating a row: create it and make it active immediately, in one step.createAndWait(5)- used when creating a row across multiple SET operations: create it, but leave it innotReadyuntil explicitly activated afterward.destroy(6)- delete the row entirely.
Creating a row, concretely
To create a new row, you SET values for the row's index columns (see INDEX and table indexing - the index values themselves define which row you're creating, since a table row's identity is its index) along with any other required columns and the RowStatus column itself, typically set to createAndGo for a simple, single-step creation. If the row requires several columns to be set before it can be valid, and you'd rather not have it briefly active with incomplete data, createAndWait lets you set everything first and activate it as a deliberate final step.
Why this is more involved than a normal SET
A plain SET changes one existing value. Row creation via RowStatus is really a small, ordered sequence of operations, and getting the order or the specific values wrong is a common source of confusion - a row stuck in notReady usually means some required column hasn't been set yet, and the agent won't activate an incomplete row on its own.
Deleting a row
Deletion is more straightforward: SET the row's RowStatus column to destroy, and the entire row - not just that one column - is removed.