Category Archives: routing

MPLS/RSVP configuration & troubleshooting #2

In my previous post MPLS/RSVP configuration & troubleshooting I have configured two LSPs between two MPLS routers. Now I will continue where I left off. Just one thing I must inform you that MPLS labels in the previous post won’t match this post as I restarted my routers. We will again use the same topology;

mpls_ospf_rsvp

Previously we had two LSPs but didn’t know what to do with them. Now we will see how we can make use of them. When we create the LSP, one new routing table inet.3 will be populated.

inet.3 is the MPLS routing table. Once an LSP is established, you can find it here. You can see this table in an Ingress MPLS router but not in transit one in which you can see mpls.0 switching table populated.

BGP has very close connection with this table. For example, the network 98.1.1.0/24 has been discovered via IBGP from J40 to J35. This means protocol next hop is 10.1.1.8 address. BGP first look in the inet.3 table and if it finds 10.1.1.8 there, it will install the physical next hop in inet.0

Continue reading

MPLS/RSVP configuration & troubleshooting #1

I would like to show how I configured my MPLS cloud with RSVP signaling in this post. This is the first post of my RSVP,MPLS/VPNs series. I will use the topology below throughout my posts. In a real world MPLS core, things may be different but this is just a lab.

mpls_ospf_rsvp

I have a provider MPLS core (AS8500) and several customers A,B,C,D
with different AS numbers. Addressing is as it is depicted in the picture.

RSVP as the label distribution protocol dynamically establishes Label Switching Paths (LSP) and it is fundamental to MPLS which uses this information to create its forwarding tables. Here  I use OSPF to discover the paths, which means your network must already have a working OSPF for RSVP to function properly.

Below are the steps I have taken to configure this label distribution protocol plus MPLS on top of it. I am also sharing the problems I have experienced on the way. I still lack tons of things on these protocols and the more I learn the more I see how it is immense and not easy to digest.
We have to start somewhere, let’s begin with RSVP.

Continue reading

routing instances and rib-groups

Here is a short routing instance and rib-group configuration. I assume you have configured routing instance named “untrust”

Configure routing instance
root@host# show routing-instances
untrust {
    instance-type virtual-router;
    interface ge-0/0/1.0;
}
Display Routes
root@host> show route
inet.0: 6 destinations, 6 routes (3 active, 0 holddown, 3 hidden)
+ = Active Route, – = Last Active, * = Both
0.0.0.0/0          *[Static/4] 22:54:24
                    > to 172.30.72.1 via ge-0/0/0.0
172.30.72.0/23     *[Direct/0] 23:49:01
                    > via ge-0/0/0.0
172.30.73.79/32    *[Local/0] 23:49:01
                      Local via ge-0/0/0.0
untrust.inet.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
192.168.4.0/24     *[Direct/0] 00:35:19
                    > via ge-0/0/1.0
192.168.4.1/32     *[Local/0] 00:35:19
                      Local via ge-0/0/1.0
We have two routing tables but how we can share routes in between? here it is
[edit routing-options]
root@host# show
interface-routes {
    rib-group inet myshare;
}
rib-groups {
    myshare {
        import-rib [ inet.0 untrust.inet.0 ];
    }
}
We created rib-groups and applied on interface-routes section by which we let untrust.inet.0 table to access routes on master instance.
root@host> show route
inet.0: 6 destinations, 6 routes (3 active, 0 holddown, 3 hidden)
+ = Active Route, – = Last Active, * = Both
0.0.0.0/0          *[Static/4] 22:59:19
                    > to 172.30.72.1 via ge-0/0/0.0
172.30.72.0/23     *[Direct/0] 23:53:56
                    > via ge-0/0/0.0
172.30.73.79/32    *[Local/0] 23:53:56
                      Local via ge-0/0/0.0
untrust.inet.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
172.30.72.0/23     *[Direct/0] 00:02:20
                    > via ge-0/0/0.0
172.30.73.79/32    *[Local/0] 00:02:20
                      Local via ge-0/0/0.0
192.168.4.0/24     *[Direct/0] 00:40:14
                    > via ge-0/0/1.0
192.168.4.1/32     *[Local/0] 00:40:14
                      Local via ge-0/0/1.0