Dear list, Is there an way to disable PHP, e.g. to prevent ldpd on the last P router from stripping/popping the label before it reaches the PE router?
In my little test network that runs -current as of 03 June, I observe from ldpd's lfib on the last P router that it pops the label on the ingress interface (see output below), but then it never outputs/routes the stripped packet to the egress interface towards the PE router (the use counter of the matching prefix on the P router does not increment, e.g. the P router appears to blackhole the ICMP Echo Request packets). Currently, I am using a very basic setup with RIP as IGP, LDP, without any additional route tables, nor VLANs, pf is disabled on all nodes. I can provide a more detailed description of my lab setup, and output of the various routing tables, etc. However, if there would be an easy way to disable PHP, then that would confirm that my setup is indeed OK (as I have tried to verify manually so far). Thank you, Rolf We ping from another PE router pe11 via two P routers p1 and p2 to another PE router pe21=3.2.1.1: [r...@pe11:root]# ping 3.2.1.1 The label switched packet makes it via another P router p1 to the ingress interface of the last P router p2 just fine: [r...@p2:root]# tcpdump -i vr2 -n tcpdump: listening on vr2, link-type EN10MB 18:34:39.071600 MPLS(label 0x14, exp 0, ttl 254) 2.1.1.2 > 3.2.1.1: icmp: echo request 18:34:40.091795 MPLS(label 0x14, exp 0, ttl 254) 2.1.1.2 > 3.2.1.1: icmp: echo request 18:34:41.111994 MPLS(label 0x14, exp 0, ttl 254) 2.1.1.2 > 3.2.1.1: icmp: echo request According to the LFIB this P router knows it is the Penultimate Hop which directly connects to pe21. Therefore (probably), it pops the label 20: [r...@p2:root]# ldpctl show lfib flags: * = valid, C = Connected, S = Static Flags Destination Nexthop Local Label Remote Label *S 0.0.0.0/0 10.7.0.254 16 - *C 1.1.2.0/29 link#3 imp-null - *R 1.1.3.0/29 1.1.2.1 17 Pop *C 1.2.3.0/29 link#2 imp-null - *R 2.1.1.0/30 1.1.2.1 18 Pop *C 2.2.1.0/30 link#1 imp-null - *R 3.1.1.0/30 1.1.2.1 19 19 *R 3.2.1.0/30 2.2.1.2 20 Pop <== *R 3.2.1.4/30 2.2.1.2 21 Pop *R 3.2.1.8/30 2.2.1.2 22 Pop *R 7.0.0.1/32 1.1.2.1 23 23 * 7.0.0.2/32 7.0.0.2 24 - *R 7.0.0.3/32 1.2.3.3 25 17 *R 7.0.0.11/32 1.1.2.1 26 26 *R 7.0.0.21/32 2.2.1.2 27 26 *C 10.7.0.0/16 link#6 imp-null - *C 127.0.0.0/8 link#0 - - *S 127.0.0.0/8 127.0.0.1 - - * 127.0.0.1/32 127.0.0.1 - - *S 224.0.0.0/4 127.0.0.1 - - * 224.0.0.9/32 127.0.0.1 - - [r...@p2:root]# ripctl show rib Destination Nexthop Cost 1.1.2.0/29 0.0.0.0 1 1.1.3.0/29 1.1.2.1 2 1.2.3.0/29 0.0.0.0 1 2.1.1.0/30 1.1.2.1 2 2.2.1.0/30 0.0.0.0 1 3.1.1.0/30 1.1.2.1 3 3.2.1.0/30 2.2.1.2 2 <== 3.2.1.4/30 2.2.1.2 2 3.2.1.8/30 2.2.1.2 2 7.0.0.1/32 1.1.2.1 2 7.0.0.2/32 7.0.0.2 1 7.0.0.3/32 1.2.3.3 2 7.0.0.11/32 1.1.2.1 3 7.0.0.21/32 2.2.1.2 2 [r...@p2:root]# route -n get 3.2.1.1 route to: 3.2.1.1 destination: 3.2.1.0 mask: 255.255.255.252 gateway: 2.2.1.2 interface: vr0 if address: 2.2.1.1 priority: 40 (rip) flags: <UP,GATEWAY,DONE> use mtu expire 49 0 0 But p2 appears to eat up those packets, instead of forwarding them to the egress interface vr0: [r...@p2:root]# tcpdump -i vr0 -nvv tcpdump: listening on vr0, link-type EN10MB 18:45:53.449355 2.2.1.2.646 > 224.0.0.2.646: [udp sum ok] udp 26 [tos 0xc0] [ttl 1] (id 64128, len 54) 18:45:53.682729 2.2.1.1.646 > 224.0.0.2.646: [udp sum ok] udp 26 [tos 0xc0] [ttl 1] (id 6099, len 54) 18:45:58.460172 2.2.1.2.646 > 224.0.0.2.646: [udp sum ok] udp 26 [tos 0xc0] [ttl 1] (id 6759, len 54) ^C 4 packets received by filter 0 packets dropped by kernel Note that IP forwarding is enabled on all P and PE routers, e.g. sysctl net.inet.ip.forwarding=1 .