Static / Policy routing to subnet down PPPoE client connection
I am trying to setup a pfSense 2.0.1 (x64) box for use as an ISP test rig.
The box is connected to an IPDSLAM which pipes PPP packets into the LAN NIC of the pfSense on VLAN 38. I have created a VLAN interface on the LAN NIC called "LAN038", and on this interface I have enabled the PPPoE Server functionality. I then added firewall rules to allow the traffic outbound to the WAN connection, which is a simple DHCP allocated interface.
My setup is working fine for simple NAT'd CPE setups using PPP - a typical CPE setup in the UK/Europe. However, when I want to do a Subnet Routed CPE setup things start to go wrong. In this mode, the CPE has a subnet behind it, typically a /29 or /28 subnet, and its WAN IP is usually the first address in the range - often referred to as an Inclusive Subnet configuration. In order to make this work, I assign an IP to a user in the PPPoE Server GUI, then add this IP as a gateway in the Routing GUI. I then add a Static Route to the subnet, through the gateway IP.
If the PPP link with the CPE is already up, then the routing work fine. However, if the link is down OR goes down, and then is reestablished then the static route is not added to the routing table. To solve this, I simply have to open the static route page, edit the route to the subnet (change nothing) and click "Save". This then re-adds the route to the table.
I tried to use policy routing, to avoid the static routing bug above, but I think I either misunderstood the setup of it - or it simply isn't the right way to do it.
Could anyone offer me some advise on solving this - I have considered rebuilding my own pfSense firmware to support autocreating the routes for a PPP link on bring-up, and having to specify an IP/Subnet in the GUI instead of just an IP, eg 10.0.0.1/29 = give 10.0.0.1 to the CPE and route 10.0.0.0/29 through it, for example.