More PPPoE server woes. I've been chasing this one behind the scenes in support request 449172, but its slow going, and I'm out of time.
The most recent issue I'm fighting is that a server will sometimes stop advertising OSPF routes for newly-established tunnels. This manifests as a bunch of tunnels which display a total of 54 bytes received, and a "show ip route x.x.x.x" command for the address of the tunnel gives only the default route for the supernet that the client-side /32 is a part of.
The reason we only see 54 bytes is that there is no route for the subscriber -- we can't send traffic to them. Once this begins, typically any future tunnels on that particular router fail to insert a connected route. No route? No OSPF advertisement!
For example:
xxxxx@drt-sdwt-er8p-01:~$ show pppoe-server | grep y.z.12.171 wless-18094-1880 643d17h52m PPPOE pppoes62 y.z.12.171 3 54 16.8K 1.1M
xxxxx@drt-sdwt-er8p-01:~$ show ip route y.z.12.171 Routing entry for y.z.0.0/19 Known via "ospf", distance 110, metric 16, External Route Tag: 0, best Last update 39w5d17h ago * 172.17.116.25, via eth7.393 * 172.17.116.26, via eth7.393
There should be a connected route for that interface -- clearly it exists! Why wouldn't we see a a local route??
I tried something different this morning -- I tried entering a static interface route for the offending interface. On a normal PPPoE tunnel, this works just fine:
xxxxx@drt-sdwt-er8p-01# run show pppoe-server | grep w.x.247.13 wless-17436-1290 00h56m41s PPPOE pppoes0 w.x.247.13 131 17.2K 74 10.0K [edit] xxxxx@drt-sdwt-er8p-01# set protocols static interface-route w.x.247.13/32 next-hop-interface pppoes0 [edit] xxxxx@drt-sdwt-er8p-01# commit [edit] xxxxx@drt-sdwt-er8p-01# show protocols static interface-route w.x.247.13/32 { next-hop-interface pppoes0 { } } [edit]
But if I do the same for a malfunctioning tunnel, I get the following:
xxxxx@drt-sdwt-er8p-01# run show pppoe-server | grep y.z.13.161 wless-17513-1803 00h09m50s PPPOE pppoes72 y.z.13.161 3 54 561 38.1K [edit] xxxxx@drt-sdwt-er8p-01# set protocols static interface-route y.z.13.161/32 next-hop-interface pppoes72 [edit] xxxxx@drt-sdwt-er8p-01# commit [ protocols static ] % Malformed gateway or interface not found [edit]
Something is going on here that is preventing the PPPoE tunnel from getting "built" all the way. Something must be stuck or hung. I'm guessing it's a perl script. I don't know exactly what triggers it. I also don't know how to fix it. Sometimes a reboot works. Sometimes a reboot makes it worse (OSPF reconvergence on neighboring routers). Sometimes a reboot makes it spread to other routers (more OSPF reconvergence).