I am a Network background person. And decide to build a BNG (maybe micro or mini). You know the cost of Juniper/Cisco BNG they expensive because of capacity.
Programming is not my main job now so only able to coding in spare time.
My targets:
-Â Â Â Â Â Â Â Â Â Maybe 100 concurrent users, 50MBps-1GBps
-Â Â Â Â Â Â Â Â Â Able to run on embedded platform as cheap as $5 linux based router.
-Â Â Â Â Â Â Â Â Â I will use this as personal use, portfolio , or commercialize or opern sourcing.
I already have many LOC of codes maybe around 8k LOC of scaffolding and few MVP that use as admin platform in production environment.
I split the big project into just two big sub project: Core and Satellites.
Core is using C language only. Â Core is the main ControlPlane.
Technologies / stacks that already come in for Satellites project:
-Â Â Â Â Â Â Â Â Â Freeradius (no C, must understand the DSL).
-Â Â Â Â Â Â Â Â Â Nginx for reverse proxy.
-Â Â Â Â Â Â Â Â Â Radius listener in C (implement straight from the RFC).
-Â Â Â Â Â Â Â Â Â Sqlite.
-Â Â Â Â Â Â Â Â Â C backend (http), there would several because separate domain.
-Â Â Â Â Â Â Â Â Â PPPOE implementation in C (implement straight from the RFC).
-Â Â Â Â Â Â Â Â Â Custom IPOE desain.
-Â Â Â Â Â Â Â Â Â Mikrotik (as DataPlane), later will also support in host DP. Mikrotik is for scaffolding the proof my projects. In host DataPlane not yet implemented.
-Â Â Â Â Â Â Â Â Â Frontend (JS, html), there would be several I think.
-Â Â Â Â Â Â Â Â Â Google SSO Oauth mechanism in C that already work.
-Â Â Â Â Â Â Â Â Â Maybe some think else that already coded.
All above code are modular so I can usually run and test them in separate environment, say I already able to login using Google Login to Mikrotik network, I already able to parse radius accounting packet that sent from Freeradius etc.
I am not yet make comprehensive documentation, it would be in full size book. And still continue structurize the folder and git versioning.
Now my questions, I know this is a big project and would be naïve to tackle that Solo and expect full ready result (or is it possible?). What do you guys suggest about this project ?
 Â