Junos OS

Expand all | Collapse all

difference between "no-forwarding" vs "virtual-router"

Jump to Best Answer
  • 1.  difference between "no-forwarding" vs "virtual-router"

    Posted 12-26-2011 12:43

    Dears,

    What is the difference between "routing-instance no-forwarding" and "routing-instance virtual-router"

     

    Thanks

    BR,

    Sherif Ismail


    #routing-instanceno-forwardingvsvirtual-router


  • 2.  RE: difference between "no-forwarding" vs "virtual-router"

    Posted 12-26-2011 13:34

     

    Hello Sherif,

     

     Please check KB16081 . Although it mainly talks about EX series, the information with regards to routing-instance types are valid for all JUNOS platforms, to my knowledge.

     

     HTHs,

     Erdem



  • 3.  RE: difference between "no-forwarding" vs "virtual-router"

    Posted 12-26-2011 22:23

    Thanks Erdem for your reply

     

    So both do same function but difference that "virtual router" has forwarding table but "non forwarding" has none

    So what does this mean ? Does this means that non forwarding do not use h/w routing ?

     

    -------------------Quote----------------

    Non Forwarding- Use this routing instance type when a separation of routing table information is required. There is no corresponding forwarding table. All routes are installed into the default forwarding tables. IS-IS instances are strictly non forwarding instance types.

     

    Virtual Router - Similar to a VPN routing and forwarding instance type, but used for non-VPN-related applications. There are no virtual routing and forwarding (VRF) import, VRF export, VRF target, or route distinguisher requirements for this instance type

    -------------------Unquote----------------

     

    Thanks

    BR,

    Sherif Ismail



  • 4.  RE: difference between "no-forwarding" vs "virtual-router"
    Best Answer

    Posted 12-27-2011 06:01

    Hello Sherif,

     

     For a non-forwarding instance type, there is no "separate" forwarding table created, hence "All routes are installed into the default forwarding tables"  as it says in the KB. In other words, forwarding information for a non-forwarding instance will be stored in the default forwarding tables (e.g. inet.0)

     

     A separate forwarding table would be created for, say, a L3VPN. If you use virtual-router as the instance-type, a separate forwarding table is still created without the requirement for vrf-import|vrf-export, RT etc.

     

     Take a look at the following example:

     

    [edit routing-instances]
    erdems@dogbert# show 
    NOFWD {
        instance-type no-forwarding;
        interface fe-0/0/3.40;
    }
    VROUTER {
        instance-type virtual-router;
        interface lo0.2;
    }
    VPN {
        instance-type vrf;
        interface lo0.1;
        route-distinguisher 192.168.10.1:1001;
        vrf-target target:65007:1001;
    }
    #
    erdems@dogbert# show interfaces fe-0/0/3.40
    vlan-id 40;
    family inet {
        address 172.16.5.5/30;
    }

    [edit]
    erdems@dogbert# show interfaces lo0
    unit 0 {
        family inet {
            address 192.168.10.1/32;
        }
        family iso {
            address 49.0001.1921.6801.0001.00;
        }
    }
    unit 1 {
        family inet {
            address 172.16.1.1/32;
        }
    }
    unit 2 {
        family inet {
            address 172.16.2.2/32;
        }
    }


       

    Now let's see how the forwarding tables look like:

     

     

    erdems@dogbert# run show route forwarding-table summary | match table 
    Routing table: inet <<<<<<<<<< the default routing table for ipv4 prefixes
    Routing table: __juniper_private1__.inet
    Routing table: __juniper_private2__.inet
    Routing table: VROUTER.inet <<<<<<<<<< the virtual-router instance type
    Routing table: VPN.inet <<<<<<<<<< this is our vrf.
    Routing table: iso
    Routing table: VROUTER.iso <<<<<<<<<< the virtual-router instance type
    Routing table: VPN.iso <<<<<<<<<<<<< this is our vrf.
    Routing table: inet6 <<<<<<<<<< the default routing table for ipv6 prefixes
    Routing table: __juniper_private1__.inet6
    Routing table: VROUTER.inet6 <<<<<<<<<< the virtual-router instance type
    Routing table: VPN.inet6 <<<<<<<<<<<<< this is our vrf.
    Routing table: mpls

      As you can see, there isn't a separate forwarding table created for routing-instance named NOFWD. In the output below, you can see that the forwarding information for fe-0/0/3.40 (172.16.5.5/30) is installed in inet.0's forwarding table, as the explanation suggests:

     

     

    erdems@dogbert# run show route 172.16.5.5/30 
    
    NOFWD.inet.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    172.16.5.4/30      *[Direct/0] 00:01:53
                        > via fe-0/0/3.40
    172.16.5.5/32      *[Local/0] 00:01:53
                          Local via fe-0/0/3.40
    
    [edit interfaces lo0]
    erdems@dogbert# run show route forwarding-table destination 172.16.5.5/30 
    Routing table: inet
    Internet:
    Destination        Type RtRef Next hop           Type Index NhRef Netif
    172.16.5.4/30      intf     0                    rslv   396     1 fe-0/0/3.40
    
    Routing table: __juniper_private1__.inet
    Internet:
    Destination        Type RtRef Next hop           Type Index NhRef Netif
    default            perm     0                    rjct    61     1
    
    Routing table: __juniper_private2__.inet
    Internet:
    Destination        Type RtRef Next hop           Type Index NhRef Netif
    default            perm     0                    rjct   101     1
    
    Routing table: VROUTER.inet
    Internet:
    Destination        Type RtRef Next hop           Type Index NhRef Netif
    default            perm     0                    rjct   462     1
    
    Routing table: VPN.inet
    Internet:
    Destination        Type RtRef Next hop           Type Index NhRef Netif
    default            perm     0                    rjct   435     1

     

       I hope this clarifies it.

     

      Thanks,

      Erdem



  • 5.  RE: difference between "no-forwarding" vs "virtual-router"

    Posted 12-28-2011 09:18

    Many Thanks Erdems

    That is a great reply 🙂



  • 6.  RE: difference between "no-forwarding" vs "virtual-router"

    Posted 01-19-2013 10:35

    Hello All

    is there any praticular scneario where no-forwaring instance type can be used or come handy ?

     

     

     

     



  • 7.  RE: difference between "no-forwarding" vs "virtual-router"

    Posted 01-20-2013 00:43


  • 8.  RE: difference between "no-forwarding" vs "virtual-router"

    Posted 01-20-2013 15:45

    Thanks a lot !!!!



  • 9.  RE: difference between "no-forwarding" vs "virtual-router"

    Posted 08-24-2018 17:25

    So we can use virtual router for this task.



  • 10.  RE: difference between "no-forwarding" vs "virtual-router"

    Posted 07-31-2015 12:22

    perfect explanations,

    thanks