Configuring On-Demand Routing

The On-Demand Routing feature provides IP routing for stub sites, with minimum cost. The cost of a general, dynamic routing protocol is avoided without incurring the configuration and management burden of static routing.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Prerequisites for Configuring On-Demand Routing

Cisco Discovery Protocol must be enabled.

Restrictions for Configuring On-Demand Routing

No IP routing protocol can be configured on the stub router.

Information About On-Demand Routing

Benefits of On-Demand Routing

This module describes how to configure On-Demand Routing (ODR). The ODR feature provides IP routing for stub sites, with minimum cost. The cost of a general, dynamic routing protocol is avoided without incurring the configuration and management burden of static routing.

Stub Networks

A stub router can be considered a spoke router in a hub-and-spoke network topology--as shown in the figure below--where the only router to which the spoke is adjacent is the hub router. In such a network topology, the IP routing information required to represent this topology is fairly simple. These stub routers commonly have a WAN connection to the hub router, and a small number of LAN network segments (stub networks) are directly connected to the stub router. These stub networks might consist only of end systems and the stub router, and therefore do not require the stub router to learn any dynamic IP routing information.

Figure 1. Hub-And-Spoke Network Topology Example

Overview of On-Demand Routing

ODR allows you to easily install IP stub networks where the hubs dynamically maintain routes to the stub networks. This installation is accomplished without requiring the configuration of an IP routing protocol on the stubs. In fact, from the standpoint of ODR, a router is automatically considered to be a stub when no IP routing protocols have been configured.

A stub router that supports the ODR feature advertises IP prefixes corresponding to the IP networks configured on all directly connected interfaces. If the interface has multiple logical IP networks configured, only the primary IP network is advertised through ODR. Because ODR advertises IP prefixes and not simply IP network numbers, ODR is able to carry variable-length subnet mask (VLSM) information.

Once ODR is enabled on a hub router, the hub router begins installing stub network routes in the IP forwarding table. The hub router also can be configured to redistribute these routes into any configured dynamic IP routing protocols.

ODR uses the Cisco Discovery Protocol to carry minimal routing information between the hub and stub routers. The stub routers send IP prefixes to the hub router. The hub router provides default route information to the stub routers, thereby eliminating the need to configure a default route on each stub router.

How to Configure On-Demand Routing

Enabling ODR

Once ODR is enabled on a hub router, the hub router begins installing stub network routes in the IP forwarding table. The hub router also can be configured to redistribute these routes into any configured dynamic IP routing protocols.

