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

Reply via email to