IP Addresses and Services Configuration Guide for Cisco 8000 Series Routers, IOS XR Releases

PDF

IP Addresses and Services Configuration Guide for Cisco 8000 Series Routers, IOS XR Releases

IP address conflict resolution

Want to summarize with AI?

Log in

Describes how IP Address Repository Manager (IPARM) detects address conflicts, applies conflict policies, supports connected-route tags, and uses Address Repository Manager data to select the active address.


IP address conflict resolution is an address-management function that

  • detects conflicting IPv4 or IPv6 addresses across interfaces

  • uses a configured IP Address Repository Manager (IPARM) conflict policy to select the winning address, and

  • coordinates with the Address Repository Manager to keep address state consistent across protocols.

Conflict handling scope

Conflict resolution policies apply to IP address conflicts in the same address family. The policy determines which address remains active when duplicate or overlapping address information is detected.

Connected-route tags can be configured with IPv4 and IPv6 addresses on an interface. IP ARM propagates the tags to routing protocols so route policy language can identify or filter the connected routes.


IPARM conflict resolution policies

Use this reference to choose the IPARM conflict policy that determines which conflicting address remains active.

Policy summary

Table 1. IPARM conflict policies

Policy

Behavior

Static

Keeps the currently running address active and prevents a later conflicting address from taking precedence.

Longest prefix

Gives precedence to the conflicting address with the longest prefix length.

Highest IP

Gives precedence to the highest IP address among the conflicting addresses.

Static policy resolution

Static policy resolution gives precedence to the IP address that is already active on an interface. If another interface is configured later with a conflicting IP address, the later address is marked down and the original address remains active.

Use static policy resolution when the operational address that is already running must remain stable during later configuration changes.

Longest prefix address conflict resolution

Longest prefix address conflict resolution gives precedence to the address with the longest prefix length in the conflict set. The longest prefix is selected because it represents the most specific address scope among the conflicting entries.

When the policy selects the longest prefix, ARM marks lower-precedence conflicting address state down. Addresses that do not conflict with the selected longest-prefix address can remain active.

Highest IP address conflict resolution

Highest IP address conflict resolution gives precedence to the highest IP address in the conflict set. When duplicate or overlapping address state exists, ARM compares the conflicting addresses and keeps the highest address active.

Use highest IP address conflict resolution when address precedence must be determined by numeric address value instead of configuration order or prefix length.

Related configuration

Use the ipv4 conflict-policy command to configure an IPv4 conflict policy. Use the corresponding ipv6 conflict-policy command to configure conflict handling for IPv6.

Use the show arm ipv4 conflicts command or the show arm ipv6 conflicts command to display conflicting address information.


Configure IPARM conflict resolution policies

Configure an IPARM conflict resolution policy to control which address remains active when an address conflict occurs.

You can configure static, longest-prefix, or highest-IP conflict resolution. Use the corresponding ipv6 conflict-policy command when you configure IPv6 conflict handling.

Procedure

  1. Configure the static conflict policy.

    Example:

    Router# configure
    Router(config)# ipv4 conflict-policy static
    Router(config)# interface HundredGigE 0/0/0/1
    Router(config-if)# ipv4 address 192.0.2.1 255.255.255.0
    Router(config-if)# exit
    Router(config)# commit
  2. Verify the IPv4 conflict information.

    Example:

    Router# show arm ipv4 conflicts
    
    Address         Interface              State
    192.0.2.1       HundredGigE0/0/0/1     UP
    192.0.2.1       HundredGigE0/0/0/2     DOWN
  3. Configure the longest-prefix conflict policy.

    Example:

    Router# configure
    Router(config)# ipv4 conflict-policy longest-prefix
    Router(config)# interface HundredGigE 0/0/0/1
    Router(config-if)# ipv4 address 192.0.2.1 255.255.255.0
    Router(config-if)# exit
    Router(config)# commit
  4. Configure the highest-IP conflict policy.

    Example:

    Router# configure
    Router(config)# ipv4 conflict-policy highest-ip
    Router(config)# interface HundredGigE 0/0/0/1
    Router(config-if)# ipv4 address 192.0.2.1 255.255.255.0
    Router(config-if)# exit
    Router(config)# commit

