06-30-2008 02:27 AM
Hi,
I'm pretty new with Juniper routers, but have been working for a long time with Cisco routers. I kindly ask to all forum partecipants how I can, as in Cisco routers, activate two (or more) different OSPF processes on the router. In Cisco routers there the concept of process-ID which I couldn't find in Juniper routers.
I tried using different routing instances on my J-series routers following some ideas in the JUNOS Routing Configuration Guide but I didn't obtain the expected results. I don't whether it can depend on JUNOS release which is a little bit old (7.1).
Can anybody give me an idea ?
Thanks a lot in advance.
Tiziano
Solved! Go to Solution.
06-30-2008 06:28 AM
Hi Tiziano,
routing-instances are definitely the way to go. You can create a routing-instance for each of the OSPF "processes" you want. Each of those routing-instances will have associated interfaces. You can then configure OSPF within the routing-instance and associate the interfaces with the OSPF area. Then you should be able to see the neighbours with...
show ospf neighbor instance $your-instance-name$
...and the routing table for your instance with...
show route table $your-instance-name$.inet.0
You may want to exchange routing information with the main routing-instance by using rib-groups. You can do the following...
routing-options {
rib-groups {
my-rib {
import-ribs [ my-instance.inet.0 inet.0 ];
}
}
}
routing-instances {
my-instance {
interface so-0/0/0.0;
interface ge-1/0/0.0;
rib-group my-rib;
protocols {
ospf {
area 0.0.0.0 {
interface so-0/0/0.0;
interface ge-1/0/0.0;
}
}
}
}
}
I hope that gives you some pointers.
Rgds,
Guy
07-01-2008 02:11 AM
Hi Guy,
thanks a lot for your answer. As a matter of fact, as I wrote in my post, I tried the way you suggested but probably I made some configuration error or my JUNOS release (7.1) was too old. I will try again on some router with latest release.
I have just one more question. Reading the example on JUNOS Routing Configuration Guide, I noted that there was no reference to the "instance-type". Also, in your suggestion there no mention on that. Is there a default "instance-type" ?
Thanks a lot for your kind cooperation.
Tiziano
07-01-2008 02:18 AM
Hi Tiziano,
You're certainly right that 7.1 is pretty old code. I'd recommend going with the newest code that will fit/run on your hardware. The requirements for the flash drive size went up to 1GB with 9.1 so that rules out a lot of older boxes. However, I managed to run 9.0 on 256MB on a J2320.
Yes, there is a default instance-type (no-forwarding). This is actually the type you need for the behaviour you're looking for. It simply creates a separate RIB but you have to leak the info (using rib-groups) into inet.0 in order to forward based on the info. You are still able to maintain separate distribution of the info in the routing-instance (as long as you don't leak info back from inet.0 ;-) by maintaining separate neighbours on the interfaces associated with your routing-instance.
Rgds,
Guy
07-01-2008 02:29 AM
Hi Guy,
I thank you very much for your prompt, clear and exhaustive answers and suggestions.
I have a couple of new J-series routers equipped with release 9.0. I wil try on them and let you know.
Regards,
Tiziano
07-01-2008 06:10 AM
Hi Guy,
I tried your solution and now everything seems to work as I expected. On a router (say, Router-A) I created a routing instance and an OSPF adjacency with another router (say, Router-B). Also, on Router-B I created a normal OSPF adjacency with another router (Router-C). On Router-B I passed routes from routing table "instance-name.inet.0" to table inet.0. To let this routes distributed via OSPF to Router-C (to emulate what Cisco routers do) I used a simple routing policy:
[edit policy-options policy-statement RED-OSPF]
from protocol ospf;
then accept;
and everything worked fine. Router-B generated e few Type 5 LSA to distribute routes, which where received by Router-C.
Do you know any better way to do it ?
Thanks a lot for your kind cooperation.
Regards.
Tiziano
07-01-2008 06:23 AM
Hi Tiziano,
Do you need to actually redistribute manually between the routing-instances? If you set the rib-groups with the import-ribs [ instance-name.inet.0 inet.0 ] on Router B, then you should see the prefixes from instance-name.inet.0 on Router B also in inet.0.
Rgds,
Guy
07-01-2008 06:49 AM
Hi Guy,
as a matter of fact I see Router-A prefixes also on inet.0, thanks to the import from "instance-name.inet.0" to inet.0. To let the explanation simpler, here is my configuration:
[edit routing-options]
tt@ROUTER-B# show
rib-groups {
AAA {
import-rib [ OSPF-CE.inet.0 inet.0 ];
}
}
router-id 192.168.0.111;
[edit routing-instances]
tt@ROUTER-B# show
OSPF-CE {
interface fe-0/0/1.11;
protocols {
ospf {
rib-group AAA;
area 0.0.0.111 {
interface fe-0/0/1.11; #adjacency to ROUTER-A#
}
}
}
}
[edit protocols ospf]
tt@ROUTER-B# show
area 0.0.0.11 {
interface fe-0/0/0.0; #adjacency to ROUTER-C#
interface lo0.0 {
passive;
}
}
With this configuration I see prefixes coming from ROUTER-A to both the inet.0 and OSPF-CE.inet.0 routing tables, but I do not see them on routing table inet.0 of ROUTER-C. As a matter of fact I could not see any Type 5 LSA on OSPF database of ROUTER-B.
Adding the following configuration:
[edit policy-options policy-statement RED-OSPF]
tt@ROUTER-B# show
from protocol ospf;
then accept;
[edit protocols ospf]
tt@ROUTER-B# show
export RED-OSPF;
the prefixes from ROUTER-A were announced to ROUTER-C via Type 5 LSA.
Therefore I think that some kind of redistribution is needed. What do you think about ? Is there something I am missing ?
Again thanks for your kindness.
Regards,
Tiziano
07-01-2008 07:04 AM
Hi Tiziano,
Try doing the following...
set routing-options interface-routes rib-group inet AAA
set routing-instances OSPF-CE routing-options interface-routes rib-group inet AAA
That will put the interface prefixes for both of the routing-instances into the RIBs in rib-group AAA.
Rgds,
Guy
07-01-2008 07:20 AM
Guy,
I tried but it did not work !!!
Bye,
Tiziano