PPPoE Server on FreeBSD


I would like to run PPPoE Server on FreeBSD, in FreeBSD handbook it's configuring FreeBSD as client only and I've read ppp(8), but unfortunately for me it's very hard to understand luckily it's mentioned /usr/share/examples/ppp/ppp.conf.sample as example. so I found PPPoE server example which it didn't work.
# ppp supports ppp over ethernet (PPPoE).  Beware, many PPP servers cache
# the MAC address that connects to them, making it impossible to switch
# your PPPoE connection between machines.
# The current implementation requires Netgraph, so it doesn't work with
# OpenBSD or NetBSD.
# The client should be something like this:
 set device PPPoE:de0:pppoe-in
 enable lqr echo
 set cd 5
 set dial
 set login
 set redial 0 0

# And the server should be running
#   /usr/libexec/pppoed -p pppoe-in fxp0
# See rc.conf(5)
 allow mode direct                              # Only for use on server-side
 enable lqr echo proxy                          # Enable LQR and proxy-arp
 enable chap pap passwdauth                     # Force client authentication
 set ifaddr      # Hand out up to 100 IP numbers
 accept dns                                     # Allow DNS negotiation

So any idea about what I've missed? plus I didn't find any howto at google
And I wonder if the pppd built-in FreeBSD or net/mpd5 is better option and why, thank you for your continues support


I never tried to operate a PPPoE server, so can't really write anything helpful here – but there seems to be kind of a "cargo cult" around mpd5 for whatever reason, you'll find a lot of ppl recommending it for PPPoE client (with your typical ISP DSL), claiming base ppp(8) wouldn't work. Well, my experience with that is very different, it works perfectly fine, I could even configure it to handle a sometimes flaky line quite gracefully (and, properly monitor it). So, given that, I'm also a bit sceptical about statements like this:
AFAIK, net/mpd5 the best PPTP/L2TP server. Don't use embedded PPPoE server.
Don't get me wrong, this could be helpful advice, but then, it would really be nice to add an explanation why (and, if possible, some reference...).
mpd5 provides better transfer rates and uses less cpu than ppp (i assume it does that because (at least) nat is done in kernel rather than userland)
on less than 100Tx probably you wont notice but on 1000tx links the diff is obvious
Additionally, mpd has such features:
- web and console admin for monitoring incoming connections (+ auth)
- proxy-arp
- up/down scripts (uses, when you need to add/delete some routes)
- interface descriptions (when you watch ifconfig output)
- L2TP (if your ISP blocks GRE proto or you need to use DNAT, because your VPN server inside LAN)