= Loop Detector
:description: Learn how the LoopDetector gives OpenNMS {page-component-title} users the ability to force a service onto an interface during service detection.

The LoopDetector gives {page-component-title} users the ability to force a service onto an interface during service detection.
You can use the LoopDetector to ensure a specific service is added to all nodes without performing a check against the node.
This type of detector is primarily used along with xref:reference:service-assurance/monitors/PassiveStatusMonitor.adoc[passive service monitoring].

First, add a detector for the new service to the desired foreign-source definition.
Use the LOOP class:

Add parameters:

* ipMatch : `169.254.*.*`

Here's how the above looks in the requisition XML:

[source, xml]
----
<detector name="PCR" class="org.opennms.netmgt.provision.detector.loop.LoopDetector">
    <parameter key="ipMatch" value="169.254.*.*"/>
</detector>
----

This configuration will cause the "PCR" service to be detected (without any actual network-based scanning happening) on any interface with an IP address starting with "169.254".

== Detector facts

[options="autowidth"]
|===
| Implementation | `org.opennms.netmgt.provision.detector.loop.LoopDetector`
|===

== Configuration and use

.Parameters for the LoopDetector
[options="header, autowidth"]
[cols="1,4,1"]
|===
| Parameter
| Description
| Default value

3+| *Required*

| ipMatch
| IP address wildcard.
If the node has an IP address that matches, the service will be flagged for the node.
| none

3+| *Optional*

| isSupported
| Must be set to `true` for detection to succeed.
| true

|===