For example, computing a shortest path with bounded delay is in fact NP-complete. However, delay and hop count are useful constraints, so we allow them. The downside is that a modified Dijkstra will not always find the optimal path, and may fail to find a path even though one exists. Every link in the network can be associated with a set of up to 32 administrative groups, represented as a 32-bit integer. A route can have administrative group constraints on the links that the path can traverse.
Current implementations have at least two ways of describing administrative group constraints.
L satisfies both the include and the exclude constraints. Let a route have an affinity with bit representation aff, and a mask with bit representation m. The two methods of specifying administrative group constraints are close, but not equivalent. Here, equivalent means that given an include and exclude set, one can produce an affinity and mask that accept exactly the same set of links, and vice versa. In the interests of interoperability, it would be good to either converge on equivalent semantics or provide knobs to choose the semantics.