Re: [mpls-linux-general] Debian GNU/Linux MPLS installation problem
Status: Beta
Brought to you by:
jleu
|
From: James R. L. <jl...@mi...> - 2005-07-18 13:28:05
|
On Mon, Jul 18, 2005 at 10:17:51AM +0300, Razvan Deaconescu wrote: > i tried those packages when i saw it hadn't work (forgot to mention > that); i also checked most of the discution list, but nothing helped; > the same problems arise :-( >=20 > however, the fact that the kernel versions from 2.6.10 on cannot be > patched has nothing to do with Debian (what is involved here is the > mpls support, the linux kernel source code from http://www.kernel.org > and the patch application) Check out the pending patches at http://sf.net/projects/mpls-linux/ I beli= eve there is one for 2.6.10 there. > i think i will try working with an earlier version of mpls-linux to > see if that works; I wouldn't recommend that. There is a reason a newer versions are released, mostly bux fixes. > could you please tell me if it is normal for the two headers mpls.h > and gen_spec.h > not to exist in the /usr/include/linux header folder and to be copied man= ually Yes, because your not using a kernel-headers deb that has been modified for MPLS-linux. > thanks, > Razvan >=20 >=20 >=20 > On 7/17/05, James R. Leu <jl...@mi...> wrote: > > Please see my recent post about debian packages. > >=20 > > On Sun, Jul 17, 2005 at 04:43:32PM +0300, Razvan Deaconescu wrote: > > > Hi everybody, > > > > > > we are trying to install MPLS support on some Linux machines and to g= et as > > > many things working as we can; we began with configuring the kernel a= n testing > > > the mpls utility using the iproute2 application suite; we chose the D= ebian > > > GNU/Linux distribution because we are quite accustomed to it and we c= an proceed > > > much faster with this project. > > > > > > However we ran into many problems some of which we were able to solve. > > > I will make quite a detailed presentation of the things we did so far= because > > > we don't want to miss anything important, in case anyone can help us. > > > > > > First of all, if anyone has managed to install a functional MPLS supp= ort on a > > > Debian GNU/Linux distribution we kindly ask him/her to tell us the st= eps that > > > he/she followed and where we went wrong. > > > > > > Ok, here it goes. > > > > > > We used Debian GNU/Linux 3.1 Sarge as our base system. We used the ne= twork > > > install minimal CD available at > > > http://cdimage.debian.org/debian-cd/3.1_r0a/i386/iso-cd/debian-31r0a-= i386-netinst.iso > > > > > > After the installation, the first thing we had to do was compiling th= e kernel > > > with MPLS support. We used the latest available patch mpls-linux-1.94= 6a. > > > We used (as a test) 4 different kernel versions, namely 2.6.9, 2.6.10, > > > 2.6.11.12 and 2.6.12.2. > > > > > > This is where we ran into some of our problems: only the 2.6.9 versio= n of the > > > kernel could be successfully patched; these are the links where you c= an find > > > output for the patch applied to the 2.6.9, 2.6.10, 2.6.11.12 and 2.6.= 12.2 kernel > > > versions. > > > > > > 2.6.9: http://atlantis.cs.pub.ro/~razvand/output-2.6.9 > > > 2.6.10: http://atlantis.cs.pub.ro/~razvand/output-2.6.10 > > > 2.6.11.12: http://atlantis.cs.pub.ro/~razvand/output-2.6.11.12 > > > 2.6.12.2: http://atlantis.cs.pub.ro/~razvand/output-2.6.12.2 > > > > > > Because we didn't want to loose to much time, we chose the 2.6= .9 > > > kernel version. We did a > > > # make menuconfig > > > and added all the options presented in the QUICK.START help file. > > > > > > Afterwards, we compiled the kernel the Debian way (via make-dp= kg) > > > and created a debian package containing the compiled kernel image. We= installed > > > the image, restarted the machine and booted the new kernel. Everythin= g went > > > smoothly. The next step was testing our kernel for MPLS support. > > > By the way, we also tried compiling the 2.6.11.12 kernel (even= though > > > the patching failed). But, as we anticipated, the mpls files attached= in the > > > net/mpls directory were not compiled within the kernel (due to the fa= ct that > > > the Makefile in the net/ directory itself couldn't be patched). > > > > > > Back to our 2.6.9 kernel, we browsed to the net/mpls/ directory > > > and found that the mpls files were indeed compiled and thus inserted = in the > > > new kernel. We were left with testing mpls support inside this new ke= rnel. > > > As the mplsadm utility is now obsolete, we decided to try the iproute= 2 with > > > MPLS patching (in order to use the mpls command). > > > > > > We used the RPM source package available at > > > http://sourceforge.net/projects/mpls-linux > > > > > > Because Debian also has RPM support we could install the iprou= te2 > > > rpm source package; this contained iproute2-2.6.9 and also various pa= tches. > > > We patched iproute2 (everything went fine). > > > > > > But when we tried to compile it, a lot of compilation errors e= merged. > > > All of them were: "_SOME_KIND_OF_VARIABLE_OR_MACRO_ undeclared". We > > > soon found that the header files mpls.h and gen_spec.h were not prese= nt > > > in /usr/include/linux. > > > I don't know why this happened (or maybe this usually happens)= . So > > > we copied both files from /usr/src/linux/include/linux to /usr/includ= e/linux. > > > We also had to install the db library as our system lacked it. > > > A simple command: > > > # apt-get install lidb4.2-dev > > > solved that problem. > > > > > > After that we managed to compile and install all the iproute2 = utilities, > > > including mpls. > > > > > > What we had to do now was test the mpls utility. We used the e= xample > > > of James Leu located at http://mpls-linux.sourceforge.net/simple.php.= We have > > > four computers connected in a network, so there was no problem choosi= ng two > > > of them to test mpls. > > > The command for uml1 went fine. However the fifth one, namely: > > > # mpls nhlfe show > > > lacked the "push gen 10000 set eth0 ipv4 xxx.xxx.xxx.xxx" part > > > (obviously we were using the eth0 network interface and a private ip = address) > > > The next command: > > > # ip route show > > > clearly showed the new route being added (but we were left wit= h the > > > missing part from the previous command) > > > > > > We moved to the second machine (this is where our problems inc= rease). > > > The third command: > > > # mpls ilm add label gen 10000 labelspace 0 > > > give us "Segmentation fault" > > > the next time we try to run it it just blocks and does nothing= . We > > > were left with debugging these problems. > > > > > > Although, somehow empirical, we used printing in order to get = a grip > > > of the code flow. Thus we managed to find out exactly where our probl= ems take > > > place. > > > > > > I will show the sequence of function call that finally give us > > > Segmentation fault, and then the sequence that give us the blocking c= ommand. > > > > > > We are referring to the iproute2-2.6.9 patched source code. > > > > > > segmentation fault: > > > mpls/mpls.c > > > int main (void) -> do_ilm -> mpls_ilm_modify -> rtnl_talk > > > (lib/libnetlink.c) -> status =3D send_msg (rtnl->fd, &msg, 0); > > > this is the line where it cracks :-) > > > > > > blocking command: > > > mpls/mpls.c > > > int main (void) -> ll_init_map (&rth1) (lib/ll_map.c) -> > > > -> rtnl_dump_filter (lib/libnetlink.c) -> > > > -> status =3D recvmsg (rth->fd, &msg, 0); > > > this is the line where it blocks > > > > > > we am not sure if the failure of this command has anything to do with= the > > > failure of the command for uml1 (# mpls nhlfe show - which lacks part= of the > > > message) > > > > > > to make matter worse, we think the problem may affect the kernel; aft= er the > > > segmentation fault message, any attempt to shut down or reboot the ma= chine > > > will end up in a block with the following message: > > > Deactivating swap ... umount: tmps busy > > > - remounted read-only > > > done. > > > unmounting local filesystems ... umount: > > > tmpfs busy - remounted read only > > > umount: /: device is busy > > > done. > > > mount: / is busy > > > Rebooting ... > > > > > > right here it hangs (have to restart it manually) > > > > > > Many other thing stop working actually, so the problem may > > > affect the kernel > > > a bit more. > > > > > > We are sorry for the long message, but we wanted to show in de= tail > > > everything we have done so that it may be easier for others to spot t= he problem > > > and help us. > > > > > > Thank you very much, > > > Razvan & Dorin > > > > > > > > > ------------------------------------------------------- > > > SF.Net email is sponsored by: Discover Easy Linux Migration Strategies > > > from IBM. Find simple to follow Roadmaps, straightforward articles, > > > informative Webcasts and more! Get everything you need to get up to > > > speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id=16492&op?k > > > _______________________________________________ > > > mpls-linux-general mailing list > > > mpl...@li... > > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > >=20 > > -- > > James R. Leu > > jl...@mi... > >=20 > >=20 > > >=20 >=20 > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration Strategies > from IBM. Find simple to follow Roadmaps, straightforward articles, > informative Webcasts and more! Get everything you need to get up to > speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id=16492&op?k > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general --=20 James R. Leu jl...@mi... |