Hi List, As a SDN startup(www.raydonetworks.com) in China, we have implemented pppoeclient support for vpp based on opensource pppd project (https://ppp.samba.org/).
The code have been written and tested on vpp stable branch 17.10, it have been tested in two cities, one is Wuhan, Hubei province, China telecom ISP + China mobile ISP, the other is Suzhou, Jiangsu province, China telecom ISP. It support lcp/ipcp/pap/chap protocol defined in the pppoe related RFCs. The main design breaks the pppoclient implementation to pppoeclient and pppox plugin in vpp semantics, pppoeclient plugin provides api to create pppoe client and pppoe encap/decap nodes, pppox plugin provides api to set pppoe authentication information and node for interacting with IPv4 layer. More details can be discovered by looking at the code at github which provided by the link below. To create a pppoeclient, we just need the following two CLI: # sw-if-index is the ethernet interface sw if index which connected to the ISP modem. vppctl create pppoe client sw-if-index 1 host-uniq 8888 # sw-if-index is the newly created pppox virtual interface's sw if index vppctl pppox set auth sw-if-index 4 username "yourusername" password "yourpassword" Regarding the license issue, the pppd code following the original author's license, the other part follow vpp's APACHE license. Hope this will help others which want to use pppoeclient The code is submitted to github: https://github.com/raydonetworks/vpp-pppoeclient Currently we are building our product and does not have much effort to porting this code to mainline, hope someone use this and may merge it to the vpp mainline if possible. Thanks again for vpp team which provide such a gorgeous project.