Manifest for a Standard of Priorities Order

Priorities are a common parameter in applications. Examples are multiple. In support applications, priorities are used to define the urgency of the reported problem. When you configure softwares, priorities may help to re-order similar actions. In protocol specifications, priorities are also used to perform decisions (routing protocols are a good example) In short, priorities are everywhere!

Did you ever notice that the order of priorities is often depending on the application? Some developers use the priority 1 (one) as the highest while others as the lowest priority. In a given context, two identical rules with respective priorities of “10” and “20”: Which one will be processed first? Often, you will have to refer to the documentation!

First example, the MX (“Mail eXchange”) in a domain zone. The MX record with the lower priority will be used first:

rootshell.be.		3600	IN	MX	10 mail.rootshell.be.
rootshell.be.		3600	IN	MX	20 mx1.nikita.cx.
rootshell.be.		3600	IN	MX	300 spammers.go.away.

A second example? In the BGP4 protocol. At a given step, the route selection is performed also depending on a priority (called “weight” in this case).

In the latter case the route selection process moves to the next tie breaker. While LOCAL_PREF is the first rule in the standard, once reachability of the NEXT_HOP is verified, Cisco and several other vendors first consider a decision factor called WEIGHT which is local to the router (ie not transmitted by BGP). The route with the highest WEIGHT is preferred“.

OTRS, a popular open source ticketing system, uses priorities from “1” (lowest) to “5” (highest).

In those three examples, we see that the priorities order is different. As everything is standardized in information technology, why not the definition of priorities?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.