Thread: [Linux-vrf-general] Loopback address and scalability problems in VRF
Status: Beta
Brought to you by:
jleu
From: Yue L. <yu...@gm...> - 2007-11-30 00:27:07
|
Hi, James and VRF users, We are doing experiment of large scale routing protocol testing using VRF and XORP. We want to run multiple XORP instances on a single machine, each XORP instance resides in one VRF. We use VRF because it is much more light weight than virtual machines. The VRF version we are using is 0.900. Now we found two problems: 1. As known, XORP adopts a multi-process architecture, the processes (belong to one XORP instance) bind to different port numbers and communicate through the loopback address 127.0.0.1. But it seems that there is no loopback address in VRFs (other than 0). Because many network applications are using this default loopback address I think this limitation may hinder a lot of applications to run on top of VRF. 2. The current version has a scalability limit, so we can not create more than 7 VRFs. So I wonder whether there is a new version or patch which can solve the two problems above. I am grateful for any of your suggestions. Thanks. - Yue |
From: James R. L. <jl...@mi...> - 2007-11-30 01:47:24
|
You can create dummy interfaces and assign them to a VRF and then assign it the address 127.0.0.1/8. In /etc/modprobe.conf: alias dummy1 dummy install dummy1 insmod dummy -o dummy1 Then: ip link set dev dummy1 vrf 1 up ip addr add 127.0.0.1/8 dev dummy1 As far as increasing the number of VRFs, you could try to raise the VRF_MAX value, but I heard of issue with the kernel not booting if you make it too big. I am currently working on reimplementing the VRF patch on a 2.6.23 kernel which will have a limit of 2^31 - 1 number of VRFs (signed int) It still has a long way to go, so you should probably look at different ways to test your scalability. On Thu, Nov 29, 2007 at 07:27:04PM -0500, Yue Li wrote: > Hi, James and VRF users, > We are doing experiment of large scale routing protocol testing using VRF > and XORP. We want to > run multiple XORP instances on a single machine, each XORP instance resid= es > in one VRF. We use VRF because it is much more light weight than virtual > machines. The VRF version we are using is 0.900. Now we found two problem= s: > 1. As known, XORP adopts a multi-process architecture, the processes (bel= ong > to one XORP instance) bind to different port numbers and communicate thro= ugh > the loopback address 127.0.0.1. But it seems that there is no loopback > address in VRFs (other than 0). Because many network applications are usi= ng > this default loopback address I think this limitation may hinder a lot of > applications to run on top of VRF. >=20 > 2. The current version has a scalability limit, so we can not create more > than 7 VRFs. >=20 > So I wonder whether there is a new version or patch which can solve the t= wo > problems above. I am grateful for any of your suggestions. Thanks. >=20 > - Yue --=20 James R. Leu jl...@mi... |
From: Yue L. <yu...@gm...> - 2007-11-30 21:16:27
|
Hi, James, Thanks for your advices. I followed your suggestions, insert the dummy module, associate the dummy intf to VRF 1, and assign 127.0.0.1/8 to it. But when I ping 127.0.0.1 in VRF 1, I get no response. There is a route in VRF 1 : "127.0.0.0/8 dev dummy0 proto kernel scope link src 127.0.0.1 vrf 1" but it seems that the dummy intf doesn't act as a loopback intf, so the XORP processes can not communicate through it. So I wonder whether I need to add some policy into iptables or change the dummy module a little bit. 2007/11/29, James R. Leu <jl...@mi...>: > > You can create dummy interfaces and assign them to a VRF and then > assign it the address 127.0.0.1/8. > > In /etc/modprobe.conf: > > alias dummy1 dummy > install dummy1 insmod dummy -o dummy1 > > Then: > > ip link set dev dummy1 vrf 1 up > ip addr add 127.0.0.1/8 dev dummy1 > > As far as increasing the number of VRFs, you could try to raise the > VRF_MAX value, but I heard of issue with the kernel not booting if you > make it too big. > > I am currently working on reimplementing the VRF patch on a 2.6.23 kernel > which will have a limit of 2^31 - 1 number of VRFs (signed int) > > It still has a long way to go, so you should probably look at different > ways to test your scalability. > > On Thu, Nov 29, 2007 at 07:27:04PM -0500, Yue Li wrote: > > Hi, James and VRF users, > > We are doing experiment of large scale routing protocol testing using > VRF > > and XORP. We want to > > run multiple XORP instances on a single machine, each XORP instance > resides > > in one VRF. We use VRF because it is much more light weight than virtual > > machines. The VRF version we are using is 0.900. Now we found two > problems: > > 1. As known, XORP adopts a multi-process architecture, the processes > (belong > > to one XORP instance) bind to different port numbers and communicate > through > > the loopback address 127.0.0.1. But it seems that there is no loopback > > address in VRFs (other than 0). Because many network applications are > using > > this default loopback address I think this limitation may hinder a lot > of > > applications to run on top of VRF. > > > > 2. The current version has a scalability limit, so we can not create > more > > than 7 VRFs. > > > > So I wonder whether there is a new version or patch which can solve the > two > > problems above. I am grateful for any of your suggestions. Thanks. > > > > - Yue > > -- > James R. Leu > jl...@mi... > > |