What Reject-Message-To-Network Is
Reject-Message-To-Network is a network-layer message in BACnet, defined in Clause 6.4.4 of ANSI/ASHRAE 135-2024. A router sends it back to a device whose message it could not route, carrying a reason for the rejection. It is carried in an NPDU (Network Protocol Data Unit, the network-layer packet) rather than as an application service, so it is unacknowledged: it is itself the notice of a routing failure, and nothing replies to it.
It is the network layer’s way of telling a sender that a routed message will not get through, and why. Because it names a reason, it is one of the more useful messages to watch when routing is misbehaving.
How It Works
The message is directed to the node that originated the rejected message, using that message’s source address, and carries a one-octet reason and the destination network number involved. The defined reasons are: an unspecified other error; the router is not connected to the destination network and can find no router to it; the router is busy and cannot accept messages for that network right now; the network-layer message type is unknown; the message is too long to route to that network; and the source message was rejected for an addressing error. A device that receives a reject learns its message did not reach the destination and can act on the specific reason.
Where You’ll See It
- Unreachable network. A client sends to a network number no router serves, and the router replies that it is not connected to that network and cannot find one that is.
- Oversized messages. A large request bound for a network whose segment cannot carry it comes back rejected as too long to route.
- Addressing mistakes. A malformed destination address draws a reject citing the addressing error, which points straight at the bad field.
Reject-Message-To-Network Error Codes
Reject-Message-To-Network is itself the network layer’s rejection notice, not an application service, so it carries a numeric reason rather than an application-layer error class and code, and nothing acknowledges it. Read the reason octet directly:
- Not directly connected to the destination network, and no router to it can be found: the destination network number is unreachable from this router.
- Router busy: the router is shedding traffic for that network temporarily; see Router-Busy-To-Network.
- Unknown network-layer message type: the router did not recognize the message.
- Message too long to route to the destination network: the payload exceeds what that path can carry.
- Addressing error: the length of a destination or source address was invalid.
Profiles That Require It
The network-layer messages are the router’s job. Generating and handling Reject-Message-To-Network is part of the router configuration capability NM-RC-B, which is required of the router profile B-RTR. Non-routing devices receive the reject to learn a message failed but do not originate it.
What Chipkin Provides
The CAS BACnet Stack generates Reject-Message-To-Network for destinations it cannot route, giving a sender a clear reason for a routing failure. Talk to us about adding BACnet client or server support to your device.