Deleting a PPPoE interface shortly after its session comes up can fail the commit with % could not lock candidate DS. In the PPPoE smoketest this aborted the teardown commit of test_pppoe_ipv6_autoconf_without_router_advertisement.
PPPoE installs its IPv4 and IPv6 default routes through vtysh, both during the commit and from the asynchronous ppp ip-up hook. When both run at once, the two FRR configuration sessions compete for the mgmtd candidate datastore lock and the commit loses. The duplication is unnecessary, because vyos-configd already renders and applies the complete FRR configuration at the end of every commit, and that configuration already includes the PPPoE IPv4 default route. The IPv6 default route, however, is missing from the rendered configuration. Since frr-reload removes anything not in the rendered file, the route can be dropped on the next FRR reload.
Proposed fix adds the IPv6 route to the rendered configuration and removes all vtysh calls from the PPPoE code.