To enable ODR on a hub router, perform the steps in this task.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    router odr


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
    Router> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.

     
    Step 2 configure terminal


    Example:
    Router# configure terminal
     

    Enters global configuration mode.

     
    Step 3 router odr


    Example:
    Router(config)# router odr
     

    Enables ODR on a Cisco router, and places the router in router configuration mode.

     

    Disabling the Propagation of ODR Stub Routing Information

    ODR uses Cisco Discovery Protocol to carry minimal routing information between the hub and stub routers, allowing stub routers to send IP prefixes to the hub router. Perform the steps in this task to disable the propagation of ODR stub routing information by disabling CDP.

    SUMMARY STEPS

      1.    enable

      2.    configure terminal

      3.    no cdp run


    DETAILED STEPS
       Command or ActionPurpose
      Step 1 enable


      Example:
      Router> enable
       

      Enables privileged EXEC mode.

      • Enter your password if prompted.

       
      Step 2 configure terminal


      Example:
      Router# configure terminal
       

      Enters global configuration mode.

       
      Step 3 no cdp run


      Example:
      Router(config)# no cdp run
       

      Disables Cisco Discovery Protocol.

       

      Disabling the Propagation of ODR Stub Routing Information on a Specified Interface

      On stub routers that support the ODR feature, the stub router advertises IP prefixes corresponding to the IP networks configured on all directly connected interfaces. Perform the steps in this task to disable the propagation of ODR stub routing information on a specified interface.

      SUMMARY STEPS

        1.    enable

        2.    configure terminal

        3.    interface type number

        4.    no cdp enable


      DETAILED STEPS
         Command or ActionPurpose
        Step 1 enable


        Example:
        Router> enable
         

        Enables privileged EXEC mode.

        • Enter your password if prompted.

         
        Step 2 configure terminal


        Example:
        Router# configure terminal
         

        Enters global configuration mode.

         
        Step 3 interface type number


        Example:
        Router(config)# interface GigabitEthernet 0/0/0
         

        Configures an interface type and enters interface configuration mode.

         
        Step 4 no cdp enable


        Example:
        Router(config-if)# no cdp enable
         

        Disables Cisco Discovery Protocol on an interface.

         

        Filtering ODR Information

        The hub router will attempt to populate the IP routing table with ODR routes as they are learned dynamically from stub routers. The IP next hop for these routes is the IP address of the neighboring router as advertised through Cisco Discovery Protocol. Use IP filtering to limit the network prefixes that the hub router will permit to be learned dynamically through ODR.

        In this example, the ACL filters the following Class A network prefixes:

        access-list 101 permit 10.48.0.3
        access-list 101 deny 10.48.0.0  0.0.255.255 
        access-list 101 permit 10.0.0.0  0.255.255.255 
        interface gigabitethernet 0/0/0
         ip access-group 2 in
        

        To filter ODR information, perform the steps in this task.

        SUMMARY STEPS

          1.    enable

          2.    configure terminal

          3.    access-list access-list-number {deny | permit} source [source-wildcard] [log]

          4.    access-list access-list-number {deny | permit} source [source-wildcard] [log]

          5.    access-list access-list-number {deny | permit} source [source-wildcard] [log]

          6.    router odr

          7.    distribute-list [[access-list-number | name] | [route-map map-tag]] in [interface-type | interface-number]


        DETAILED STEPS
           Command or ActionPurpose
          Step 1 enable


          Example:
          Router> enable
           

          Enables privileged EXEC mode.

          • Enter your password if prompted.

           
          Step 2 configure terminal


          Example:
          Router# configure terminal
           

          Enters global configuration mode.

           
          Step 3 access-list access-list-number {deny | permit} source [source-wildcard] [log]


          Example:
          Router(config)# access-list 101 permit 10.48.0.3
           

          Access-list 101 permits the IP address 10.48.0.3.

           
          Step 4 access-list access-list-number {deny | permit} source [source-wildcard] [log]


          Example:
          Router(config)# access-list 101 deny 10.48.0.0  0.0.255.255
           

          Access-list 101 denies the IP address 10.48.0.0 0.0.255.255.

           
          Step 5 access-list access-list-number {deny | permit} source [source-wildcard] [log]


          Example:
          Router(config)# access-list 101 permit 10.0.0.0  0.255.255.255
           

          Access-list 101 permits the IP address 10.0.0.0 0.255.255.255.

           
          Step 6 router odr

          Example:
          Router(config)# router odr
           

          Enables ODR and enters router configuration mode.

           
          Step 7 distribute-list [[access-list-number | name] | [route-map map-tag]] in [interface-type | interface-number]


          Example:
          Router(config-router)# distribute-list 101 in 
           

          Filters ODR information on the hub router.

           

          Redistributing ODR Information into the Dynamic Routing Protocol of the Hub

          The exact command syntax needed to redistribute ODR information into the dynamic routing protocol of the hub depends upon the routing protocol into which ODR is being redistributed. See the "Redistributing Routing Information" section in the "Configuring IP Routing Protocol-Independent Features" module for further information.

          Reconfiguring Cisco Discovery Protocol or ODR Timers

          By default, Cisco Discovery Protocol sends updates every 60 seconds. This update interval may not be frequent enough to provide fast reconvergence of IP routes on the hub router side of the network. A faster reconvergence rate may be necessary if the stub connects to one of several hub routers via asynchronous interfaces such as modem lines.

          ODR expects to receive periodic Cisco Discovery Protocol updates containing IP prefix information. When ODR fails to receive such updates for routes that it has installed in the routing table, these ODR routes are first marked invalid and eventually removed from the routing table. (By default, ODR routes are marked invalid after 180 seconds and are removed from the routing table after 240 seconds.) These defaults are based on the default Cisco Discovery Protocol update interval. Configuration changes made to either the Cisco Discovery Protocol or ODR timers should be reflected through changes made to both.

          To reconfigure Cisco Discovery Protocol or ODR timers, perform the steps in this task.

          SUMMARY STEPS

            1.    enable

            2.    configure terminal

            3.    cdp timer seconds

            4.    router odr

            5.    timers basic update invalid holddown flush sleeptime


          DETAILED STEPS
             Command or ActionPurpose
            Step 1 enable


            Example:
            Router> enable
             

            Enables privileged EXEC mode.

            • Enter your password if prompted.

             
            Step 2 configure terminal


            Example:
            Router# configure terminal
             

            Enters global configuration mode.

             
            Step 3 cdp timer seconds


            Example:
            Router(config)# cdp timer 80
             

            Specifies how often the Cisco IOS XE software sends Cisco Discovery Protocol updates.

             
            Step 4 router odr

            Example:
            Router(config)# router odr
             

            Enables ODR and enters router configuration mode.

             
            Step 5 timers basic update invalid holddown flush sleeptime


            Example:
            Router(config-router)# timers basic 5 15 15 30
             

            Adjusts ODR network timers.

             

            Using Dialer Map Statements to Direct Cisco Discovery Protocol Broadcast Packets

            For interfaces that specify dialer mappings, Cisco Discovery Protocol packets will make use of dialer map configuration statements that pertain to the IP protocol. Because Cisco Discovery Protocol packets are always broadcast packets, these dialer map statements must handle broadcast packets, typically through use of the dialer map command with the broadcast keyword. The dialer string command in interface configuration mode may also be used.

            On dial-on-demand (DDR) routing interfaces, certain kinds of packets can be classified as interesting. These interesting packets can cause a DDR connection to be made or cause the idle timer of a DDR interface to be reset. For the purposes of DDR classification, Cisco Discovery Protocol packets are considered uninteresting. This classification occurs even while Cisco Discovery Protocol is making use of dialer map statements for IP, where IP packets are classified as interesting.

            The following task describes how to use dialer map statements to direct Cisco Discovery Protocol broadcast packets.

            or

            dialer string dial-string [: isdn-subaddress]

            SUMMARY STEPS

              1.    enable

              2.    configure terminal

              3.    interface type number

              4.    Do one of the following:

              • dialer map protocol-keyword protocol-next-hop-address [broadcast | class dialer-map-class-name | modem-script modem-regular-expression | vrf vrf-name | name host-name | spc | speed 56 | speed 64 | system-script system-regular-expression | dial-string[: isdn-subaddress]]
              • dialer string dial-string [: isdn-subaddress]


            DETAILED STEPS
               Command or ActionPurpose
              Step 1 enable


              Example:
              Router> enable
               

              Enables privileged EXEC mode.

              • Enter your password if prompted.

               
              Step 2 configure terminal


              Example:
              Router# configure terminal
               

              Enters global configuration mode.

               
              Step 3 interface type number


              Example:
              Router(config)# interface async 1/0/0
               

              Configures an interface type, and enters interface configuration mode.

               
              Step 4Do one of the following:
              • dialer map protocol-keyword protocol-next-hop-address [broadcast | class dialer-map-class-name | modem-script modem-regular-expression | vrf vrf-name | name host-name | spc | speed 56 | speed 64 | system-script system-regular-expression | dial-string[: isdn-subaddress]]
              • dialer string dial-string [: isdn-subaddress]


              Example:
              Router(config)# dialer map ip 172.19.2.5 speed 56
               

              Configures an asynchronous interface to call multiple sites or to receive calls from multiple sites.

              Specifies the string (telephone number) to be called for interfaces calling a single site.

               

              Configuration Examples for On-Demand Routing

              Enabling ODR and Filtering ODR Information Example

              The following example shows how to enable ODR on a Cisco router and enable filtering of ODR information. The configuration example for filtering ODR information causes the hub router to accept only advertisements for IP prefixes about (or subnets of) the Class C network 192.168.1.0:

              Router(config)# access-list 101 permit ip host 10.0.0.1 192.168.1.0 0.0.0.255
               
              Router(config)# access-list 101 permit ip 10.0.10.2 255.0.0.0 192.168.2.0 0.0.0.255 
              Router(config)# router odr 
              Router(config-router)# distribute-list 101 in 
              Router(config-router)# end 

              Disabling ODR on a Specified Interface Example

              The following example shows how to disable ODR on an interface:

              Router# configure terminal
              Router(config)# interface GigabitEthernet 0/0/0
              
              Router(config-if)# no cdp enable

              Additional References

              Related Documents

              Related Topic

              Document Title

              Cisco Discovery Protocol features

              "Using Cisco Discovery Protocol" chapter of the Cisco IOS XE Network Management Configuration Guide, Release 2

              ODR commands

              "On-Demand Routing Commands" chapter of the Cisco IOS IP Routing: ODR Command Reference.

              Cisco IOS master command list, all releases

              Cisco IOS Master Command List, All Releases

              Standards

              Standard

              Title

              No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.

              --

              MIBs

              MIB

              MIBs Link

              No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified by this feature.

              To locate and download MIBs for selected platforms, Cisco IOS XE software releases, and feature sets, use Cisco MIB Locator found at the following URL:

              http:/​/​www.cisco.com/​go/​mibs

              RFCs

              RFC

              Title

              No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.

              --

              Technical Assistance

              Description

              Link

              The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

              http:/​/​www.cisco.com/​cisco/​web/​support/​index.html

              Feature Information for Configuring On-Demand Routing

              The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

              Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.
              Table 1 Feature Information for Configuring On-Demand Routing

              Feature Name

              Releases

              Feature Information

              On-Demand Routing

              10.0

              12.2(1)

              12.2(2)T

              15.3(1)S

              The On-Demand Routing (ODR) feature provides IP routing for stub sites, with minimum overhead.