Thread: [mpls-linux-general] ldp_linux don't work for README.sample environment!
Status: Beta
Brought to you by:
jleu
|
From: Morvan D. <mo...@so...> - 2002-06-11 04:18:40
|
Hello all!
I want to make ldp-linux work for this simple testbed:
My testbed configuration is:
hostA LERA CORE LERB hostB
10.1.0.2/24----10.1.0.1/24 10.2.1.1/24----10.2.1.2/24
10.1.1.2/24-----10.1.1.1/24 10.2.0.1/24----10.2.0.2/24
I'am using only host static routes to make hostA and hostB are reacheable to each other.
Static Routes added at:
LERA:
route add 10.2.1.2/32 gw 10.1.0.1
LERB:
route add 10.1.1.2/32 gw 10.2.0.1
CORE:
route add 10.1.1.2/32 gw 10.1.0.2
route add 10.2.1.2/32 gw 10.2.0.2
For tests I use the command "traceroute" with:
IP_only (ip_forwarding)
LDP: "mpls-adm" and "ldp-linux".
I were Waiting this Results:
traceroute -n from hostA to host B: may show 4 hops with standard IP, an 3 hops with LDP (mpls_adm or ldp_linux).
For IP (ip_forwarding only) it's ok - 4 hops.
For LDP using "mpls_adm" it's ok - 3 hops
For LDP using "ldp_linux" IT NEVER WORK!!!!!!!!!!
I see that "ldp_linux" only create the LSP for one direction (from A to B)!
Like documentation "ldp_linux" create LSPs basead on the L3 information (so, static routes created above should result in LSPs created in two directions)!
I follow README.sample commands, but for the sample environment it too don't work!
If some one in this mailing list had sucessfull configured "ldp_linux" in such environment
or like README.sample and the LSPs are dinamically create for two directions, please let me know!
Morvan.
|
|
From: James R. L. <jl...@mi...> - 2002-06-11 15:31:56
|
The problem you are seeing (LSP setup in one direction) is a know problem. I'm working on a fix in the zebra<->ldp-portable version (grab it from CVS to see the progress thus far) Jim On Tue, Jun 11, 2002 at 01:20:42AM -0300, Morvan Daniel M=FCller wrote: > Hello all! >=20 > I want to make ldp-linux work for this simple testbed: >=20 > My testbed configuration is: > hostA LERA CORE LERB hostB > 10.1.0.2/24----10.1.0.1/24 10.2.1.1/24----10.2.1.2/2= 4 > 10.1.1.2/24-----10.1.1.1/24 10.2.0.1/24----10.2.0.2/24 =20 >=20 > I'am using only host static routes to make hostA and hostB are reacheab= le to each other. > Static Routes added at: > LERA: > route add 10.2.1.2/32 gw 10.1.0.1 > LERB: > route add 10.1.1.2/32 gw 10.2.0.1 > CORE: > route add 10.1.1.2/32 gw 10.1.0.2 > route add 10.2.1.2/32 gw 10.2.0.2 > =20 > For tests I use the command "traceroute" with: > IP_only (ip_forwarding) > LDP: "mpls-adm" and "ldp-linux". >=20 > I were Waiting this Results: > traceroute -n from hostA to host B: may show 4 hops with standard IP, a= n 3 hops with LDP (mpls_adm or ldp_linux). >=20 > For IP (ip_forwarding only) it's ok - 4 hops. > For LDP using "mpls_adm" it's ok - 3 hops > For LDP using "ldp_linux" IT NEVER WORK!!!!!!!!!!=20 > =20 > I see that "ldp_linux" only create the LSP for one direction (from A to= B)! > Like documentation "ldp_linux" create LSPs basead on the L3 information= (so, static routes created above should result in LSPs created in two di= rections)! >=20 > I follow README.sample commands, but for the sample environment it too = don't work!=20 >=20 > If some one in this mailing list had sucessfull configured "ldp_linux" = in such environment > or like README.sample and the LSPs are dinamically create for two direc= tions, please let me know! >=20 > Morvan. >=20 > _______________________________________________________________ >=20 > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas - http://devcon.sprintpcs.com/adp/index.cfm?s= ource=3Dosdntextlink >=20 > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general --=20 James R. Leu |
|
From: Igor V. <ch...@fl...> - 2002-06-11 18:51:18
|
Hello,
I've tried out several modes of operation for ldp-linux and I'm having some
rather problematic results.
The setup I used was:
LER1---------------------LSR1---------------------LER2
192.168.20.200 192.168.20.201 192.168.19.206
192.168.19.204
All machines mpls-linux 0.996 patched kernel 2.4.12, ldp-portable CVS (a few
weeks ago)
Firstly, when I changed from Downstream Unsolicited to Downstream on Demand
mode, after adding global and interface, ldp crashes. I browsed through
mailing list archives and found Amish Verna's message from 2002-04-11, the
same thing happened to him but there was no reply. Is there a solution to
this problem?
Another thing I tried was testing whether ldp really works in Ordered
control mode, as the default is Ordered, but I found that it is not so. It
behaves as if it works in Independent mode! Let me explain my test:
In the setup above, the routing was:
LER1:
route add -host 192.168.20.201 gw 192.168.20.201
route add -host 192.168.19.203 gw 192.168.20.201
LSR1:
route add 192.168.20.200 gw 192.168.20.200
route add 192.168.19.206 gw 192.168.19.206
route add 192.168.19.203 gw 192.168.19.206
LER2:
route add 192.168.19.204 gw 192.168.19.204
The LDP session was first setup between LSR1 and LER2. After that the LDP
session was setup between LSR1 and LER1.
Note that 192.168.19.203 is a *fictional* FEC for which the LER1, when
working in the Independent mode, should get a label for, from the LSR1.
But when working in the Ordered mode, the LSR1 *must not* send any labels to
LER1 for a FEC 192.168.19.203 since LER2, the next hop LSR for that FEC
(from LSR1's point of view) didn't yet send labels for that FEC. (It didn't
send and it won't send because I never added that route in the routing
table, on purpose).
But, I noticed a label mapping message originated from LSR1 to LER1 with a
label for a FEC 192.168.19.203.
(I grabbed it with Ethereal, and can present it if neccessary).
The result on LER1:
voip5:/home/igor# cat /proc/net/mpls_fec
40005403 192.168.19.203/32
40006003 192.168.20.201/32
voip5:/home/igor# cat /proc/net/mpls_out
40005403 0/0/0 PUSH(gen 21) SET(lec0,192.168.20.201)
40006003 102/6222/0 PUSH(gen 24) SET(lec0,192.168.20.201)
According to RFC3036:
" When using LSP ordered control, an LSR may initiate the transmission
of a label mapping only for a FEC for which it has a label mapping
for the FEC next hop, or for which the LSR is the egress. For each
FEC for which the LSR is not the egress and no mapping exists, the
LSR MUST wait until a label from a downstream LSR is received before
mapping the FEC and passing corresponding labels to upstream LSRs."
Is LSR1 the Egress for a FEC 192.168.19.203?
According to RFC3036:
" An LSR may act as an egress LSR, with respect to a particular FEC,
under any of the following conditions:
1. The FEC refers to the LSR itself (including one of its directly
attached interfaces).
2. The next hop router for the FEC is outside of the Label
Switching Network.
3. FEC elements are reachable by crossing a routing domain
boundary, such as another area for OSPF summary networks, or
another autonomous system for OSPF AS externals and BGP routes"
Obviously none of the 1,2, or 3 applies. Therefore the LSR1 is not the
egress for that particular FEC, and it didn't yet receive the mapping from
the FEC next hop. It shouldn't have sent the label mapping message.
According to the RFC, the fact that LSR1 works in Unsolicited label
distribution mode, doesn't change above facts; It only means the LSR1 is
responsible for sending labels upstream to the LER1, (doesn't wait for the
label request from LER1); In Downstream on Demand mode, the LER1 would be
responsible for those labels (by sending label request messages to LSR1).
Sincerely,
Igor Vukomanovic
P.S.
Some additional info :
On LSR1, the result was also OK :
voip4:/# cat /proc/net/mpls_out
40004402 72/4560/0 PUSH(gen 17) SET(eth0,192.168.19.206)
40004803 38/2681/0 PUSH(gen 18) SET(lec0,192.168.20.200)
voip4:/# cat /proc/net/mpls_fec
40004402 192.168.19.206/32
40004803 192.168.20.200/32
However, on LER2 there were no out labels or fec's. I guess this is the
known problem of one-way LSP Morvan Daniel Muller and some other people
encountered. However, if I add:
route add -host 192.168.20.200 gw 192.168.19.204
on LER2, it would create an out label for the FEC 192.168.20.200 ! (still no
labels for 192.168.19.204 though).
(Just a piece of curious information).
|
|
From: James R. L. <jl...@mi...> - 2002-06-19 05:18:30
|
Interesting. After I have chance to finish the ldp-portable/zebra integration I will work on debugging the differnt modes of operation. Jim On Tue, Jun 11, 2002 at 08:51:48PM +0200, Igor Vukomanovic wrote: > Hello, > > I've tried out several modes of operation for ldp-linux and I'm having some > rather problematic results. > The setup I used was: > > LER1---------------------LSR1---------------------LER2 > 192.168.20.200 192.168.20.201 192.168.19.206 > 192.168.19.204 > > All machines mpls-linux 0.996 patched kernel 2.4.12, ldp-portable CVS (a few > weeks ago) > > Firstly, when I changed from Downstream Unsolicited to Downstream on Demand > mode, after adding global and interface, ldp crashes. I browsed through > mailing list archives and found Amish Verna's message from 2002-04-11, the > same thing happened to him but there was no reply. Is there a solution to > this problem? > > Another thing I tried was testing whether ldp really works in Ordered > control mode, as the default is Ordered, but I found that it is not so. It > behaves as if it works in Independent mode! Let me explain my test: > In the setup above, the routing was: > LER1: > route add -host 192.168.20.201 gw 192.168.20.201 > route add -host 192.168.19.203 gw 192.168.20.201 > > LSR1: > route add 192.168.20.200 gw 192.168.20.200 > route add 192.168.19.206 gw 192.168.19.206 > route add 192.168.19.203 gw 192.168.19.206 > > LER2: > route add 192.168.19.204 gw 192.168.19.204 > > The LDP session was first setup between LSR1 and LER2. After that the LDP > session was setup between LSR1 and LER1. > > Note that 192.168.19.203 is a *fictional* FEC for which the LER1, when > working in the Independent mode, should get a label for, from the LSR1. > But when working in the Ordered mode, the LSR1 *must not* send any labels to > LER1 for a FEC 192.168.19.203 since LER2, the next hop LSR for that FEC > (from LSR1's point of view) didn't yet send labels for that FEC. (It didn't > send and it won't send because I never added that route in the routing > table, on purpose). > But, I noticed a label mapping message originated from LSR1 to LER1 with a > label for a FEC 192.168.19.203. > (I grabbed it with Ethereal, and can present it if neccessary). > > The result on LER1: > > voip5:/home/igor# cat /proc/net/mpls_fec > 40005403 192.168.19.203/32 > 40006003 192.168.20.201/32 > > voip5:/home/igor# cat /proc/net/mpls_out > 40005403 0/0/0 PUSH(gen 21) SET(lec0,192.168.20.201) > 40006003 102/6222/0 PUSH(gen 24) SET(lec0,192.168.20.201) > > According to RFC3036: > > " When using LSP ordered control, an LSR may initiate the transmission > of a label mapping only for a FEC for which it has a label mapping > for the FEC next hop, or for which the LSR is the egress. For each > FEC for which the LSR is not the egress and no mapping exists, the > LSR MUST wait until a label from a downstream LSR is received before > mapping the FEC and passing corresponding labels to upstream LSRs." > > Is LSR1 the Egress for a FEC 192.168.19.203? > > According to RFC3036: > > " An LSR may act as an egress LSR, with respect to a particular FEC, > under any of the following conditions: > 1. The FEC refers to the LSR itself (including one of its directly > attached interfaces). > 2. The next hop router for the FEC is outside of the Label > Switching Network. > 3. FEC elements are reachable by crossing a routing domain > boundary, such as another area for OSPF summary networks, or > another autonomous system for OSPF AS externals and BGP routes" > > Obviously none of the 1,2, or 3 applies. Therefore the LSR1 is not the > egress for that particular FEC, and it didn't yet receive the mapping from > the FEC next hop. It shouldn't have sent the label mapping message. > > According to the RFC, the fact that LSR1 works in Unsolicited label > distribution mode, doesn't change above facts; It only means the LSR1 is > responsible for sending labels upstream to the LER1, (doesn't wait for the > label request from LER1); In Downstream on Demand mode, the LER1 would be > responsible for those labels (by sending label request messages to LSR1). > > Sincerely, > > Igor Vukomanovic > > P.S. > Some additional info : > On LSR1, the result was also OK : > > voip4:/# cat /proc/net/mpls_out > 40004402 72/4560/0 PUSH(gen 17) SET(eth0,192.168.19.206) > 40004803 38/2681/0 PUSH(gen 18) SET(lec0,192.168.20.200) > > voip4:/# cat /proc/net/mpls_fec > 40004402 192.168.19.206/32 > 40004803 192.168.20.200/32 > > However, on LER2 there were no out labels or fec's. I guess this is the > known problem of one-way LSP Morvan Daniel Muller and some other people > encountered. However, if I add: > > route add -host 192.168.20.200 gw 192.168.19.204 > > on LER2, it would create an out label for the FEC 192.168.20.200 ! (still no > labels for 192.168.19.204 though). > > (Just a piece of curious information). > > > _______________________________________________________________ > > Multimillion Dollar Computer Inventory > Live Webcast Auctions Thru Aug. 2002 - http://www.cowanalexander.com/calendar > > > > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general -- James R. Leu |
|
From: Morvan D. <mo...@so...> - 2002-06-14 14:15:39
|
Hi Jim!
I try to compile zebra today 14/06/2002, 8:30am, with ldp-portable=
zebra_ldp.diff patch without successful!
# history
1001 cd ~morvan/
1002 cd cvs/
1007 pwd
1008 CVSROOT=3D":pserver:an...@an...:/cvsroot"
1009 export CVSROOT
1010 cvs login
1011 cvs login
1012 cvs -z3 -d:pserver:an...@an...:/cvsroot co zebra
1013 cvs -z3=
-d:pserver:ano...@cv...:/cvsroot/mpls-linux co=
ldp-portable
1014 cp -pR zebra ldp-portable /usr/src
1015 cd /usr/src/zebra/
1016 patch -p1 < ../ldp-portable/zebra-ldp.diff > patch.log 2>&1
1018 cat patch.log | more
* LAST cvs zebra version show some problems with this patch!
* I have one cvs zebra version from 25-mai-2002 that's ok for this=
patch!
1019 cd mplsd/
1020 vi ./create-links=20
* SRC=3D/usr/src/ldp-portable/lib
1021 chmod 755 ./create-links
1022 ./create-links=20
1023 cd ..
1024 ./configure
1025 cd mplsd/
1026 make all > make_1.log 2>&1
1027 cat make_1.log=20
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_fib.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_ifmgr.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_lock.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_mm.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_mpls.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_policy.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_socket.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_timer.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_tree.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c in-instr.c
In file included from in-instr.c:8:
out-segment.h:4:24: linux/mpls.h: No such file or directory
In file included from in-instr.c:9:
in-segment.h:4:24: linux/mpls.h: No such file or directory
In file included from in-instr.c:10:
in-instr.h:4:24: linux/mpls.h: No such file or directory
in-instr.c:16:24: linux/mpls.h: No such file or directory
make: *** [in-instr.o] Error 1
I TRY this bellow solution without successfull!
1031 mkdir /usr/src/zebra/linux
1032 cp -p /usr/src/linux/include/linux/mpls.h /usr/src/zebra/linux
1033 make clean
1034 make all > make_2.log 2>&1
1035 cat make_2.log=20
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_fib.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_ifmgr.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_lock.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_mm.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_mpls.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_policy.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_socket.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_timer.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c impl_tree.c
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../lib =
-g -O2 -Wall -c in-instr.c
in-instr.c: In function `do_mplsd_in_instr':
in-instr.c:102: warning: passing arg 2 of `mos2ml' from incompatible pointer=
type
in-instr.c:117: `SIOCSMPLSININSTR' undeclared (first use in this function)
in-instr.c:117: (Each undeclared identifier is reported only once
in-instr.c:117: for each function it appears in.)
make: *** [in-instr.o] Error 1
Do you know what's the problem?
Cheers,=20
Morvan.
At 11:33 11/06/2002 -0500, James R. Leu wrote:
>The problem you are seeing (LSP setup in one direction) is a know
>problem. I'm working on a fix in the zebra<->ldp-portable version
>(grab it from CVS to see the progress thus far)
>
>Jim
>
>On Tue, Jun 11, 2002 at 01:20:42AM -0300, Morvan Daniel M=FCller wrote:
>> Hello all!
>>=20
>> I want to make ldp-linux work for this simple testbed:
>>=20
>> My testbed configuration is:
>> hostA LERA CORE LERB hostB
>> 10.1.0.2/24----10.1.0.1/24 10.2.1.1/24----10.2.1.2/24
>> 10.1.1.2/24-----10.1.1.1/24 10.2.0.1/24----10.2.0.2/24 =20
>>=20
>> I'am using only host static routes to make hostA and hostB are reacheable=
to each other.
>> Static Routes added at:
>> LERA:
>> route add 10.2.1.2/32 gw 10.1.0.1
>> LERB:
>> route add 10.1.1.2/32 gw 10.2.0.1
>> CORE:
>> route add 10.1.1.2/32 gw 10.1.0.2
>> route add 10.2.1.2/32 gw 10.2.0.2
>> =20
>> For tests I use the command "traceroute" with:
>> IP_only (ip_forwarding)
>> LDP: "mpls-adm" and "ldp-linux".
>>=20
>> I were Waiting this Results:
>> traceroute -n from hostA to host B: may show 4 hops with standard IP, an=
3 hops with LDP (mpls_adm or ldp_linux).
>>=20
>> For IP (ip_forwarding only) it's ok - 4 hops.
>> For LDP using "mpls_adm" it's ok - 3 hops
>> For LDP using "ldp_linux" IT NEVER WORK!!!!!!!!!!=20
>> =20
>> I see that "ldp_linux" only create the LSP for one direction (from A to=
B)!
>> Like documentation "ldp_linux" create LSPs basead on the L3 information=
(so, static routes created above should result in LSPs created in two=
directions)!
>>=20
>> I follow README.sample commands, but for the sample environment it too=
don't work!=20
>>=20
>> If some one in this mailing list had sucessfull configured "ldp_linux" in=
such environment
>> or like README.sample and the LSPs are dinamically create for two=
directions, please let me know!
>>=20
>> Morvan.
>>=20
>> _______________________________________________________________
>>=20
>> Don't miss the 2002 Sprint PCS Application Developer's Conference
>> August 25-28 in Las Vegas -=
http://devcon.sprintpcs.com/adp/index.cfm?source=3Dosdntextlink
>>=20
>> _______________________________________________
>> mpls-linux-general mailing list
>> mpl...@li...
>> https://lists.sourceforge.net/lists/listinfo/mpls-linux-general
>
>--=20
>James R. Leu
>
|
|
From: James R. L. <jl...@mi...> - 2002-06-19 05:10:17
|
It is looking for the kernel header file <linux/mpls.h> which is located in /usr/src/linux/include/linux. Try adding -I /usr/src/linux/include/li= nux to the CFLAGs (where /usr/src/linux is where your patched version of the kernel resides). Jim On Fri, Jun 14, 2002 at 11:17:43AM -0300, Morvan Daniel M=FCller wrote: > Hi Jim! >=20 > I try to compile zebra today 14/06/2002, 8:30am, with ldp-portable zebr= a_ldp.diff patch without successful! >=20 > # history > 1001 cd ~morvan/ > 1002 cd cvs/ > 1007 pwd > 1008 CVSROOT=3D":pserver:an...@an...:/cvsroot" > 1009 export CVSROOT > 1010 cvs login > 1011 cvs login > 1012 cvs -z3 -d:pserver:an...@an...:/cvsroot co zebra > 1013 cvs -z3 -d:pserver:ano...@cv...:/cvs= root/mpls-linux co ldp-portable > 1014 cp -pR zebra ldp-portable /usr/src > 1015 cd /usr/src/zebra/ > 1016 patch -p1 < ../ldp-portable/zebra-ldp.diff > patch.log 2>&1 > 1018 cat patch.log | more > * LAST cvs zebra version show some problems with this patch! > * I have one cvs zebra version from 25-mai-2002 that's ok for th= is patch! > 1019 cd mplsd/ > 1020 vi ./create-links=20 > * SRC=3D/usr/src/ldp-portable/lib > 1021 chmod 755 ./create-links > 1022 ./create-links=20 > 1023 cd .. > 1024 ./configure > 1025 cd mplsd/ > 1026 make all > make_1.log 2>&1 > 1027 cat make_1.log=20 >=20 > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_fib.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_ifmgr.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_lock.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_mm.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_mpls.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_policy.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_socket.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_timer.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_tree.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c in-instr.c > In file included from in-instr.c:8: > out-segment.h:4:24: linux/mpls.h: No such file or directory > In file included from in-instr.c:9: > in-segment.h:4:24: linux/mpls.h: No such file or directory > In file included from in-instr.c:10: > in-instr.h:4:24: linux/mpls.h: No such file or directory > in-instr.c:16:24: linux/mpls.h: No such file or directory > make: *** [in-instr.o] Error 1 >=20 > I TRY this bellow solution without successfull! >=20 > 1031 mkdir /usr/src/zebra/linux > 1032 cp -p /usr/src/linux/include/linux/mpls.h /usr/src/zebra/linux > 1033 make clean > 1034 make all > make_2.log 2>&1 > 1035 cat make_2.log=20 >=20 > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_fib.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_ifmgr.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_lock.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_mm.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_mpls.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_policy.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_socket.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_timer.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c impl_tree.c > gcc -DHAVE_CONFIG_H -DSYSCONFDIR=3D\"/usr/local/etc/\" -I.. -I.. -I../l= ib -g -O2 -Wall -c in-instr.c > in-instr.c: In function `do_mplsd_in_instr': > in-instr.c:102: warning: passing arg 2 of `mos2ml' from incompatible po= inter type > in-instr.c:117: `SIOCSMPLSININSTR' undeclared (first use in this functi= on) > in-instr.c:117: (Each undeclared identifier is reported only once > in-instr.c:117: for each function it appears in.) > make: *** [in-instr.o] Error 1 >=20 > Do you know what's the problem? >=20 > Cheers,=20 >=20 > Morvan. >=20 >=20 > At 11:33 11/06/2002 -0500, James R. Leu wrote: > >The problem you are seeing (LSP setup in one direction) is a know > >problem. I'm working on a fix in the zebra<->ldp-portable version > >(grab it from CVS to see the progress thus far) > > > >Jim > > > >On Tue, Jun 11, 2002 at 01:20:42AM -0300, Morvan Daniel M=FCller wrote= : > >> Hello all! > >>=20 > >> I want to make ldp-linux work for this simple testbed: > >>=20 > >> My testbed configuration is: > >> hostA LERA CORE LERB hostB > >> 10.1.0.2/24----10.1.0.1/24 10.2.1.1/24----10.2.1.= 2/24 > >> 10.1.1.2/24-----10.1.1.1/24 10.2.0.1/24----10.2.0.2/24 =20 > >>=20 > >> I'am using only host static routes to make hostA and hostB are reach= eable to each other. > >> Static Routes added at: > >> LERA: > >> route add 10.2.1.2/32 gw 10.1.0.1 > >> LERB: > >> route add 10.1.1.2/32 gw 10.2.0.1 > >> CORE: > >> route add 10.1.1.2/32 gw 10.1.0.2 > >> route add 10.2.1.2/32 gw 10.2.0.2 > >> =20 > >> For tests I use the command "traceroute" with: > >> IP_only (ip_forwarding) > >> LDP: "mpls-adm" and "ldp-linux". > >>=20 > >> I were Waiting this Results: > >> traceroute -n from hostA to host B: may show 4 hops with standard IP= , an 3 hops with LDP (mpls_adm or ldp_linux). > >>=20 > >> For IP (ip_forwarding only) it's ok - 4 hops. > >> For LDP using "mpls_adm" it's ok - 3 hops > >> For LDP using "ldp_linux" IT NEVER WORK!!!!!!!!!!=20 > >> =20 > >> I see that "ldp_linux" only create the LSP for one direction (from A= to B)! > >> Like documentation "ldp_linux" create LSPs basead on the L3 informat= ion (so, static routes created above should result in LSPs created in two= directions)! > >>=20 > >> I follow README.sample commands, but for the sample environment it t= oo don't work!=20 > >>=20 > >> If some one in this mailing list had sucessfull configured "ldp_linu= x" in such environment > >> or like README.sample and the LSPs are dinamically create for two di= rections, please let me know! > >>=20 > >> Morvan. > >>=20 > >> _______________________________________________________________ > >>=20 > >> Don't miss the 2002 Sprint PCS Application Developer's Conference > >> August 25-28 in Las Vegas - http://devcon.sprintpcs.com/adp/index.cf= m?source=3Dosdntextlink > >>=20 > >> _______________________________________________ > >> mpls-linux-general mailing list > >> mpl...@li... > >> https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > >--=20 > >James R. Leu > > --=20 James R. Leu |
|
From: Morvan D. <mo...@so...> - 2002-06-19 20:21:04
|
Hi Jim!
I'am using kernel 2.4.12 patched with the last mpls-linux cvs version!
I too get ldp-portable today from cvs.
About zebra I'm using an cvs version from 26/mai/2002, because the today version on zebra cvs show erros applying the ldp-portable/zebra-ldp.diff patch.
I try your suggestion (include in CFLAGS) but zebra compilation show other errors (as bellow):
make[2]: Leaving directory `/usr/src/zebra/ospfd'
Making all in mplsd
make[2]: Entering directory `/usr/src/zebra/mplsd'
gcc -DHAVE_CONFIG_H -DSYSCONFDIR=\"/usr/local/etc/\" -I.. -I.. -I../lib -I/usr/src/linux/include/linux -g -O2 -Wall -c impl_fib.c
In file included from /usr/include/bits/types.h:143,
from /usr/include/stdio.h:35,
from ../lib/zebra.h:34,
from ../mplsd/impl_socket.h:4,
from ../mplsd/ldp_handle_type.h:13,
from ../mplsd/ldp_struct.h:277,
from ../mplsd/ldp.h:4,
from impl_fib.c:1:
/usr/include/bits/pthreadtypes.h:48: parse error before `size_t'
/usr/include/bits/pthreadtypes.h:48: warning: no semicolon at end of struct or union
/usr/include/bits/pthreadtypes.h:51: parse error before `__stacksize'
/usr/include/bits/pthreadtypes.h:51: warning: data definition has no type or storage class
/usr/include/bits/pthreadtypes.h:52: warning: data definition has no type or storage class
In file included from /usr/include/_G_config.h:44,
from /usr/include/libio.h:30,
from /usr/include/stdio.h:64,
from ../lib/zebra.h:34,
from ../mplsd/impl_socket.h:4,
from ../mplsd/ldp_handle_type.h:13,
from ../mplsd/ldp_struct.h:277,
from ../mplsd/ldp.h:4,
from impl_fib.c:1:
/usr/include/gconv.h:71: parse error before `size_t'
/usr/include/gconv.h:84: parse error before `size_t'
/usr/include/gconv.h:93: parse error before `size_t'
/usr/include/gconv.h:169: parse error before `size_t'
/usr/include/gconv.h:169: warning: no semicolon at end of struct or union
/usr/include/gconv.h:172: parse error before `}'
/usr/include/gconv.h:172: warning: data definition has no type or storage class
In file included from /usr/include/libio.h:30,
from /usr/include/stdio.h:64,
from ../lib/zebra.h:34,
from ../mplsd/impl_socket.h:4,
from ../mplsd/ldp_handle_type.h:13,
from ../mplsd/ldp_struct.h:277,
from ../mplsd/ldp.h:4,
from impl_fib.c:1:
/usr/include/_G_config.h:47: field `__cd' has incomplete type
/usr/include/_G_config.h:50: field `__cd' has incomplete type
/usr/include/_G_config.h:53: confused by earlier errors, bailing out
make[2]: *** [impl_fib.o] Error 1
make[2]: Leaving directory `/usr/src/zebra/mplsd'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/zebra'
make: *** [all-recursive-am] Error 2
cheers,
Morvan.
At 01:11 19/06/2002 -0500, you wrote:
>It is looking for the kernel header file <linux/mpls.h> which is located
>in /usr/src/linux/include/linux. Try adding -I /usr/src/linux/include/linux
>to the CFLAGs (where /usr/src/linux is where your patched version of the
>kernel resides).
>
>Jim
>
|
|
From: Igor V. <ch...@fl...> - 2002-06-19 20:35:06
|
Hello all, Consider this setup: LER2------LSR1-------LER1 Let's assume LER2 is the egress for FEC1. LSR1's IP routing table contains FEC1, (with LER2 as a gw). LDP session establishes between LER2 and LSR1, and LER2 transmits a label for FEC1 to LSR1. Now, inside ldp_linux daemon on LSR1, I type prompt>add route FEC1/32 LER1 How does LDP consider this now: a) LER2 is no longer next hop for FEC1, LER1 is the new next hop for FEC1 b) LER1 and LER2 are both valid next hops for FEC1 ? I tested this setup. If LER1 is also the egress for FEC1, and LDP session establishes between LER1 and LSR1, I get 2 labels for the same FEC on LSR1. I tested this in conservative retention mode, but I'm uncertain how ldp understands the "add route" inside the daemon. If a) is the case, then LSR1 should issue a label release message for the FEC, which it does not. Thanks in advance, Igor Vukomanovic |