On Mon, Jun 07, 2010 at 09:12:44PM +0200, Rolf Sommerhalder wrote:
quoted text > > 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:
>
> [root@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 :
>
> [root@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.
quoted text > 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