This question is not about Router Configuration. I am a professional Network Engineer (games dev as a hobby).
I am interested in programming a software based router on a bare bones Linux installation on an old PC that has multiple NICs. I don't want to use built in Linux functionality like iptables or anything like that. I would like to do sockets based program and do all the processing in my own code and forward out appropriate interfaces. This is for a learning, research, and fun aspect for me. Yes I find these kinds of things fun.
Can anyone point me in the right direction as to how to begin with this? I am aware of all the RFCs and such that document how certain protocols work, I am interested in articles on how to begin with a basic concept. My google-fu is usually strong but most of the results i get back from my searches are about configuring a router or trying to configure a router through c++ code interface to it....not actually building and developing a router.