On Mon, Jun 07, 2010 at 09:12:44PM +0200, Rolf Sommerhalder wrote: > > Yeah, the packets are dropped in the POP case of mpls_input.c that's how > > far I got until now. I started with a fix but my magic is not strong > > enough for now. > > After taking a look at the source, I essentially backed out changes > done in rev. 1.10 /src/usr.sbin/ldpd/kroute.c . > > Now my test setup works *somehow* even though the LFIB still shows > that LDP applies PHP: > > [r...@p2:root]# ldpctl sh lfib 3.2.1.1 > flags: * = valid, C = Connected, S = Static > Flags Destination Nexthop Local Label Remote Label > *R 3.2.1.0/30 2.2.1.2 20 Pop > > > But the kernel routing table is different, e.g. it applies no PHP but > does SWAP the labels, as desired : > > [r...@p2:root]# route -n show -mpls > Routing tables > > MPLS: > In label Out label Op Gateway Flags Refs Use > Mtu Prio Interface > 3 - LOCAL 127.0.0.1 UGT 0 0 > 33200 56 lo0 > 16 - LOCAL 10.7.0.254 UGT 0 0 > - 56 udav0 > 17 3 SWAP 1.1.2.1 UGT 0 0 > - 56 vr2 > 18 3 SWAP 1.1.2.1 UGT 0 30 > - 56 vr2 > 19 19 SWAP 1.1.2.1 UGT 0 0 > - 56 vr2 > 20 3 SWAP 2.2.1.2 UGT 0 30 > - 56 vr0 <==
This actually causes the implicit null label to become explicit. I don't think this you want that. > Also, the RTT for the pings is approx. 150 ms (and increasing) which > should be in the 1 ms range: I guess the packet is doing some extra loops. As I said I know where the problem is but it is far harder to fix then expecetd. -- :wq Claudio