Address Repository Manager

IPv4 and IPv6 Address Repository Manager is an IP address repository function that

  • enforces uniqueness for global IP addresses configured in the system

  • disseminates global IP address information to processes on RPs and LCs through IP address consumer APIs, and

  • includes unnumbered interface information when it provides address data to consumers.

Address conflict resolution

Address conflict resolution has two parts: the conflict database and the conflict set definition. IPARM uses both parts to maintain a global view of conflicting IP addresses.

Conflict database

IPARM maintains a global conflict database. IP addresses that conflict with each other are maintained in lists called conflict sets. These conflict sets make up the global conflict database.

A set of IP addresses is part of a conflict set if at least one prefix in the set conflicts with every other IP address in the same set.

Table 2. Conflict set example

Address

Prefix

Address 1

10.1.1.1/16

Address 2

10.2.1.1/16

Address 3

10.3.1.1/16

Address 4

10.4.1.1/8

In this example, the four addresses are part of one conflict set because at least one prefix in the set conflicts with each of the other addresses.

Deterministic conflict policy

When a conflicting IP address is added to a conflict set, IPARM runs an algorithm through the set to determine the highest-precedence address.

The conflict policy algorithm is deterministic. You can determine which addresses on an interface are enabled or disabled. The enabled address is declared as the highest-precedence IP address for that conflict set.


How address conflict resolution works

Address conflict resolution starts when ARM receives address state from address producers and detects a duplicate or overlapping address condition.

Summary

Address conflict resolution uses these elements:

  • Address producers: Provide address state to ARM.

  • ARM conflict database: Stores the conflict state and candidate addresses.

  • Conflict policy: Determines which candidate address has precedence.

  • Address clients: Receive the resolved address state from ARM.

Workflow

These stages describe how address conflict resolution works.

  1. An address producer sends address state to ARM.

  2. ARM compares the new address state with existing address state and detects whether a conflict exists.

  3. When a conflict exists, ARM records the conflicting entries and applies the configured conflict resolution policy.

  4. The policy selects the address with precedence and marks the other conflicting address state down.

  5. ARM notifies address clients about the resolved address state so dependent protocols use the active address.

Result

The router keeps one active address state for the conflict and prevents conflicting address state from being used by clients.


Route-tag support for connected routes

Route-tag support for connected routes is an address-management function that

  • adds a route tag as an attribute of an IPv4 or IPv6 interface address

  • passes the route tag from IP master address processing to IP ARM, and

  • makes the tag available to routing protocols for route policy language processing.

Route policy use

Routing protocols can use connected-route tags to identify, match, or control distribution of connected routes through route policy language.

Configure the tag with the interface address by using the route-tag keyword. The route tag becomes part of the connected route information that IP ARM provides to routing protocols.


Configure route tags for connected routes

Configure a route tag on a connected route so routing protocols can use the tag in route policy language.

Route tags configured with IPv4 and IPv6 addresses on an interface are propagated from the IP master address component to IPARM, and then to routing protocols.

Procedure

  1. Configure an IPv4 address with a route tag on the interface.

    Example:

    Router# configure
    Router(config)# interface HundredGigE 0/0/0/1
    Router(config-if)# ipv4 address 198.51.100.1 255.255.255.0 route-tag 50
    Router(config-if)# exit
    Router(config)# commit
  2. Verify the running configuration for the route-tagged address.

    Example:

    Router# show running-config interface HundredGigE 0/0/0/1
    
    interface HundredGigE0/0/0/1
     ipv4 address 198.51.100.1 255.255.255.0 route-tag 50
    !
  3. Verify the parameters of the route.

    Example:

    Router#show route 198.51.100.1
    Routing entry for 198.51.100.1/24
      Known via "local", distance 0, metric 0 (connected)
      Tag 50
    Routing Descriptor Blocks
        directly connected, via HundredGigE0/0/0/24
          Route metric is 0
      No advertising protos.